addio-admin-sdk 1.7.96 → 1.7.98-canary-1
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/.env +4 -5
- package/dist/Interfaces/CartReservedQuantities/index.d.ts +8 -0
- package/dist/Interfaces/CartReservedQuantities/index.js +3 -0
- package/dist/Interfaces/CartReservedQuantities/index.js.map +1 -0
- package/dist/Interfaces/Space/index.d.ts +7 -5
- package/dist/Interfaces/Space/index.js +3 -1
- package/dist/Interfaces/Space/index.js.map +1 -1
- package/dist/Interfaces/Store/index.d.ts +1 -0
- package/dist/Interfaces/Store/index.js.map +1 -1
- package/dist/lib/Cart/index.d.ts +2 -0
- package/dist/lib/Cart/index.js +59 -20
- package/dist/lib/Cart/index.js.map +1 -1
- package/dist/lib/CartReservedQuantities/index.d.ts +12 -0
- package/dist/lib/CartReservedQuantities/index.js +106 -0
- package/dist/lib/CartReservedQuantities/index.js.map +1 -0
- package/dist/lib/Inventory/index.d.ts +2 -0
- package/dist/lib/Inventory/index.js +10 -0
- package/dist/lib/Inventory/index.js.map +1 -1
- package/dist/lib/Space/index.d.ts +1 -0
- package/dist/rules/GR/constants/products.d.ts +3 -0
- package/dist/rules/GR/constants/products.js +4 -1
- package/dist/rules/GR/constants/products.js.map +1 -1
- package/dist/rules/GR/utils/cart.d.ts +1 -0
- package/dist/rules/GR/utils/cart.js +54 -1
- package/dist/rules/GR/utils/cart.js.map +1 -1
- package/dist/rules/GR/utils/expedition.js +2 -1
- package/dist/rules/GR/utils/expedition.js.map +1 -1
- package/dist/rules/GR/utils/g2.js +25 -7
- package/dist/rules/GR/utils/g2.js.map +1 -1
- package/dist/rules/GR/utils/products.d.ts +4 -0
- package/dist/rules/GR/utils/products.js +53 -3
- package/dist/rules/GR/utils/products.js.map +1 -1
- package/dist/utils/cart.js +1 -1
- package/dist/utils/cart.js.map +1 -1
- package/package.json +1 -1
- package/dist/lib/Queue/index.d.ts +0 -40
- package/dist/lib/Queue/index.js +0 -255
- package/dist/lib/Queue/index.js.map +0 -1
package/.env
CHANGED
|
@@ -2,14 +2,13 @@ NEXT_PUBLIC_FIREBASE_CONFIG_API_KEY_DEV='AIzaSyBNtwzdIe2__HJD23S87RIbWbIqKQVtFiw
|
|
|
2
2
|
NEXT_PUBLIC_FIREBASE_CONFIG_API_KEY_PROD='AIzaSyDK6WQZkCrsMGunAPHn9KkdCGPky4hTgL4'
|
|
3
3
|
NEXT_PUBLIC_MESSAGING_SENDER_ID_DEV='188490998694'
|
|
4
4
|
NEXT_PUBLIC_MESSAGING_SENDER_ID_PROD='725873016982'
|
|
5
|
-
NEXT_PUBLIC_FIREBASE_APP_ID_PROD='1:725873016982:web:9b1f6d77819909e19102b7'
|
|
6
5
|
NEXT_PUBLIC_FIREBASE_APP_ID_DEV='1:188490998694:web:eecd719e7b18f38d272567'
|
|
6
|
+
NEXT_PUBLIC_FIREBASE_APP_ID_PROD='1:725873016982:web:9b1f6d77819909e19102b7'
|
|
7
7
|
NEXT_PUBLIC_MEASUREMENT_ID_DEV='G-4BB66ZRTWZ'
|
|
8
8
|
NEXT_PUBLIC_MEASUREMENT_ID_PROD='G-BB8HHZ466R'
|
|
9
|
-
|
|
10
9
|
NEXT_PUBLIC_SERVICE_DATABASE_READ_PROVIDER=nobase
|
|
11
|
-
NEXT_PUBLIC_SERVICE_DATABASE_WRITE_PROVIDER=nobase
|
|
10
|
+
NEXT_PUBLIC_SERVICE_DATABASE_WRITE_PROVIDER=nobase,firebase
|
|
12
11
|
NEXT_PUBLIC_SERVICE_DATABASE_URL=https://db-test.addiocommerce.com/
|
|
12
|
+
NEXT_PUBLIC_SERVICE_DATABASE_TOKEN=$SERVICE_DATABASE_TOKEN
|
|
13
13
|
NEXT_PUBLIC_API_URL=https://api-test.addiocommerce.com/v1
|
|
14
|
-
|
|
15
|
-
LOCAL_FIRESTORE=false
|
|
14
|
+
# NEXT_PUBLIC_API_URL=http://localhost:8080
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Interfaces/CartReservedQuantities/index.ts"],"names":[],"mappings":""}
|
|
@@ -42,6 +42,10 @@ export default interface ISpace {
|
|
|
42
42
|
end?: Date;
|
|
43
43
|
}[];
|
|
44
44
|
readonly fixed_promo_banner?: IFixedPromoBanner;
|
|
45
|
+
readonly available_menu_positions?: {
|
|
46
|
+
name: string;
|
|
47
|
+
slug: string;
|
|
48
|
+
}[];
|
|
45
49
|
};
|
|
46
50
|
readonly models?: {
|
|
47
51
|
readonly cms?: {
|
|
@@ -300,7 +304,8 @@ export declare enum spaceCollectionNames {
|
|
|
300
304
|
CATALOGUES = "catalogues",
|
|
301
305
|
ATTRIBUTES = "attributes",
|
|
302
306
|
TRANSFER_REQUESTS = "transfer_requests",
|
|
303
|
-
NOTES = "notes"
|
|
307
|
+
NOTES = "notes",
|
|
308
|
+
CART_RESERVED_QUANTITIES = "cart_reserved_quantities"
|
|
304
309
|
}
|
|
305
310
|
export declare enum POSTypeEnum {
|
|
306
311
|
PUBLIC = "public",
|
|
@@ -318,6 +323,7 @@ export interface ISpaceOptions {
|
|
|
318
323
|
readonly inventory?: {
|
|
319
324
|
readonly minimum_inventory_per_sku: boolean;
|
|
320
325
|
readonly bulk_inventory_edit?: boolean;
|
|
326
|
+
readonly reserve_on_add_to_cart?: boolean;
|
|
321
327
|
};
|
|
322
328
|
readonly tags: {
|
|
323
329
|
readonly available: boolean;
|
|
@@ -335,10 +341,6 @@ export interface ISpaceOptions {
|
|
|
335
341
|
readonly can_edit_sliders?: boolean;
|
|
336
342
|
readonly can_set_detailed_store_schedule?: boolean;
|
|
337
343
|
readonly custom_menu?: boolean;
|
|
338
|
-
readonly available_menu_positions?: {
|
|
339
|
-
name: string;
|
|
340
|
-
slug: string;
|
|
341
|
-
}[];
|
|
342
344
|
};
|
|
343
345
|
readonly security?: {
|
|
344
346
|
readonly no_nip_from_pos?: boolean;
|
|
@@ -30,6 +30,7 @@ var spaceCollectionNames;
|
|
|
30
30
|
spaceCollectionNames["ATTRIBUTES"] = "attributes";
|
|
31
31
|
spaceCollectionNames["TRANSFER_REQUESTS"] = "transfer_requests";
|
|
32
32
|
spaceCollectionNames["NOTES"] = "notes";
|
|
33
|
+
spaceCollectionNames["CART_RESERVED_QUANTITIES"] = "cart_reserved_quantities";
|
|
33
34
|
})(spaceCollectionNames = exports.spaceCollectionNames || (exports.spaceCollectionNames = {}));
|
|
34
35
|
var POSTypeEnum;
|
|
35
36
|
(function (POSTypeEnum) {
|
|
@@ -47,7 +48,8 @@ const getDefaultSpaceOptions = () => ({
|
|
|
47
48
|
},
|
|
48
49
|
inventory: {
|
|
49
50
|
minimum_inventory_per_sku: false,
|
|
50
|
-
bulk_inventory_edit: false
|
|
51
|
+
bulk_inventory_edit: false,
|
|
52
|
+
reserve_on_add_to_cart: false
|
|
51
53
|
},
|
|
52
54
|
tags: {
|
|
53
55
|
available: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Interfaces/Space/index.ts"],"names":[],"mappings":";;;AAWA,kCAAgE;AAMhE,gDAAqE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Interfaces/Space/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Interfaces/Store/index.ts"],"names":[],"mappings":";;;AAAA,wCAAwD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Interfaces/Store/index.ts"],"names":[],"mappings":";;;AAAA,wCAAwD;AA+BxD,IAAY,aAGX;AAHD,WAAY,aAAa;IACxB,gCAAe,CAAA;IACf,wCAAuB,CAAA;AACxB,CAAC,EAHW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAGxB;AAEM,MAAM,eAAe,GAAG,GAAG,EAAE;IACnC,OAAO;QACN,EAAE,EAAE,EAAE;QACN,IAAI,EAAE,aAAa,CAAC,KAAK;QACzB,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,KAAK;QACf,eAAe,EAAE,KAAK;QACtB,eAAe,EAAE,IAAI;QACrB,eAAe,EAAE,IAAI;QACrB,OAAO,EAAE,IAAA,2BAAiB,GAAE;QAC5B,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,EAAE;QACT,sBAAsB,EAAE,IAAI;QAC5B,wBAAwB,EAAE,KAAK;QAC/B,iBAAiB,EAAE,EAAE;KACrB,CAAA;AACF,CAAC,CAAA;AAhBY,QAAA,eAAe,mBAgB3B"}
|
package/dist/lib/Cart/index.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ import { BaseServiceClass } from '../baseService';
|
|
|
21
21
|
import { TransferRequest } from '../TransferRequest';
|
|
22
22
|
import ITransferRequest from '../../Interfaces/TransferRequest';
|
|
23
23
|
import { IExternalServices } from '../../Interfaces/Space/IExternalService';
|
|
24
|
+
import CartReservedQuantities from '../CartReservedQuantities';
|
|
24
25
|
export default class Cart extends BaseServiceClass<ICart> {
|
|
25
26
|
private _allTaxes;
|
|
26
27
|
constructor(data: any, collection: {
|
|
@@ -49,6 +50,7 @@ export default class Cart extends BaseServiceClass<ICart> {
|
|
|
49
50
|
checkIfAmountLeftToPayOnTotal: () => boolean;
|
|
50
51
|
getCustomerById: () => Promise<Customer | undefined>;
|
|
51
52
|
getCustomerByEmail: () => Promise<Customer | undefined>;
|
|
53
|
+
getReservedQuantities: () => Promise<CartReservedQuantities>;
|
|
52
54
|
canEnterPredefinedBox: (box: IPredefinedBox, subtotalToRespect?: number, weightToRespect?: number, totalItemsToRespect?: number, space?: Space) => boolean;
|
|
53
55
|
getTotalHeight: (unit?: 'inches' | 'centimeters') => number;
|
|
54
56
|
getTotalLength: (unit?: 'inches' | 'centimeters') => number;
|
package/dist/lib/Cart/index.js
CHANGED
|
@@ -31,13 +31,14 @@ const chunk_1 = __importDefault(require("lodash/chunk"));
|
|
|
31
31
|
const discount_1 = require("../../utils/discount");
|
|
32
32
|
const data_1 = require("../../utils/data");
|
|
33
33
|
const Cart_1 = require("../../Interfaces/Cart");
|
|
34
|
+
const Space_1 = require("../../Interfaces/Space");
|
|
34
35
|
const Customer_1 = __importDefault(require("../Customer"));
|
|
35
36
|
const console_1 = require("../../utils/console");
|
|
36
37
|
const weight_1 = require("../../utils/weight");
|
|
37
38
|
const dimensions_1 = require("../../utils/dimensions");
|
|
38
39
|
const Tax_1 = __importDefault(require("../Tax"));
|
|
39
40
|
const IDiscountRule_1 = require("../../Interfaces/Rules/IDiscountRule");
|
|
40
|
-
const
|
|
41
|
+
const Space_2 = __importDefault(require("../Space"));
|
|
41
42
|
const Shipment_1 = __importDefault(require("../Shipment"));
|
|
42
43
|
const Customer_2 = require("../../Interfaces/Customer");
|
|
43
44
|
const algolia_1 = require("../../utils/algolia");
|
|
@@ -68,6 +69,7 @@ const cart_3 = require("../../rules/GR/interfaces/cart");
|
|
|
68
69
|
const TransferRequest_1 = require("../TransferRequest");
|
|
69
70
|
const TransferRequest_2 = require("../../Interfaces/TransferRequest");
|
|
70
71
|
const inventories_1 = require("../../utils/inventories");
|
|
72
|
+
const CartReservedQuantities_1 = __importDefault(require("../CartReservedQuantities"));
|
|
71
73
|
class Cart extends baseService_1.BaseServiceClass {
|
|
72
74
|
constructor(data, collection, user, resetErrors) {
|
|
73
75
|
super(data, collection, user);
|
|
@@ -116,7 +118,7 @@ class Cart extends baseService_1.BaseServiceClass {
|
|
|
116
118
|
if (!!this._data.items && !!this._data.items.length) {
|
|
117
119
|
try {
|
|
118
120
|
if (!!!space)
|
|
119
|
-
space = await
|
|
121
|
+
space = await Space_2.default.getCurrentSpaceWithRef(this._collection.path, this._user);
|
|
120
122
|
if (!!!this._data.current_store_id && this._data.status >= Cart_1.CartStatusEnum.CART_READY_TO_PROCESS)
|
|
121
123
|
throw new Error('No store associated to cart');
|
|
122
124
|
await space.inventory.ajust(this._data.items, 'cancelled', this._data.cart_type, {
|
|
@@ -132,7 +134,7 @@ class Cart extends baseService_1.BaseServiceClass {
|
|
|
132
134
|
if (!!associatedTransfers && !!associatedTransfers.toCancel) {
|
|
133
135
|
try {
|
|
134
136
|
if (!!!space)
|
|
135
|
-
space = await
|
|
137
|
+
space = await Space_2.default.getCurrentSpaceWithRef(this._collection.path, this._user);
|
|
136
138
|
for (let transfer of associatedTransfers.toCancel) {
|
|
137
139
|
try {
|
|
138
140
|
const transferObj = new TransferRequest_1.TransferRequest(transfer, DatabaseService_1.default.asCollectionObject(space.getRef().path, space.getRef().id + '/transfer_requests'), this._user);
|
|
@@ -209,7 +211,7 @@ class Cart extends baseService_1.BaseServiceClass {
|
|
|
209
211
|
}
|
|
210
212
|
}
|
|
211
213
|
let partialCartToSave = Object.assign(Object.assign({}, this._data), partial);
|
|
212
|
-
const space = await
|
|
214
|
+
const space = await Space_2.default.getCurrentSpaceWithRef(this._collection.path, this._user);
|
|
213
215
|
if (!space.isMultiPromo()) {
|
|
214
216
|
const { cart_promos_applied } = partialCartToSave, rest = __rest(partialCartToSave, ["cart_promos_applied"]);
|
|
215
217
|
if (!!partialCartToSave.cart_promos_applied && !!partialCartToSave.cart_promos_applied.length) {
|
|
@@ -322,6 +324,27 @@ class Cart extends baseService_1.BaseServiceClass {
|
|
|
322
324
|
return undefined;
|
|
323
325
|
}
|
|
324
326
|
};
|
|
327
|
+
this.getReservedQuantities = async () => {
|
|
328
|
+
if (!this._data.id)
|
|
329
|
+
throw new Error(`Can't create reservation on unsaved cart`);
|
|
330
|
+
if (DatabaseService_1.default.getPathParent(this._collection.path) == '/')
|
|
331
|
+
throw new Error(`Can't access parent collections`);
|
|
332
|
+
const docPath = DatabaseService_1.default.addToPath(DatabaseService_1.default.getPathParent(this._collection.path), Space_1.spaceCollectionNames.CART_RESERVED_QUANTITIES);
|
|
333
|
+
const doc = await DatabaseService_1.default.getDocuments(docPath, {
|
|
334
|
+
query: [
|
|
335
|
+
{
|
|
336
|
+
field: 'cart_id',
|
|
337
|
+
operator: '==',
|
|
338
|
+
value: this._data.id
|
|
339
|
+
}
|
|
340
|
+
]
|
|
341
|
+
});
|
|
342
|
+
if (!!doc && !!doc.length)
|
|
343
|
+
return new CartReservedQuantities_1.default(doc[0].data, { path: doc[0].path }, this._user);
|
|
344
|
+
return new CartReservedQuantities_1.default({ cart_id: this._data.id, items: [] }, {
|
|
345
|
+
path: docPath
|
|
346
|
+
}, this._user);
|
|
347
|
+
};
|
|
325
348
|
this.canEnterPredefinedBox = (box, subtotalToRespect, weightToRespect, totalItemsToRespect, space) => {
|
|
326
349
|
if (!!subtotalToRespect) {
|
|
327
350
|
if (!!!this.data().subtotal && !!space) {
|
|
@@ -415,6 +438,7 @@ class Cart extends baseService_1.BaseServiceClass {
|
|
|
415
438
|
return itemsAndRestrictions;
|
|
416
439
|
};
|
|
417
440
|
this.verifyCartItems = async (space, orgID, saveToDatabase) => {
|
|
441
|
+
var _b, _c, _d;
|
|
418
442
|
try {
|
|
419
443
|
const actionsDone = [];
|
|
420
444
|
const isGR = space.data().id === services_1.SpaceIdEnum.GR;
|
|
@@ -452,6 +476,7 @@ class Cart extends baseService_1.BaseServiceClass {
|
|
|
452
476
|
if (!!__1.isTestEnv)
|
|
453
477
|
console.log('customPriceList.length: ', !!customPriceList && customPriceList.length);
|
|
454
478
|
let verifiedItems = [];
|
|
479
|
+
let installationParentProduct;
|
|
455
480
|
for (let cartItem of this.data().items) {
|
|
456
481
|
cartItem = Object.assign(Object.assign({}, cartItem), { state_after_verification: null });
|
|
457
482
|
if (!!cartItem.is_temp_prod || !!cartItem.price_override) {
|
|
@@ -506,6 +531,9 @@ class Cart extends baseService_1.BaseServiceClass {
|
|
|
506
531
|
if (!!proID && !!proCustomerTitle) {
|
|
507
532
|
parentProduct = await (0, products_1.updateProductWithInfo)(parentProduct, '', space, space.data().id, proCustomerTitle);
|
|
508
533
|
}
|
|
534
|
+
if (cartItem.parent_slug === 'installation-gazon') {
|
|
535
|
+
installationParentProduct = parentProduct;
|
|
536
|
+
}
|
|
509
537
|
let queryDeclination = parentProduct.declinations.find((decli) => decli.sku === cartItem.sku);
|
|
510
538
|
if (!!!queryDeclination) {
|
|
511
539
|
if (!!__1.isTestEnv)
|
|
@@ -713,6 +741,17 @@ class Cart extends baseService_1.BaseServiceClass {
|
|
|
713
741
|
}
|
|
714
742
|
verifiedItems.push(cartItem);
|
|
715
743
|
}
|
|
744
|
+
if (!!proID && !!proCustomerTitle && !!customPriceList && !!customPriceList.length) {
|
|
745
|
+
let installationParent = installationParentProduct;
|
|
746
|
+
if (!!!installationParent && verifiedItems.some((i) => i.parent_slug === 'installation-gazon')) {
|
|
747
|
+
const indexed = await space.indexedProducts.get({
|
|
748
|
+
query: [{ field: 'slug', operator: '==', value: 'installation-gazon' }]
|
|
749
|
+
});
|
|
750
|
+
if (!!indexed.length)
|
|
751
|
+
installationParent = (_d = (_c = (_b = indexed[0]).data) === null || _c === void 0 ? void 0 : _c.call(_b)) !== null && _d !== void 0 ? _d : indexed[0];
|
|
752
|
+
}
|
|
753
|
+
verifiedItems = (0, cart_2.applyInstallationToutInclusToVerifiedItems)(verifiedItems, customPriceList, !!proCustomerTitle, installationParent);
|
|
754
|
+
}
|
|
716
755
|
this._data = Object.assign(Object.assign({}, this._data), { items: verifiedItems.filter((item) => !!item) });
|
|
717
756
|
this.save({
|
|
718
757
|
items: verifiedItems.filter((item) => !!item)
|
|
@@ -917,7 +956,7 @@ class Cart extends baseService_1.BaseServiceClass {
|
|
|
917
956
|
return this._data;
|
|
918
957
|
};
|
|
919
958
|
this.createPaymentIntent = async () => {
|
|
920
|
-
const space = await
|
|
959
|
+
const space = await Space_2.default.getCurrentSpaceWithRef(this._collection.path, this._user);
|
|
921
960
|
const shippingServiceCredz = space.data().external_services.find((es) => !!es.is_active && es.type === 'payment');
|
|
922
961
|
if (!!!shippingServiceCredz)
|
|
923
962
|
throw new Error(`Must have a payment service to use this`);
|
|
@@ -1105,7 +1144,7 @@ class Cart extends baseService_1.BaseServiceClass {
|
|
|
1105
1144
|
!!!other_payment_method &&
|
|
1106
1145
|
!!!multi_payment_methods)
|
|
1107
1146
|
throw new Error(`Payment intent payload must be set`);
|
|
1108
|
-
const space = await
|
|
1147
|
+
const space = await Space_2.default.getCurrentSpaceWithRef(this._collection.path, this._user);
|
|
1109
1148
|
const getPaymentRef = () => !!other_payment_method && !!other_payment_method.payment_ref
|
|
1110
1149
|
? other_payment_method.payment_ref
|
|
1111
1150
|
: !!pandapay_payload
|
|
@@ -1260,7 +1299,7 @@ class Cart extends baseService_1.BaseServiceClass {
|
|
|
1260
1299
|
console.log('====================');
|
|
1261
1300
|
console.log('in setCartAsCompleted');
|
|
1262
1301
|
try {
|
|
1263
|
-
const space = await
|
|
1302
|
+
const space = await Space_2.default.getCurrentSpaceWithRef(this._collection.path, this._user);
|
|
1264
1303
|
if (!!!space)
|
|
1265
1304
|
throw new Error('could not init space obj');
|
|
1266
1305
|
console.log('---------------');
|
|
@@ -1297,7 +1336,7 @@ class Cart extends baseService_1.BaseServiceClass {
|
|
|
1297
1336
|
const shouldSaveToDB = typeof options.saveToDatabase == 'boolean' ? options.saveToDatabase : true;
|
|
1298
1337
|
try {
|
|
1299
1338
|
const itemsForInventory = (0, cart_1.getModifiedItems)(newItems, oldItems);
|
|
1300
|
-
const space = await
|
|
1339
|
+
const space = await Space_2.default.getCurrentSpaceWithRef(this._collection.path, this._user);
|
|
1301
1340
|
if (!!!space)
|
|
1302
1341
|
throw new Error('could not init space obj');
|
|
1303
1342
|
if (!!options.usedPromise) {
|
|
@@ -1414,7 +1453,7 @@ class Cart extends baseService_1.BaseServiceClass {
|
|
|
1414
1453
|
};
|
|
1415
1454
|
this.checkPromoCode = async (promoCode, oldPromos) => {
|
|
1416
1455
|
var _b;
|
|
1417
|
-
const space = await
|
|
1456
|
+
const space = await Space_2.default.getCurrentSpaceWithRef(this._collection.path, this._user);
|
|
1418
1457
|
const cartData = this._data;
|
|
1419
1458
|
if (!!!cartData)
|
|
1420
1459
|
return "Une erreur s'est produite";
|
|
@@ -1532,7 +1571,7 @@ class Cart extends baseService_1.BaseServiceClass {
|
|
|
1532
1571
|
console.log('skipping discount rule check for booking cart!');
|
|
1533
1572
|
return;
|
|
1534
1573
|
}
|
|
1535
|
-
const space = await
|
|
1574
|
+
const space = await Space_2.default.getCurrentSpaceWithRef(this._collection.path, this._user);
|
|
1536
1575
|
if (!!!space)
|
|
1537
1576
|
return new Error(`Can't find space`);
|
|
1538
1577
|
const allDiscountRules = await space.discountRules.get({
|
|
@@ -1708,7 +1747,7 @@ class Cart extends baseService_1.BaseServiceClass {
|
|
|
1708
1747
|
};
|
|
1709
1748
|
this.calculateTotals = async (currency, forcedPromos) => {
|
|
1710
1749
|
var _b, _c, _d;
|
|
1711
|
-
const space = await
|
|
1750
|
+
const space = await Space_2.default.getCurrentSpaceWithRef(this._collection.path, this._user);
|
|
1712
1751
|
if (!!!space)
|
|
1713
1752
|
return new Error(`Can't find space`);
|
|
1714
1753
|
let allTaxes = this._allTaxes;
|
|
@@ -1924,7 +1963,7 @@ class Cart extends baseService_1.BaseServiceClass {
|
|
|
1924
1963
|
};
|
|
1925
1964
|
this.getAssociatedTransferRequests = async () => {
|
|
1926
1965
|
try {
|
|
1927
|
-
const space = await
|
|
1966
|
+
const space = await Space_2.default.getCurrentSpaceWithRef(this._collection.path, this._user);
|
|
1928
1967
|
const cartTransferRequestQuery = await DatabaseService_1.default.getDocuments(DatabaseService_1.default.addToPath(space.getRef().path, space.getRef().id + '/transfer_requests'), { query: [{ field: 'associated_order', operator: '==', value: this._data.ref }] });
|
|
1929
1968
|
return cartTransferRequestQuery;
|
|
1930
1969
|
}
|
|
@@ -1971,7 +2010,7 @@ class Cart extends baseService_1.BaseServiceClass {
|
|
|
1971
2010
|
: {})), { free_shipping: false });
|
|
1972
2011
|
};
|
|
1973
2012
|
this._getCredz = async () => {
|
|
1974
|
-
const space = await
|
|
2013
|
+
const space = await Space_2.default.getCurrentSpaceWithRef(this._collection.path, this._user);
|
|
1975
2014
|
const shippingServiceCredz = space.data().external_services.filter((es) => !!es.is_active && es.type === 'shipping');
|
|
1976
2015
|
if (!!!shippingServiceCredz) {
|
|
1977
2016
|
const baseShippingCostDeterminedByTheOwner = space.data().transport_preferences.override_shipping_with_cost;
|
|
@@ -2031,7 +2070,7 @@ class Cart extends baseService_1.BaseServiceClass {
|
|
|
2031
2070
|
}, undefined);
|
|
2032
2071
|
return shipmentInfo;
|
|
2033
2072
|
}
|
|
2034
|
-
const space = await
|
|
2073
|
+
const space = await Space_2.default.getCurrentSpaceWithRef(this._collection.path, this._user);
|
|
2035
2074
|
if (!!!space)
|
|
2036
2075
|
return new Error(`Can't find space`);
|
|
2037
2076
|
this.calculateSubtotal(space);
|
|
@@ -2049,7 +2088,7 @@ class Cart extends baseService_1.BaseServiceClass {
|
|
|
2049
2088
|
return shipmentInfo.base_fee || 0;
|
|
2050
2089
|
};
|
|
2051
2090
|
this.packageCartInOneBox = async (dontSaveToCart = false) => {
|
|
2052
|
-
const space = await
|
|
2091
|
+
const space = await Space_2.default.getCurrentSpaceWithRef(this._collection.path, this._user);
|
|
2053
2092
|
const spaceData = space.data();
|
|
2054
2093
|
let boxes = [];
|
|
2055
2094
|
if (!!!spaceData.transport_preferences.predefined_boxes ||
|
|
@@ -2098,7 +2137,7 @@ class Cart extends baseService_1.BaseServiceClass {
|
|
|
2098
2137
|
return boxes;
|
|
2099
2138
|
};
|
|
2100
2139
|
this.packageCart = async (dontSaveToCart = false) => {
|
|
2101
|
-
const space = await
|
|
2140
|
+
const space = await Space_2.default.getCurrentSpaceWithRef(this._collection.path, this._user);
|
|
2102
2141
|
const spaceData = space.data();
|
|
2103
2142
|
let boxes = [];
|
|
2104
2143
|
if (!!!spaceData.transport_preferences.predefined_boxes ||
|
|
@@ -2403,7 +2442,7 @@ class Cart extends baseService_1.BaseServiceClass {
|
|
|
2403
2442
|
return false;
|
|
2404
2443
|
const { shippingServiceCredz } = resCredz;
|
|
2405
2444
|
const shipment = new Shipment_1.default(this, shippingServiceCredz);
|
|
2406
|
-
const space = await
|
|
2445
|
+
const space = await Space_2.default.getCurrentSpaceWithRef(this._collection.path, this._user);
|
|
2407
2446
|
try {
|
|
2408
2447
|
const quoteRes = await shipment.approveQuote(quote, false, {
|
|
2409
2448
|
cartItem: this,
|
|
@@ -2482,7 +2521,7 @@ class Cart extends baseService_1.BaseServiceClass {
|
|
|
2482
2521
|
defLabel = label.data || '';
|
|
2483
2522
|
if (!!__1.isTestEnv)
|
|
2484
2523
|
console.log('def', defLabel);
|
|
2485
|
-
const spaceObj = await
|
|
2524
|
+
const spaceObj = await Space_2.default.getCurrentSpaceWithRef(this._collection.path, this._user);
|
|
2486
2525
|
const useService = spaceObj.preferences.storage.getServiceToUse();
|
|
2487
2526
|
const downloadUrl = (await (0, file_1.uploadStringToPath)(useService, defLabel, spacePath, `order-${this.data().ref}`, 'pdf', {
|
|
2488
2527
|
generateFirebasePublicUrl: true
|
|
@@ -2635,7 +2674,7 @@ class Cart extends baseService_1.BaseServiceClass {
|
|
|
2635
2674
|
throw new Error(PromiseToPurchase_2.ApplyBanksToCartErrorsEnum.CUSTOM_PRICE_LIST_UNDEFINED);
|
|
2636
2675
|
await this._savePromiseToPurchaseInCart(applicableBanks, false);
|
|
2637
2676
|
try {
|
|
2638
|
-
const space = await
|
|
2677
|
+
const space = await Space_2.default.getCurrentSpaceWithRef(this._collection.path, this._user);
|
|
2639
2678
|
const remainingAmounts = await PromiseToPurchase_1.default.calculateRemainingAmounts(this, applicableBanks, applicableBanksHistory, space);
|
|
2640
2679
|
const potentialRemainingAmounts = this.calculatePotentialRemainingAmountsAndSetBanksUsedAmounts(remainingAmounts, applicableBanks, forcedBankTypeId);
|
|
2641
2680
|
if (!!!potentialRemainingAmounts.length) {
|
|
@@ -3091,7 +3130,7 @@ class Cart extends baseService_1.BaseServiceClass {
|
|
|
3091
3130
|
this.setCartAsRefunded = async (partial, itemsToReturnInventory, storeId) => {
|
|
3092
3131
|
if (!!itemsToReturnInventory && !!itemsToReturnInventory.length) {
|
|
3093
3132
|
try {
|
|
3094
|
-
const space = await
|
|
3133
|
+
const space = await Space_2.default.getCurrentSpaceWithRef(this._collection.path, this._user);
|
|
3095
3134
|
if (!!!this._data.current_store_id)
|
|
3096
3135
|
throw new Error('No store associated to cart');
|
|
3097
3136
|
await space.inventory.ajust(itemsToReturnInventory, 'refunded', this._data.cart_type, {
|