addio-admin-sdk 1.7.103 → 1.7.104
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Interfaces/Attribute/index.d.ts +1 -0
- package/dist/Interfaces/CMS/index.d.ts +3 -0
- package/dist/Interfaces/CMS/index.js +3 -0
- package/dist/Interfaces/CMS/index.js.map +1 -1
- package/dist/Interfaces/Cart/index.js +6 -2
- package/dist/Interfaces/Cart/index.js.map +1 -1
- package/dist/Interfaces/CartReservedQuantities/index.d.ts +2 -0
- package/dist/Interfaces/Customer/IStoreCredit.d.ts +1 -0
- package/dist/Interfaces/Customer/index.d.ts +7 -0
- package/dist/Interfaces/Customer/index.js +7 -0
- package/dist/Interfaces/Customer/index.js.map +1 -1
- package/dist/Interfaces/Declination/index.js +8 -2
- package/dist/Interfaces/Declination/index.js.map +1 -1
- package/dist/Interfaces/Email/IEmail.js +7 -3
- package/dist/Interfaces/Email/IEmail.js.map +1 -1
- package/dist/Interfaces/G2/index.js +2 -0
- package/dist/Interfaces/G2/index.js.map +1 -1
- package/dist/Interfaces/Indexed/Product/index.d.ts +3 -0
- package/dist/Interfaces/Indexed/Product/index.js +43 -2
- package/dist/Interfaces/Indexed/Product/index.js.map +1 -1
- package/dist/Interfaces/Menu/index.d.ts +11 -0
- package/dist/Interfaces/Product/IImportProduct.js +94 -3
- package/dist/Interfaces/Product/IImportProduct.js.map +1 -1
- package/dist/Interfaces/Product/IInventoryItem.d.ts +11 -27
- package/dist/Interfaces/Product/IInventoryItem.js +13 -4
- package/dist/Interfaces/Product/IInventoryItem.js.map +1 -1
- package/dist/Interfaces/Product/IPricing.js +6 -0
- package/dist/Interfaces/Product/IPricing.js.map +1 -1
- package/dist/Interfaces/Product/index.d.ts +8 -0
- package/dist/Interfaces/Product/index.js +8 -0
- package/dist/Interfaces/Product/index.js.map +1 -1
- package/dist/Interfaces/PromiseToPurchase/IIndexedBankUsed.js +1 -1
- package/dist/Interfaces/PromiseToPurchase/IIndexedBankUsed.js.map +1 -1
- package/dist/Interfaces/Rules/IDiscountRule.d.ts +18 -0
- package/dist/Interfaces/Rules/IDiscountRule.js +19 -0
- package/dist/Interfaces/Rules/IDiscountRule.js.map +1 -1
- package/dist/Interfaces/Services/IService.d.ts +4 -0
- package/dist/Interfaces/Shipping/Shiptime/order.js +23 -0
- package/dist/Interfaces/Shipping/Shiptime/order.js.map +1 -1
- package/dist/Interfaces/Space/index.d.ts +8 -0
- package/dist/Interfaces/Space/index.js +9 -0
- package/dist/Interfaces/Space/index.js.map +1 -1
- package/dist/Interfaces/TCG/index.d.ts +12 -1
- package/dist/Interfaces/TCG/index.js +11 -0
- package/dist/Interfaces/TCG/index.js.map +1 -1
- package/dist/Interfaces/TransferRequest/index.js +3 -0
- package/dist/Interfaces/TransferRequest/index.js.map +1 -1
- package/dist/constants/services.js +1 -0
- package/dist/constants/services.js.map +1 -1
- package/dist/index.d.ts +18 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/Attribute/index.js +43 -0
- package/dist/lib/Attribute/index.js.map +1 -1
- package/dist/lib/BGJob/index.js +5 -1
- package/dist/lib/BGJob/index.js.map +1 -1
- package/dist/lib/Booking/index.d.ts +15 -0
- package/dist/lib/Booking/index.js +20 -0
- package/dist/lib/Booking/index.js.map +1 -1
- package/dist/lib/Brand/index.d.ts +9 -0
- package/dist/lib/Brand/index.js +18 -0
- package/dist/lib/Brand/index.js.map +1 -1
- package/dist/lib/Cart/index.d.ts +99 -0
- package/dist/lib/Cart/index.js +498 -9
- package/dist/lib/Cart/index.js.map +1 -1
- package/dist/lib/CartReservedQuantities/index.d.ts +29 -0
- package/dist/lib/CartReservedQuantities/index.js +41 -0
- package/dist/lib/CartReservedQuantities/index.js.map +1 -1
- package/dist/lib/Catalogue/index.d.ts +6 -0
- package/dist/lib/Catalogue/index.js +9 -0
- package/dist/lib/Catalogue/index.js.map +1 -1
- package/dist/lib/Category/index.d.ts +6 -0
- package/dist/lib/Category/index.js +15 -0
- package/dist/lib/Category/index.js.map +1 -1
- package/dist/lib/Class/index.d.ts +4 -0
- package/dist/lib/Class/index.js +8 -0
- package/dist/lib/Class/index.js.map +1 -1
- package/dist/lib/Customer/index.d.ts +12 -0
- package/dist/lib/Customer/index.js +13 -0
- package/dist/lib/Customer/index.js.map +1 -1
- package/dist/lib/Declination/index.js +2 -0
- package/dist/lib/Declination/index.js.map +1 -1
- package/dist/lib/Discount/index.d.ts +9 -0
- package/dist/lib/Discount/index.js +23 -0
- package/dist/lib/Discount/index.js.map +1 -1
- package/dist/lib/ElasticSearch/index.d.ts +5 -0
- package/dist/lib/ElasticSearch/index.js +5 -0
- package/dist/lib/ElasticSearch/index.js.map +1 -1
- package/dist/lib/Elavon/index.js +5 -0
- package/dist/lib/Elavon/index.js.map +1 -1
- package/dist/lib/Email/AbandonedCartEmail.d.ts +8 -0
- package/dist/lib/Email/AbandonedCartEmail.js +8 -0
- package/dist/lib/Email/AbandonedCartEmail.js.map +1 -1
- package/dist/lib/Email/AccountConfirmationEmail.d.ts +8 -0
- package/dist/lib/Email/AccountConfirmationEmail.js +8 -0
- package/dist/lib/Email/AccountConfirmationEmail.js.map +1 -1
- package/dist/lib/Email/AdminOrderConfirmationEmail.d.ts +8 -0
- package/dist/lib/Email/AdminOrderConfirmationEmail.js +8 -0
- package/dist/lib/Email/AdminOrderConfirmationEmail.js.map +1 -1
- package/dist/lib/Email/ApplicationEmail.d.ts +8 -0
- package/dist/lib/Email/ApplicationEmail.js +8 -0
- package/dist/lib/Email/ApplicationEmail.js.map +1 -1
- package/dist/lib/Email/BackInStockEmail.d.ts +8 -0
- package/dist/lib/Email/BackInStockEmail.js +8 -0
- package/dist/lib/Email/BackInStockEmail.js.map +1 -1
- package/dist/lib/Email/ContactEmail.d.ts +8 -0
- package/dist/lib/Email/ContactEmail.js +8 -0
- package/dist/lib/Email/ContactEmail.js.map +1 -1
- package/dist/lib/Email/CustomerBookingAdminEmail.d.ts +8 -0
- package/dist/lib/Email/CustomerBookingAdminEmail.js +8 -0
- package/dist/lib/Email/CustomerBookingAdminEmail.js.map +1 -1
- package/dist/lib/Email/CustomerBookingEmail.d.ts +8 -0
- package/dist/lib/Email/CustomerBookingEmail.js +8 -0
- package/dist/lib/Email/CustomerBookingEmail.js.map +1 -1
- package/dist/lib/Email/OrderConfirmationEmail.d.ts +8 -0
- package/dist/lib/Email/OrderConfirmationEmail.js +8 -0
- package/dist/lib/Email/OrderConfirmationEmail.js.map +1 -1
- package/dist/lib/Email/OrderDenounciationEmail.d.ts +8 -0
- package/dist/lib/Email/OrderDenounciationEmail.js +8 -0
- package/dist/lib/Email/OrderDenounciationEmail.js.map +1 -1
- package/dist/lib/Email/OrderSampleEmail.d.ts +8 -0
- package/dist/lib/Email/OrderSampleEmail.js +8 -0
- package/dist/lib/Email/OrderSampleEmail.js.map +1 -1
- package/dist/lib/Email/OtherTypeEmails.d.ts +8 -0
- package/dist/lib/Email/OtherTypeEmails.js +8 -0
- package/dist/lib/Email/OtherTypeEmails.js.map +1 -1
- package/dist/lib/Email/PasswordResetEmail.d.ts +8 -0
- package/dist/lib/Email/PasswordResetEmail.js +8 -0
- package/dist/lib/Email/PasswordResetEmail.js.map +1 -1
- package/dist/lib/Email/PhotoShootEmail.d.ts +8 -0
- package/dist/lib/Email/PhotoShootEmail.js +8 -0
- package/dist/lib/Email/PhotoShootEmail.js.map +1 -1
- package/dist/lib/Email/PickUpConfirmation.d.ts +8 -0
- package/dist/lib/Email/PickUpConfirmation.js +8 -0
- package/dist/lib/Email/PickUpConfirmation.js.map +1 -1
- package/dist/lib/Email/ShippingConfirmation.d.ts +8 -0
- package/dist/lib/Email/ShippingConfirmation.js +8 -0
- package/dist/lib/Email/ShippingConfirmation.js.map +1 -1
- package/dist/lib/Email/WelcomeEmail.d.ts +8 -0
- package/dist/lib/Email/WelcomeEmail.js +8 -0
- package/dist/lib/Email/WelcomeEmail.js.map +1 -1
- package/dist/lib/Email/index.d.ts +8 -0
- package/dist/lib/Email/index.js +8 -0
- package/dist/lib/Email/index.js.map +1 -1
- package/dist/lib/ExternalService/Ebay.d.ts +12 -0
- package/dist/lib/ExternalService/Ebay.js +22 -0
- package/dist/lib/ExternalService/Ebay.js.map +1 -1
- package/dist/lib/Indexed/IndexedCart.js +5 -0
- package/dist/lib/Indexed/IndexedCart.js.map +1 -1
- package/dist/lib/Indexed/Product.js +50 -0
- package/dist/lib/Indexed/Product.js.map +1 -1
- package/dist/lib/Inventory/index.d.ts +59 -0
- package/dist/lib/Inventory/index.js +157 -9
- package/dist/lib/Inventory/index.js.map +1 -1
- package/dist/lib/Invoice/index.d.ts +11 -0
- package/dist/lib/Invoice/index.js +11 -0
- package/dist/lib/Invoice/index.js.map +1 -1
- package/dist/lib/MarketplacePublication/index.js +308 -0
- package/dist/lib/MarketplacePublication/index.js.map +1 -1
- package/dist/lib/Menu/index.js +2 -0
- package/dist/lib/Menu/index.js.map +1 -1
- package/dist/lib/Order/index.d.ts +20 -0
- package/dist/lib/Order/index.js +23 -0
- package/dist/lib/Order/index.js.map +1 -1
- package/dist/lib/Org/index.d.ts +41 -0
- package/dist/lib/Org/index.js +41 -0
- package/dist/lib/Org/index.js.map +1 -1
- package/dist/lib/PandaPay/index.js +6 -0
- package/dist/lib/PandaPay/index.js.map +1 -1
- package/dist/lib/Paysafe/index.js +1 -0
- package/dist/lib/Paysafe/index.js.map +1 -1
- package/dist/lib/Product/index.d.ts +25 -0
- package/dist/lib/Product/index.js +55 -1
- package/dist/lib/Product/index.js.map +1 -1
- package/dist/lib/PromiseToPurchase/index.d.ts +72 -0
- package/dist/lib/PromiseToPurchase/index.js +79 -0
- package/dist/lib/PromiseToPurchase/index.js.map +1 -1
- package/dist/lib/PurchaseOrder/index.d.ts +11 -0
- package/dist/lib/PurchaseOrder/index.js +12 -0
- package/dist/lib/PurchaseOrder/index.js.map +1 -1
- package/dist/lib/Service/index.d.ts +8 -0
- package/dist/lib/Service/index.js +8 -0
- package/dist/lib/Service/index.js.map +1 -1
- package/dist/lib/Shipment/index.js +13 -0
- package/dist/lib/Shipment/index.js.map +1 -1
- package/dist/lib/Slider/index.d.ts +6 -0
- package/dist/lib/Slider/index.js +6 -0
- package/dist/lib/Slider/index.js.map +1 -1
- package/dist/lib/Space/index.d.ts +178 -0
- package/dist/lib/Space/index.js +495 -6
- package/dist/lib/Space/index.js.map +1 -1
- package/dist/lib/Supplier/index.js +5 -0
- package/dist/lib/Supplier/index.js.map +1 -1
- package/dist/lib/Tags/index.js +5 -0
- package/dist/lib/Tags/index.js.map +1 -1
- package/dist/lib/TransferRequest/index.d.ts +178 -0
- package/dist/lib/TransferRequest/index.js +236 -4
- package/dist/lib/TransferRequest/index.js.map +1 -1
- package/dist/lib/User/index.d.ts +54 -0
- package/dist/lib/User/index.js +101 -21
- package/dist/lib/User/index.js.map +1 -1
- package/dist/lib/baseService.js +26 -0
- package/dist/lib/baseService.js.map +1 -1
- package/dist/rules/GR/constants/data.js +22 -0
- package/dist/rules/GR/constants/data.js.map +1 -1
- package/dist/rules/GR/constants/products.d.ts +3 -0
- package/dist/rules/GR/constants/products.js +16 -0
- package/dist/rules/GR/constants/products.js.map +1 -1
- package/dist/rules/GR/interfaces/data.js +7 -1
- package/dist/rules/GR/interfaces/data.js.map +1 -1
- package/dist/rules/GR/utils/cart.d.ts +41 -0
- package/dist/rules/GR/utils/cart.js +107 -1
- package/dist/rules/GR/utils/cart.js.map +1 -1
- package/dist/rules/GR/utils/data.js +4 -1
- package/dist/rules/GR/utils/data.js.map +1 -1
- package/dist/rules/GR/utils/expedition.d.ts +69 -0
- package/dist/rules/GR/utils/expedition.js +399 -11
- package/dist/rules/GR/utils/expedition.js.map +1 -1
- package/dist/rules/GR/utils/g2.d.ts +33 -0
- package/dist/rules/GR/utils/g2.js +135 -3
- package/dist/rules/GR/utils/g2.js.map +1 -1
- package/dist/rules/GR/utils/invoices.d.ts +27 -0
- package/dist/rules/GR/utils/invoices.js +41 -0
- package/dist/rules/GR/utils/invoices.js.map +1 -1
- package/dist/rules/GR/utils/products.d.ts +161 -0
- package/dist/rules/GR/utils/products.js +272 -1
- package/dist/rules/GR/utils/products.js.map +1 -1
- package/dist/rules/GR/utils/upsells.d.ts +32 -0
- package/dist/rules/GR/utils/upsells.js +32 -0
- package/dist/rules/GR/utils/upsells.js.map +1 -1
- package/dist/services/database/DatabaseService.d.ts +84 -0
- package/dist/services/database/DatabaseService.js +85 -0
- package/dist/services/database/DatabaseService.js.map +1 -1
- package/dist/services/database/FirebaseProvider.js +17 -0
- package/dist/services/database/FirebaseProvider.js.map +1 -1
- package/dist/services/database/NotFirebaseProvider.d.ts +14 -0
- package/dist/services/database/NotFirebaseProvider.js +19 -0
- package/dist/services/database/NotFirebaseProvider.js.map +1 -1
- package/dist/services/g2/G2OrderSlip.d.ts +7 -0
- package/dist/services/g2/G2OrderSlip.js +18 -0
- package/dist/services/g2/G2OrderSlip.js.map +1 -1
- package/dist/services/g2/utils.d.ts +10 -0
- package/dist/services/g2/utils.js +189 -3
- package/dist/services/g2/utils.js.map +1 -1
- package/dist/services/logs/index.d.ts +3 -0
- package/dist/services/logs/index.js +6 -1
- package/dist/services/logs/index.js.map +1 -1
- package/dist/services/products/BaseClass.js +2 -0
- package/dist/services/products/BaseClass.js.map +1 -1
- package/dist/services/products/TCGService.js +17 -1
- package/dist/services/products/TCGService.js.map +1 -1
- package/dist/services/products/utils.d.ts +22 -0
- package/dist/services/products/utils.js +50 -0
- package/dist/services/products/utils.js.map +1 -1
- package/dist/utils/anonymisation.d.ts +24 -0
- package/dist/utils/anonymisation.js +30 -0
- package/dist/utils/anonymisation.js.map +1 -1
- package/dist/utils/aws.d.ts +22 -0
- package/dist/utils/aws.js +28 -0
- package/dist/utils/aws.js.map +1 -1
- package/dist/utils/booking.d.ts +8 -0
- package/dist/utils/booking.js +9 -0
- package/dist/utils/booking.js.map +1 -1
- package/dist/utils/cart.d.ts +81 -0
- package/dist/utils/cart.js +172 -9
- package/dist/utils/cart.js.map +1 -1
- package/dist/utils/context.js +2 -2
- package/dist/utils/context.js.map +1 -1
- package/dist/utils/currency.js +31 -1
- package/dist/utils/currency.js.map +1 -1
- package/dist/utils/data.js +2 -0
- package/dist/utils/data.js.map +1 -1
- package/dist/utils/discount.d.ts +118 -0
- package/dist/utils/discount.js +178 -1
- package/dist/utils/discount.js.map +1 -1
- package/dist/utils/file-admin.js +1 -0
- package/dist/utils/file-admin.js.map +1 -1
- package/dist/utils/file.js +9 -1
- package/dist/utils/file.js.map +1 -1
- package/dist/utils/firebase-admin.d.ts +9 -0
- package/dist/utils/firebase-admin.js +12 -0
- package/dist/utils/firebase-admin.js.map +1 -1
- package/dist/utils/firebase.d.ts +17 -0
- package/dist/utils/firebase.js +17 -0
- package/dist/utils/firebase.js.map +1 -1
- package/dist/utils/inventories.d.ts +52 -0
- package/dist/utils/inventories.js +77 -2
- package/dist/utils/inventories.js.map +1 -1
- package/dist/utils/locale.d.ts +9 -0
- package/dist/utils/locale.js +9 -0
- package/dist/utils/locale.js.map +1 -1
- package/dist/utils/mailchimp.js +36 -0
- package/dist/utils/mailchimp.js.map +1 -1
- package/dist/utils/mathUtils.js +9 -0
- package/dist/utils/mathUtils.js.map +1 -1
- package/dist/utils/object.d.ts +19 -0
- package/dist/utils/object.js +21 -3
- package/dist/utils/object.js.map +1 -1
- package/dist/utils/products.d.ts +7 -0
- package/dist/utils/products.js +9 -0
- package/dist/utils/products.js.map +1 -1
- package/dist/utils/promiseToPurchase.d.ts +32 -0
- package/dist/utils/promiseToPurchase.js +34 -0
- package/dist/utils/promiseToPurchase.js.map +1 -1
- package/dist/utils/prosprsearch.d.ts +15 -0
- package/dist/utils/prosprsearch.js +15 -0
- package/dist/utils/prosprsearch.js.map +1 -1
- package/dist/utils/sdc.js +7 -0
- package/dist/utils/sdc.js.map +1 -1
- package/dist/utils/searchIndexes.d.ts +37 -0
- package/dist/utils/searchIndexes.js +37 -0
- package/dist/utils/searchIndexes.js.map +1 -1
- package/dist/utils/string.js +7 -6
- package/dist/utils/string.js.map +1 -1
- package/dist/utils/tools.d.ts +4 -0
- package/dist/utils/tools.js +4 -0
- package/dist/utils/tools.js.map +1 -1
- package/dist/utils/transferRequests.d.ts +24 -0
- package/dist/utils/transferRequests.js +24 -0
- package/dist/utils/transferRequests.js.map +1 -1
- package/dist/utils/update.js +12 -0
- package/dist/utils/update.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,8 +5,37 @@ export default class CartReservedQuantities extends BaseServiceClass<ICartReserv
|
|
|
5
5
|
data: () => ICartReservedQuantities;
|
|
6
6
|
save(partial?: Partial<any>, _options?: any, saveToDatabase?: boolean, _update?: boolean, merge?: boolean, _beforeData?: any, onlyPartial?: boolean, noEvent?: boolean): Promise<boolean | string>;
|
|
7
7
|
private _getInventory;
|
|
8
|
+
/**
|
|
9
|
+
* Add a quantity to a SKU in the reservation list
|
|
10
|
+
* If the SKU is new, a new entry is added with the quantity
|
|
11
|
+
* else the quantity is added to the existing one
|
|
12
|
+
* @param sku The sku to add
|
|
13
|
+
* @param qty The quantity to add
|
|
14
|
+
* @returns True if successfull, False if failled
|
|
15
|
+
*/
|
|
8
16
|
addProduct: (sku: string, qty: number) => Promise<boolean>;
|
|
17
|
+
/**
|
|
18
|
+
* Remove a quantity from a SKU in the reservation list
|
|
19
|
+
* Remove the provided quantity from the list, if the amount reatch 0 the
|
|
20
|
+
* SKU is removed from the list
|
|
21
|
+
* @param sku The sku to remove
|
|
22
|
+
* @param qty The quantity to remove
|
|
23
|
+
* @returns True if successfull, False if failled
|
|
24
|
+
*/
|
|
9
25
|
removeProduct: (sku: string, qty: number) => Promise<boolean>;
|
|
26
|
+
/**
|
|
27
|
+
* Set a sku quantity in the reservation list
|
|
28
|
+
* The SKU will be added to the list if it's not in the list yet
|
|
29
|
+
* The value will be set to the provided quantity and the inventory
|
|
30
|
+
* will be adjusted accordingly
|
|
31
|
+
* @param sku The sku to set
|
|
32
|
+
* @param qty The quantity to set
|
|
33
|
+
* @returns True if successfull
|
|
34
|
+
*/
|
|
10
35
|
setProduct: (sku: string, qty: number) => Promise<boolean>;
|
|
36
|
+
/**
|
|
37
|
+
* Delete this document and release all reserved quantities
|
|
38
|
+
* @returns List of sku in error
|
|
39
|
+
*/
|
|
11
40
|
deleteAndFreeInventory: () => Promise<string[]>;
|
|
12
41
|
}
|
|
@@ -12,6 +12,7 @@ class CartReservedQuantities extends baseService_1.BaseServiceClass {
|
|
|
12
12
|
this._space = undefined;
|
|
13
13
|
this.data = () => this._data;
|
|
14
14
|
this._getInventory = async (sku) => {
|
|
15
|
+
// create space object
|
|
15
16
|
if (!this._space)
|
|
16
17
|
this._space = await Space_1.default.getCurrentSpaceWithRef(this._collection.path, this._user);
|
|
17
18
|
const invData = await this._space.inventoryItems.getOne(sku);
|
|
@@ -19,13 +20,23 @@ class CartReservedQuantities extends baseService_1.BaseServiceClass {
|
|
|
19
20
|
return;
|
|
20
21
|
return new Inventory_1.default(invData, this._collection, this._user);
|
|
21
22
|
};
|
|
23
|
+
/**
|
|
24
|
+
* Add a quantity to a SKU in the reservation list
|
|
25
|
+
* If the SKU is new, a new entry is added with the quantity
|
|
26
|
+
* else the quantity is added to the existing one
|
|
27
|
+
* @param sku The sku to add
|
|
28
|
+
* @param qty The quantity to add
|
|
29
|
+
* @returns True if successfull, False if failled
|
|
30
|
+
*/
|
|
22
31
|
this.addProduct = async (sku, qty) => {
|
|
23
32
|
if (qty == 0)
|
|
24
33
|
return true;
|
|
25
34
|
const inventory = await this._getInventory(sku);
|
|
26
35
|
if (!inventory)
|
|
27
36
|
throw new Error('Inventory not found');
|
|
37
|
+
// reserve inventory
|
|
28
38
|
await inventory.handleReserveWebInventory(qty);
|
|
39
|
+
// add to this object
|
|
29
40
|
const item = this._data.items.find((i) => i.sku === sku);
|
|
30
41
|
if (item) {
|
|
31
42
|
item.qty += qty;
|
|
@@ -33,9 +44,18 @@ class CartReservedQuantities extends baseService_1.BaseServiceClass {
|
|
|
33
44
|
else {
|
|
34
45
|
this._data.items.push({ sku, qty });
|
|
35
46
|
}
|
|
47
|
+
// save
|
|
36
48
|
await this.save();
|
|
37
49
|
return true;
|
|
38
50
|
};
|
|
51
|
+
/**
|
|
52
|
+
* Remove a quantity from a SKU in the reservation list
|
|
53
|
+
* Remove the provided quantity from the list, if the amount reatch 0 the
|
|
54
|
+
* SKU is removed from the list
|
|
55
|
+
* @param sku The sku to remove
|
|
56
|
+
* @param qty The quantity to remove
|
|
57
|
+
* @returns True if successfull, False if failled
|
|
58
|
+
*/
|
|
39
59
|
this.removeProduct = async (sku, qty) => {
|
|
40
60
|
if (qty == 0)
|
|
41
61
|
return true;
|
|
@@ -46,14 +66,27 @@ class CartReservedQuantities extends baseService_1.BaseServiceClass {
|
|
|
46
66
|
if (!inventory)
|
|
47
67
|
throw new Error('Inventory not found');
|
|
48
68
|
const realQty = item.qty < qty ? item.qty : qty;
|
|
69
|
+
// unreserve inventory
|
|
49
70
|
await inventory.handleUnreserveWebInventory(realQty);
|
|
71
|
+
// remove from this object
|
|
50
72
|
item.qty -= realQty;
|
|
51
73
|
if (item.qty <= 0) {
|
|
74
|
+
// remove from array if <= 0
|
|
52
75
|
this._data = Object.assign(Object.assign({}, this._data), { items: this._data.items.filter((i) => i.sku !== sku) });
|
|
53
76
|
}
|
|
77
|
+
// save
|
|
54
78
|
await this.save();
|
|
55
79
|
return true;
|
|
56
80
|
};
|
|
81
|
+
/**
|
|
82
|
+
* Set a sku quantity in the reservation list
|
|
83
|
+
* The SKU will be added to the list if it's not in the list yet
|
|
84
|
+
* The value will be set to the provided quantity and the inventory
|
|
85
|
+
* will be adjusted accordingly
|
|
86
|
+
* @param sku The sku to set
|
|
87
|
+
* @param qty The quantity to set
|
|
88
|
+
* @returns True if successfull
|
|
89
|
+
*/
|
|
57
90
|
this.setProduct = async (sku, qty) => {
|
|
58
91
|
if (qty < 0)
|
|
59
92
|
throw new Error('Quantity cannot be negative');
|
|
@@ -62,21 +95,29 @@ class CartReservedQuantities extends baseService_1.BaseServiceClass {
|
|
|
62
95
|
if (!inventory)
|
|
63
96
|
throw new Error('Inventory not found');
|
|
64
97
|
const realQtyToReserve = item ? qty - item.qty : qty;
|
|
98
|
+
// process inventory changes
|
|
65
99
|
if (realQtyToReserve >= 0)
|
|
66
100
|
await inventory.handleReserveWebInventory(realQtyToReserve);
|
|
67
101
|
else
|
|
68
102
|
await inventory.handleUnreserveWebInventory(-realQtyToReserve);
|
|
103
|
+
// set new quantity
|
|
69
104
|
if (item) {
|
|
70
105
|
item.qty = qty;
|
|
71
106
|
if (item.qty <= 0) {
|
|
107
|
+
// remove from array if <= 0
|
|
72
108
|
this._data = Object.assign(Object.assign({}, this._data), { items: this._data.items.filter((i) => i.sku !== sku) });
|
|
73
109
|
}
|
|
74
110
|
}
|
|
75
111
|
else if (qty > 0)
|
|
76
112
|
this._data.items.push({ sku, qty });
|
|
113
|
+
// save
|
|
77
114
|
await this.save();
|
|
78
115
|
return true;
|
|
79
116
|
};
|
|
117
|
+
/**
|
|
118
|
+
* Delete this document and release all reserved quantities
|
|
119
|
+
* @returns List of sku in error
|
|
120
|
+
*/
|
|
80
121
|
this.deleteAndFreeInventory = async () => {
|
|
81
122
|
const errors = [];
|
|
82
123
|
for (const item of this._data.items) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/CartReservedQuantities/index.ts"],"names":[],"mappings":";;;;;AACA,gDAAiD;AACjD,6DAAoC;AACpC,qDAA4B;AAE5B,MAAqB,sBAAuB,SAAQ,8BAAyC;IAA7F;;QACS,WAAM,GAAsB,SAAS,CAAA;QAEtC,SAAI,GAAG,GAA4B,EAAE,CAAC,IAAI,CAAC,KAAK,CAAA;QA0B/C,kBAAa,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/CartReservedQuantities/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import ICatalogue from '../../Interfaces/Catalogue';
|
|
2
2
|
import { BaseServiceClass } from '../baseService';
|
|
3
|
+
/**
|
|
4
|
+
* Catalogue class
|
|
5
|
+
*/
|
|
3
6
|
export default class Catalogue extends BaseServiceClass<ICatalogue> {
|
|
7
|
+
/**
|
|
8
|
+
* Get the catalogue properties
|
|
9
|
+
*/
|
|
4
10
|
data: () => ICatalogue;
|
|
5
11
|
save: (partialCatalogue?: Partial<ICatalogue>, options?: {
|
|
6
12
|
index?: boolean;
|
|
@@ -10,16 +10,25 @@ const object_1 = require("../../utils/object");
|
|
|
10
10
|
const update_1 = require("../../utils/update");
|
|
11
11
|
const Space_1 = __importDefault(require("../Space"));
|
|
12
12
|
const baseService_1 = require("../baseService");
|
|
13
|
+
/**
|
|
14
|
+
* Catalogue class
|
|
15
|
+
*/
|
|
13
16
|
class Catalogue extends baseService_1.BaseServiceClass {
|
|
14
17
|
constructor() {
|
|
15
18
|
super(...arguments);
|
|
19
|
+
/**
|
|
20
|
+
* Get the catalogue properties
|
|
21
|
+
*/
|
|
16
22
|
this.data = () => this._data;
|
|
17
23
|
this.save = async (partialCatalogue, options) => {
|
|
24
|
+
// const beforeData = { ...this._data } as ICatalogue
|
|
18
25
|
this._data = Object.assign(Object.assign({}, this._data), partialCatalogue);
|
|
19
26
|
this._data = (await this.updateDependencies(this._data));
|
|
27
|
+
// add created_by + _at if non-existant
|
|
20
28
|
if (!!!this._data.created_by) {
|
|
21
29
|
this._data = Object.assign(Object.assign({}, this._data), { created_by: this._user, created_at: new Date() });
|
|
22
30
|
}
|
|
31
|
+
// update updated_by + _at
|
|
23
32
|
this._data = Object.assign(Object.assign({}, this._data), { updated_by: this._user, updated_at: new Date() });
|
|
24
33
|
const id = await (0, update_1.saveDocV2)(this._collection, (0, object_1.stripObjectForFirebase)(this._data), this._user, [], this._data.id);
|
|
25
34
|
if (!!id && !!!this._data.id && typeof id === 'string') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/Catalogue/index.ts"],"names":[],"mappings":";;;;;AACA,8FAAqE;AACrE,iDAAoD;AACpD,2CAAqD;AACrD,+CAA2D;AAC3D,+CAA8C;AAC9C,qDAA4B;AAC5B,gDAAiD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/Catalogue/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,12 @@ export default class Category extends BaseServiceClass<ICategory> {
|
|
|
13
13
|
parent: () => Promise<Category | undefined>;
|
|
14
14
|
hasParent: () => boolean;
|
|
15
15
|
getHierarchicalOrderBasedOnCategories: (categories: Category[], order?: number) => number;
|
|
16
|
+
/**
|
|
17
|
+
* @deprecated use [space.categories.getTree]{@link space.categories.getTree} function instead
|
|
18
|
+
* @param categories
|
|
19
|
+
* @param level
|
|
20
|
+
* @param parent
|
|
21
|
+
*/
|
|
16
22
|
private _getTreeOld;
|
|
17
23
|
getLastIndex: () => Promise<number>;
|
|
18
24
|
private _getAtLastIndex;
|
|
@@ -24,6 +24,7 @@ class Category extends baseService_1.BaseServiceClass {
|
|
|
24
24
|
if (DatabaseService_1.default.getPathParent(this._collection.path) == '/')
|
|
25
25
|
throw new Error(`Can't find categories space`);
|
|
26
26
|
try {
|
|
27
|
+
//const parentReq = await this._collection.doc(this._data.parent).get()
|
|
27
28
|
const parentReq = await DatabaseService_1.default.getDocument(this._collection.path, this._data.parent);
|
|
28
29
|
if (!parentReq.exists)
|
|
29
30
|
throw new Error(`Category ${this._data.parent} does not exist`);
|
|
@@ -45,6 +46,12 @@ class Category extends baseService_1.BaseServiceClass {
|
|
|
45
46
|
return order;
|
|
46
47
|
return foundCategory.getHierarchicalOrderBasedOnCategories(categories, order + 1);
|
|
47
48
|
};
|
|
49
|
+
/**
|
|
50
|
+
* @deprecated use [space.categories.getTree]{@link space.categories.getTree} function instead
|
|
51
|
+
* @param categories
|
|
52
|
+
* @param level
|
|
53
|
+
* @param parent
|
|
54
|
+
*/
|
|
48
55
|
this._getTreeOld = (categories, level = 0, parent) => {
|
|
49
56
|
const _categories = categories.filter((c) => c.getHierarchicalOrderBasedOnCategories(categories) === level);
|
|
50
57
|
if (_categories.length === 0)
|
|
@@ -59,6 +66,9 @@ class Category extends baseService_1.BaseServiceClass {
|
|
|
59
66
|
const categories = (await DatabaseService_1.default.getDocuments(this._collection.path))
|
|
60
67
|
.filter((d) => d.exists && !!d.data)
|
|
61
68
|
.map((doc) => new Category(Object.assign(Object.assign({}, doc.data), { id: doc.id }), this._collection, this._user));
|
|
69
|
+
// if (!this.hasParent()) {
|
|
70
|
+
// return this._getTreeOld(categories, 0).length
|
|
71
|
+
// }
|
|
62
72
|
return categories.filter((c) => c.data().parent === this.data().parent).length;
|
|
63
73
|
};
|
|
64
74
|
this.save = async (partialCategory) => {
|
|
@@ -79,6 +89,7 @@ class Category extends baseService_1.BaseServiceClass {
|
|
|
79
89
|
}
|
|
80
90
|
};
|
|
81
91
|
this._uploadImages = async (category) => {
|
|
92
|
+
// const space = await Space.getCurrentSpace(this._collection, this._user)
|
|
82
93
|
const spaceObj = await Space_1.default.getCurrentSpaceWithRef(this._collection.path, this._user);
|
|
83
94
|
const useService = spaceObj.preferences.storage.getServiceToUse();
|
|
84
95
|
return Object.assign(Object.assign({}, category), { image: !!!category.image
|
|
@@ -121,9 +132,12 @@ class Category extends baseService_1.BaseServiceClass {
|
|
|
121
132
|
return price;
|
|
122
133
|
let newPrice = price;
|
|
123
134
|
try {
|
|
135
|
+
// loop trought all rules and apply those that fit
|
|
124
136
|
for (const rule of this._data.pricing_rules) {
|
|
137
|
+
// filter out of price range
|
|
125
138
|
if (!!rule.price_range && (price < ((_b = rule.from_price) !== null && _b !== void 0 ? _b : 0) || price > ((_c = rule.to_price) !== null && _c !== void 0 ? _c : 0)))
|
|
126
139
|
continue;
|
|
140
|
+
// filter attribute specific
|
|
127
141
|
if (!!rule.attribute_id &&
|
|
128
142
|
!decli.attributes.some((a) => a.attribute_id == rule.attribute_id && a.values.some((v) => v.slug == rule.attribute_value_slug)))
|
|
129
143
|
continue;
|
|
@@ -131,6 +145,7 @@ class Category extends baseService_1.BaseServiceClass {
|
|
|
131
145
|
continue;
|
|
132
146
|
if (action == 'sell' && (typeof rule.amount == 'undefined' || typeof rule.percent == 'undefined'))
|
|
133
147
|
continue;
|
|
148
|
+
// apply update
|
|
134
149
|
const perctToUse = action == 'buy' ? rule.buy_percent : rule.percent;
|
|
135
150
|
const amntToUse = action == 'buy' ? rule.buy_amount : rule.amount;
|
|
136
151
|
newPrice = newPrice * (perctToUse / 100) + amntToUse;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/Category/index.ts"],"names":[],"mappings":";;;;;;AACA,2CAAuE;AACvE,iDAAkE;AAClE,iDAAkD;AAClD,6DAAoC;AACpC,+DAAsC;AACtC,qDAA4B;AAC5B,iDAAkD;AAElD,8FAAqE;AACrE,gDAAiD;AAEjD,yDAAgC;AAEhC,MAAqB,QAAS,SAAQ,8BAA2B;IAAjE;;QAmCQ,SAAI,GAAG,GAAc,EAAE,CAAC,IAAI,CAAC,KAAkB,CAAA;QAE/C,WAAM,GAAG,KAAK,IAAmC,EAAE;YACzD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAA;YAC1C,IAAI,yBAAe,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;YAE/G,IAAI;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/Category/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,10 @@ import Attribute from '../Attribute';
|
|
|
3
3
|
import { BaseServiceClass } from '../baseService';
|
|
4
4
|
export default class Class extends BaseServiceClass<IClass> {
|
|
5
5
|
data: () => IClass;
|
|
6
|
+
/**
|
|
7
|
+
*
|
|
8
|
+
* @param attributeRef full path to attribute document
|
|
9
|
+
*/
|
|
6
10
|
private _addAttribute;
|
|
7
11
|
private _getAttributes;
|
|
8
12
|
attributes: {
|
package/dist/lib/Class/index.js
CHANGED
|
@@ -12,6 +12,11 @@ class Class extends baseService_1.BaseServiceClass {
|
|
|
12
12
|
constructor() {
|
|
13
13
|
super(...arguments);
|
|
14
14
|
this.data = () => this._data;
|
|
15
|
+
//#region ATTRIBUTES
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
* @param attributeRef full path to attribute document
|
|
19
|
+
*/
|
|
15
20
|
this._addAttribute = async (attributeRef) => {
|
|
16
21
|
try {
|
|
17
22
|
const attributeSnapCheck = await DatabaseService_1.default.getDocumentByPath(attributeRef);
|
|
@@ -49,10 +54,13 @@ class Class extends baseService_1.BaseServiceClass {
|
|
|
49
54
|
}));
|
|
50
55
|
return attributes.filter((a) => !!a);
|
|
51
56
|
};
|
|
57
|
+
//#endregion
|
|
58
|
+
//#region GETTERS
|
|
52
59
|
this.attributes = {
|
|
53
60
|
add: this._addAttribute,
|
|
54
61
|
get: this._getAttributes
|
|
55
62
|
};
|
|
63
|
+
//#endregion
|
|
56
64
|
}
|
|
57
65
|
}
|
|
58
66
|
exports.default = Class;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/Class/index.ts"],"names":[],"mappings":";;;;;AAGA,6DAAoC;AAEpC,iDAAkD;AAClD,6CAAwC;AACxC,gDAAiD;AACjD,8FAAqE;AAErE,MAAqB,KAAM,SAAQ,8BAAwB;IAA3D;;QACQ,SAAI,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,KAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/Class/index.ts"],"names":[],"mappings":";;;;;AAGA,6DAAoC;AAEpC,iDAAkD;AAClD,6CAAwC;AACxC,gDAAiD;AACjD,8FAAqE;AAErE,MAAqB,KAAM,SAAQ,8BAAwB;IAA3D;;QACQ,SAAI,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,KAAe,CAAA;QAEhD,oBAAoB;QAEpB;;;WAGG;QACK,kBAAa,GAAG,KAAK,EAAE,YAAoB,EAAoB,EAAE;YACxE,IAAI;gBACH,MAAM,kBAAkB,GAAG,MAAM,yBAAe,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAA;gBAEhF,IAAI,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE;oBACxD,OAAO,KAAK,CAAA;iBACZ;gBAED,MAAM,IAAI,CAAC,IAAI,CAAC;oBACf,aAAa,EAAE,IAAA,YAAI,EAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC;iBACzE,CAAC,CAAA;gBAEF,OAAO,IAAI,CAAA;aACX;YAAC,OAAO,KAAK,EAAE;gBACf,IAAA,sBAAY,EAAC,gCAAgC,YAAY,aAAa,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC,CAAA;gBAChG,OAAO,KAAK,CAAA;aACZ;QACF,CAAC,CAAA;QAEO,mBAAc,GAAG,KAAK,IAA0B,EAAE;YACzD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa;gBAAE,OAAO,EAAE,CAAA;YAC1C,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAA;YAEpD,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,YAAiB,EAAE,EAAE;gBACxD,IAAI;oBACH,IAAI,CAAC,CAAC,CAAC,yBAAe,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;wBAAE,OAAO,SAAS,CAAA;oBAE7E,MAAM,aAAa,GAAG,MAAM,yBAAe,CAAC,WAAW,CACtD,yBAAe,CAAC,SAAS,CAAC,yBAAe,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,EAC7F,YAAY,CACZ,CAAA;oBAED,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI;wBAAE,OAAO,SAAS,CAAA;oBAEpE,OAAO,IAAI,mBAAS,CACnB,gCAAK,aAAa,CAAC,IAAI,KAAE,EAAE,EAAE,aAAa,CAAC,EAAE,GAAgB,EAC7D,yBAAe,CAAC,kBAAkB,CAAC,yBAAe,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,EACtG,IAAI,CAAC,KAAK,CACG,CAAA;iBACd;gBAAC,OAAO,KAAK,EAAE;oBACf,IAAA,sBAAY,EAAC,0CAA0C,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC,CAAA;oBACjF,OAAO,SAAS,CAAA;iBAChB;YACF,CAAC,CAAC,CACF,CAAA;YAED,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAgB,CAAA;QACpD,CAAC,CAAA;QAED,YAAY;QAEZ,iBAAiB;QAEV,eAAU,GAAG;YACnB,GAAG,EAAE,IAAI,CAAC,aAAa;YACvB,GAAG,EAAE,IAAI,CAAC,cAAc;SACxB,CAAA;QAED,YAAY;IACb,CAAC;CAAA;AArED,wBAqEC"}
|
|
@@ -3,9 +3,21 @@ import { IIndexedCustomer } from '../../Interfaces/Algolia';
|
|
|
3
3
|
import ICustomer from '../../Interfaces/Customer';
|
|
4
4
|
import { IQueryProps } from '../../Interfaces/Product';
|
|
5
5
|
import { BaseServiceClass } from '../baseService';
|
|
6
|
+
/**
|
|
7
|
+
* Customer class
|
|
8
|
+
*/
|
|
6
9
|
export default class Customer extends BaseServiceClass<ICustomer> {
|
|
10
|
+
/**
|
|
11
|
+
* Get the customer properties
|
|
12
|
+
*/
|
|
7
13
|
data: () => ICustomer;
|
|
8
14
|
static fetch: ({ app, api, hpp, page, query, filters, indice, f, space, useProspr }: IQueryProps) => Promise<SearchResponse<IIndexedCustomer>>;
|
|
9
15
|
save: (partial?: Partial<any> | undefined, options?: any, saveToDatabase?: boolean, onlyPartial?: boolean) => Promise<string | boolean>;
|
|
16
|
+
/**
|
|
17
|
+
* Read the current credit from the customer data
|
|
18
|
+
* Do not use to validate, use the space function
|
|
19
|
+
* @param creditSlug The credit slug to get
|
|
20
|
+
* @returns the amount
|
|
21
|
+
*/
|
|
10
22
|
getStoreCredit: (creditSlug: string) => Promise<number>;
|
|
11
23
|
}
|
|
@@ -5,9 +5,15 @@ const __1 = require("../..");
|
|
|
5
5
|
const algolia_1 = require("../../utils/algolia");
|
|
6
6
|
const console_1 = require("../../utils/console");
|
|
7
7
|
const baseService_1 = require("../baseService");
|
|
8
|
+
/**
|
|
9
|
+
* Customer class
|
|
10
|
+
*/
|
|
8
11
|
class Customer extends baseService_1.BaseServiceClass {
|
|
9
12
|
constructor() {
|
|
10
13
|
super(...arguments);
|
|
14
|
+
/**
|
|
15
|
+
* Get the customer properties
|
|
16
|
+
*/
|
|
11
17
|
this.data = () => this._data;
|
|
12
18
|
this.save = async (partial, options, saveToDatabase, onlyPartial = false) => {
|
|
13
19
|
if (!!onlyPartial) {
|
|
@@ -25,6 +31,12 @@ class Customer extends baseService_1.BaseServiceClass {
|
|
|
25
31
|
this._data = Object.assign(Object.assign({}, this._data), { id: res });
|
|
26
32
|
return res;
|
|
27
33
|
};
|
|
34
|
+
/**
|
|
35
|
+
* Read the current credit from the customer data
|
|
36
|
+
* Do not use to validate, use the space function
|
|
37
|
+
* @param creditSlug The credit slug to get
|
|
38
|
+
* @returns the amount
|
|
39
|
+
*/
|
|
28
40
|
this.getStoreCredit = async (creditSlug) => {
|
|
29
41
|
if (!creditSlug)
|
|
30
42
|
throw new Error('The credit slug is required');
|
|
@@ -57,6 +69,7 @@ Customer.fetch = async ({ app, api, hpp = 10, page = 0, query = '', filters = ''
|
|
|
57
69
|
facetFilters: filters,
|
|
58
70
|
filters: f,
|
|
59
71
|
page,
|
|
72
|
+
// facetingAfterDistinct: true,
|
|
60
73
|
facets: ['*']
|
|
61
74
|
});
|
|
62
75
|
return results;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/Customer/index.ts"],"names":[],"mappings":";;;AACA,6BAAiC;AAIjC,iDAAkD;AAClD,iDAAkD;AAClD,gDAAiD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/Customer/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const DatabaseService_1 = __importDefault(require("../../services/database/DatabaseService"));
|
|
7
7
|
const moment_1 = __importDefault(require("moment"));
|
|
8
8
|
class Declination {
|
|
9
|
+
// private _user: string
|
|
9
10
|
constructor(declination, declinations_collection, _user) {
|
|
10
11
|
this.data = () => this._declination;
|
|
11
12
|
this.save = async (partialProductAttribute) => {
|
|
@@ -19,6 +20,7 @@ class Declination {
|
|
|
19
20
|
};
|
|
20
21
|
this._declination = declination;
|
|
21
22
|
this._declinations_collection = declinations_collection;
|
|
23
|
+
// this._user = user
|
|
22
24
|
}
|
|
23
25
|
}
|
|
24
26
|
exports.default = Declination;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/Declination/index.ts"],"names":[],"mappings":";;;;;AACA,8FAAqE;AACrE,oDAA2B;AAE3B,MAAqB,WAAW;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/Declination/index.ts"],"names":[],"mappings":";;;;;AACA,8FAAqE;AACrE,oDAA2B;AAE3B,MAAqB,WAAW;IAG/B,wBAAwB;IAExB,YAAmB,WAAyB,EAAE,uBAA+B,EAAE,KAAa;QAMrF,SAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAA;QAE9B,SAAI,GAAG,KAAK,EAAE,uBAA+C,EAA6B,EAAE;;YAClG,IAAI,CAAC,YAAY,mCAAQ,IAAI,CAAC,YAAY,GAAK,uBAAuB,CAAE,CAAA;YACxE,OAAO,MAAM,yBAAe,CAAC,YAAY,CACxC,IAAI,CAAC,wBAAwB,EAC7B,MAAA,IAAI,CAAC,YAAY,CAAC,EAAE,mCAAI,EAAE,EAC1B,IAAA,gBAAM,GAAE,CAAC,IAAI,EAAE,EACf,IAAI,CAAC,YAAY,EACjB,EAAE,KAAK,EAAE,KAAK,EAAE,CAChB,CAAA;QACF,CAAC,CAAA;QAEM,WAAM,GAAG,KAAK,IAAsB,EAAE;;YAC5C,OAAO,MAAM,yBAAe,CAAC,cAAc,CAAC,IAAI,CAAC,wBAAwB,EAAE,MAAA,IAAI,CAAC,YAAY,CAAC,EAAE,mCAAI,EAAE,CAAC,CAAA;QACvG,CAAC,CAAA;QApBA,IAAI,CAAC,YAAY,GAAG,WAAW,CAAA;QAC/B,IAAI,CAAC,wBAAwB,GAAG,uBAAuB,CAAA;QACvD,oBAAoB;IACrB,CAAC;CAkBD;AA3BD,8BA2BC"}
|
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
import IDiscountRule from '../../Interfaces/Rules/IDiscountRule';
|
|
2
2
|
import { BaseServiceClass } from '../baseService';
|
|
3
|
+
/**
|
|
4
|
+
* Brand class
|
|
5
|
+
*/
|
|
3
6
|
export default class Discount extends BaseServiceClass<IDiscountRule> {
|
|
7
|
+
/**
|
|
8
|
+
* Get the discount properties
|
|
9
|
+
*/
|
|
4
10
|
data: () => IDiscountRule;
|
|
11
|
+
/**
|
|
12
|
+
* Spread discount rule to relative object (product, cart or user)
|
|
13
|
+
*/
|
|
5
14
|
private _spread;
|
|
6
15
|
private _unspread;
|
|
7
16
|
private _spreadTo;
|
|
@@ -10,10 +10,19 @@ const chunk_1 = __importDefault(require("lodash/chunk"));
|
|
|
10
10
|
const baseService_1 = require("../baseService");
|
|
11
11
|
const DatabaseService_1 = __importDefault(require("../../services/database/DatabaseService"));
|
|
12
12
|
const BatchUtils_1 = __importDefault(require("../../services/database/BatchUtils"));
|
|
13
|
+
/**
|
|
14
|
+
* Brand class
|
|
15
|
+
*/
|
|
13
16
|
class Discount extends baseService_1.BaseServiceClass {
|
|
14
17
|
constructor() {
|
|
15
18
|
super(...arguments);
|
|
19
|
+
/**
|
|
20
|
+
* Get the discount properties
|
|
21
|
+
*/
|
|
16
22
|
this.data = () => this._data;
|
|
23
|
+
/**
|
|
24
|
+
* Spread discount rule to relative object (product, cart or user)
|
|
25
|
+
*/
|
|
17
26
|
this._spread = async () => {
|
|
18
27
|
(0, console_1.workingMessage)('Spreading...');
|
|
19
28
|
const associations = [];
|
|
@@ -107,6 +116,7 @@ class Discount extends baseService_1.BaseServiceClass {
|
|
|
107
116
|
catch (error) {
|
|
108
117
|
throw error;
|
|
109
118
|
}
|
|
119
|
+
// })
|
|
110
120
|
}
|
|
111
121
|
try {
|
|
112
122
|
await batch.commit();
|
|
@@ -156,6 +166,7 @@ class Discount extends baseService_1.BaseServiceClass {
|
|
|
156
166
|
catch (error) {
|
|
157
167
|
throw error;
|
|
158
168
|
}
|
|
169
|
+
// })
|
|
159
170
|
};
|
|
160
171
|
this._spreadToProducts = async () => {
|
|
161
172
|
if (DatabaseService_1.default.getPathParent(this._collection.path) == '/') {
|
|
@@ -185,9 +196,11 @@ class Discount extends baseService_1.BaseServiceClass {
|
|
|
185
196
|
const isSameSku = (sku) => {
|
|
186
197
|
return !!declinationsToAddDiscount.some((aSku) => !!aSku && !!sku && aSku.toLowerCase().trim() === sku.toLowerCase().trim());
|
|
187
198
|
};
|
|
199
|
+
// declinations.forEach((_, dIndex) => {
|
|
188
200
|
try {
|
|
189
201
|
batch.set(productSnap.path, productSnap.id, {
|
|
190
202
|
declinations: declinations.map((_declination, _dIndex) => {
|
|
203
|
+
// if (dIndex !== _dIndex) return _declination
|
|
191
204
|
if (_declination.discount_rules.some((_dr) => _dr.id === this.data().id))
|
|
192
205
|
return Object.assign(Object.assign({}, _declination), { discount_rules: _declination.discount_rules
|
|
193
206
|
.map((_dr) => {
|
|
@@ -211,6 +224,7 @@ class Discount extends baseService_1.BaseServiceClass {
|
|
|
211
224
|
console.log('error dans le catch: ', error);
|
|
212
225
|
throw error;
|
|
213
226
|
}
|
|
227
|
+
// })
|
|
214
228
|
}
|
|
215
229
|
try {
|
|
216
230
|
await batch.commit();
|
|
@@ -249,6 +263,7 @@ class Discount extends baseService_1.BaseServiceClass {
|
|
|
249
263
|
if (!!!space)
|
|
250
264
|
return;
|
|
251
265
|
const declinationsToAddDiscount = declinations.filter((declination) => !!(0, discount_1.shouldApplyRuleToDeclination)(this.data(), declination));
|
|
266
|
+
// declinationsToAddDiscount.forEach((_, dIndex) => {
|
|
252
267
|
try {
|
|
253
268
|
await DatabaseService_1.default.saveDocument(product.path, product.id, product.timestamp, {
|
|
254
269
|
declinations: declinations.map((_declination, _dIndex) => {
|
|
@@ -277,6 +292,7 @@ class Discount extends baseService_1.BaseServiceClass {
|
|
|
277
292
|
catch (error) {
|
|
278
293
|
throw error;
|
|
279
294
|
}
|
|
295
|
+
// })
|
|
280
296
|
};
|
|
281
297
|
this._spreadToProductCategories = async () => {
|
|
282
298
|
if (DatabaseService_1.default.getPathParent(this._collection.path) == '/') {
|
|
@@ -307,6 +323,9 @@ class Discount extends baseService_1.BaseServiceClass {
|
|
|
307
323
|
if (!!!productData.declinations.length)
|
|
308
324
|
continue;
|
|
309
325
|
const declinations = productData.declinations;
|
|
326
|
+
// Puisque l'option "produit parent" est seulement existant si catégorie est sélectionné,
|
|
327
|
+
// isoler les produits applicables ou qui ont la règle de prix déjà appliqué pour vérirication.
|
|
328
|
+
// Si non-appliquable, skip la vérification pour éviter une sauvegarde inutile du produit
|
|
310
329
|
if (!!discountData.rules && !!discountData.rules.length) {
|
|
311
330
|
const rulesOnProduct = discountData.rules.filter((rule) => rule.field === 'product');
|
|
312
331
|
if (!!rulesOnProduct.length) {
|
|
@@ -401,6 +420,8 @@ class Discount extends baseService_1.BaseServiceClass {
|
|
|
401
420
|
if (!!!productData.declinations.length)
|
|
402
421
|
continue;
|
|
403
422
|
const declinations = productData.declinations;
|
|
423
|
+
// Vérifier si la règle de prix est déjà appliquée sur la déclinaison.
|
|
424
|
+
// Si non, skip la vérification pour éviter une sauvegarde superflue en BD.
|
|
404
425
|
const isRuleAlreadyInDecli = declinations.some((d) => (d.discount_rules || []).some((d) => d.id == discountData.id));
|
|
405
426
|
if (!isRuleAlreadyInDecli)
|
|
406
427
|
continue;
|
|
@@ -463,8 +484,10 @@ class Discount extends baseService_1.BaseServiceClass {
|
|
|
463
484
|
}
|
|
464
485
|
return allProducts;
|
|
465
486
|
};
|
|
487
|
+
//#region GETTERS
|
|
466
488
|
this.spread = this._spread;
|
|
467
489
|
this.unspread = this._unspread;
|
|
490
|
+
//#endregion
|
|
468
491
|
}
|
|
469
492
|
}
|
|
470
493
|
exports.default = Discount;
|