Add package addons and options
This commit is contained in:
@@ -1,6 +1,44 @@
|
||||
|
||||
const DEFAULT_PACKAGE_IMG = 'static/img/no-photo-package.jpg';
|
||||
|
||||
function extractPrices(wcPackageId, prices) {
|
||||
return prices.map(price => ({
|
||||
idPrice: price.id,
|
||||
idPaymentType: price.id,
|
||||
payType: price['payment_type'],
|
||||
isSameCompanyAsCl: false,
|
||||
idPackage: wcPackageId,
|
||||
periodUnit: price['period_unit'],
|
||||
maxContractPeriod: price['max_contract_period'],
|
||||
packagePayPeriod: price['package_pay_period'],
|
||||
servicesContractPeriod: price['services_contract_period'],
|
||||
fixedExtra: price['minimal_fixed_price'],
|
||||
servicesExtra: price['minimal_services_price'],
|
||||
recurentExtra: price['recurrent_price']
|
||||
}));
|
||||
}
|
||||
|
||||
function extractGroups(wcPackageGroups) {
|
||||
const extractedGroups = {};
|
||||
|
||||
Object.keys(wcPackageGroups).forEach(key => {
|
||||
const group = wcPackageGroups[key];
|
||||
extractedGroups[key] = {
|
||||
groupName: group.name,
|
||||
idGroup: group.id,
|
||||
options: group.options.map(option => ({
|
||||
idOptionPackage: option.id,
|
||||
optionName: option.name,
|
||||
isDefault: option.default,
|
||||
shortDescription: option.description,
|
||||
prices: extractPrices(option.id, option.prices),
|
||||
})),
|
||||
};
|
||||
});
|
||||
|
||||
return extractedGroups;
|
||||
}
|
||||
|
||||
export const fromWCPackage = wcPackage => {
|
||||
return {
|
||||
id: wcPackage.id,
|
||||
@@ -11,22 +49,26 @@ export const fromWCPackage = wcPackage => {
|
||||
country: 'Sweden',
|
||||
countryCode: 'se',
|
||||
currency: 'SEK',
|
||||
documents: [],
|
||||
documents: [
|
||||
{
|
||||
idDocument: 1,
|
||||
documentName: 'test1',
|
||||
extension: '.php'
|
||||
},
|
||||
{
|
||||
idDocument: 2,
|
||||
documentName: 'test2',
|
||||
extension: '.php'
|
||||
}
|
||||
],
|
||||
shortDescription: wcPackage.description,
|
||||
prices: wcPackage.prices.map(price => ({
|
||||
idPrice: price.id,
|
||||
idPaymentType: price.id,
|
||||
payType: price['payment_type'],
|
||||
isSameCompanyAsCl: false,
|
||||
idPackage: wcPackage.id,
|
||||
periodUnit: price['period_unit'],
|
||||
maxContractPeriod: price['max_contract_period'],
|
||||
packagePayPeriod: price['package_pay_period'],
|
||||
servicesContractPeriod: price['services_contract_period'],
|
||||
fixedExtra: price['minimal_fixed_price'],
|
||||
servicesExtra: price['minimal_services_price'],
|
||||
recurentExtra: price['recurrent_price']
|
||||
})) || [],
|
||||
groups: [],
|
||||
prices: extractPrices(wcPackage.id, wcPackage.prices) || [],
|
||||
groups: extractGroups(wcPackage.groups),
|
||||
additionalPackages: wcPackage['additional_packages'].map(additionalPackage =>({
|
||||
idAdditionalPackage: additionalPackage.id,
|
||||
packageName: additionalPackage.name,
|
||||
shortDescription: additionalPackage.description,
|
||||
prices: extractPrices(additionalPackage.id, additionalPackage.prices)
|
||||
})),
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user