@pisell/pisellos 0.0.569 → 0.10.2
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/core/index.js +10 -6
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -3
- package/dist/model/strategy/adapter/promotion/index.js +9 -0
- package/dist/model/strategy/adapter/walletPass/evaluator.js +7 -5
- package/dist/model/strategy/adapter/walletPass/example.js +26 -3
- package/dist/model/strategy/adapter/walletPass/index.js +5 -5
- package/dist/model/strategy/adapter/walletPass/type.d.ts +0 -3
- package/dist/model/strategy/adapter/walletPass/utils.d.ts +0 -26
- package/dist/model/strategy/adapter/walletPass/utils.js +17 -92
- package/dist/model/strategy/strategy-example.js +19 -5
- package/dist/modules/BaseModule.d.ts +1 -1
- package/dist/modules/BaseModule.js +8 -10
- package/dist/modules/Cart/index.js +3 -0
- package/dist/modules/Cart/utils/cartProduct.js +1 -0
- package/dist/modules/Cart/utils/cartResource.js +0 -2
- package/dist/modules/Cart/utils/changePrice.js +9 -16
- package/dist/modules/Date/index.js +5 -1
- package/dist/modules/Discount/index.d.ts +0 -1
- package/dist/modules/Discount/index.js +7 -22
- package/dist/modules/Discount/types.d.ts +0 -1
- package/dist/modules/OpenData/index.js +2 -0
- package/dist/modules/Order/index.js +70 -40
- package/dist/modules/Payment/index.js +162 -97
- package/dist/modules/Payment/types.d.ts +4 -8
- package/dist/modules/Payment/walletpass.d.ts +0 -2
- package/dist/modules/Payment/walletpass.js +5 -4
- package/dist/modules/ProductList/index.d.ts +1 -1
- package/dist/modules/ProductList/index.js +3 -12
- package/dist/modules/ProductList/types.d.ts +0 -1
- package/dist/modules/Rules/index.js +126 -427
- package/dist/modules/SalesSummary/utils.js +1 -2
- package/dist/modules/Schedule/getDateIsInSchedule.js +0 -5
- package/dist/modules/Schedule/index.js +1 -0
- package/dist/modules/Schedule/utils.js +1 -0
- package/dist/modules/Step/index.js +1 -0
- package/dist/modules/Summary/utils.js +22 -43
- package/dist/plugins/request.js +4 -1
- package/dist/plugins/window.js +6 -2
- package/dist/server/index.js +129 -97
- package/dist/server/modules/menu/index.js +41 -32
- package/dist/server/modules/order/index.js +4 -2
- package/dist/server/modules/products/index.js +42 -24
- package/dist/server/modules/quotation/index.js +38 -29
- package/dist/server/modules/resource/index.js +4 -3
- package/dist/server/modules/schedule/index.js +35 -27
- package/dist/server/utils/product.js +1 -0
- package/dist/solution/BaseSales/index.js +41 -38
- package/dist/solution/BookingByStep/index.d.ts +1 -1
- package/dist/solution/BookingByStep/index.js +60 -11
- package/dist/solution/BookingByStep/utils/capacity.js +11 -1
- package/dist/solution/BookingByStep/utils/resources.js +3 -1
- package/dist/solution/BookingByStep/utils/timeslots.js +43 -2
- package/dist/solution/BookingTicket/index.d.ts +1 -1
- package/dist/solution/BookingTicket/index.js +2 -0
- package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +7 -6
- package/dist/solution/BookingTicket/utils/scan/handleScan.js +31 -25
- package/dist/solution/BookingTicket/utils/scan/index.js +10 -6
- package/dist/solution/BuyTickets/index.js +12 -9
- package/dist/solution/Checkout/index.js +252 -177
- package/dist/solution/Checkout/utils/index.js +16 -4
- package/dist/solution/RegisterAndLogin/index.js +76 -30
- package/dist/solution/ScanOrder/index.js +60 -50
- package/dist/solution/ShopDiscount/index.js +14 -15
- package/dist/solution/ShopDiscount/types.d.ts +4 -5
- package/dist/solution/ShopDiscount/utils.d.ts +0 -9
- package/dist/solution/ShopDiscount/utils.js +0 -9
- package/dist/solution/VenueBooking/index.d.ts +3 -31
- package/dist/solution/VenueBooking/index.js +496 -651
- package/dist/solution/VenueBooking/types.d.ts +1 -3
- package/dist/solution/VenueBooking/types.js +0 -1
- package/dist/solution/VenueBooking/utils/dateSummary.d.ts +2 -2
- package/dist/solution/VenueBooking/utils/dateSummary.js +25 -12
- package/dist/solution/VenueBooking/utils/timeSlot.d.ts +0 -2
- package/dist/solution/VenueBooking/utils/timeSlot.js +4 -9
- package/dist/types/index.d.ts +1 -1
- package/dist/utils/task.js +18 -15
- package/dist/utils/watch.js +1 -0
- package/lib/apis/picoding.js +0 -2
- package/lib/core/index.js +132 -130
- package/lib/effects/index.js +57 -46
- package/lib/index.d.ts +0 -1
- package/lib/index.js +50 -92
- package/lib/model/index.js +21 -14
- package/lib/model/strategy/adapter/dataVariant/adapter.js +50 -38
- package/lib/model/strategy/adapter/dataVariant/evaluator.js +236 -162
- package/lib/model/strategy/adapter/dataVariant/examples.js +237 -229
- package/lib/model/strategy/adapter/dataVariant/index.js +34 -39
- package/lib/model/strategy/adapter/dataVariant/type.js +28 -57
- package/lib/model/strategy/adapter/index.js +64 -100
- package/lib/model/strategy/adapter/itemRule/adapter.js +144 -156
- package/lib/model/strategy/adapter/itemRule/evaluator.js +48 -36
- package/lib/model/strategy/adapter/itemRule/examples.js +225 -295
- package/lib/model/strategy/adapter/itemRule/index.js +57 -83
- package/lib/model/strategy/adapter/itemRule/type.js +36 -97
- package/lib/model/strategy/adapter/promotion/adapter.js +63 -84
- package/lib/model/strategy/adapter/promotion/evaluator.js +231 -381
- package/lib/model/strategy/adapter/promotion/examples.js +159 -139
- package/lib/model/strategy/adapter/promotion/index.js +49 -1
- package/lib/model/strategy/adapter/promotion/type.js +35 -199
- package/lib/model/strategy/adapter/type.js +16 -4
- package/lib/model/strategy/adapter/walletPass/evaluator.js +152 -180
- package/lib/model/strategy/adapter/walletPass/example.js +190 -217
- package/lib/model/strategy/adapter/walletPass/index.js +51 -75
- package/lib/model/strategy/adapter/walletPass/locales.js +58 -36
- package/lib/model/strategy/adapter/walletPass/type.d.ts +0 -3
- package/lib/model/strategy/adapter/walletPass/type.js +16 -4
- package/lib/model/strategy/adapter/walletPass/utils.d.ts +0 -26
- package/lib/model/strategy/adapter/walletPass/utils.js +383 -678
- package/lib/model/strategy/engine.js +168 -270
- package/lib/model/strategy/index.js +34 -49
- package/lib/model/strategy/strategy-example.js +239 -243
- package/lib/model/strategy/type.js +40 -100
- package/lib/modules/Account/index.js +53 -39
- package/lib/modules/Account/types.js +33 -20
- package/lib/modules/AccountList/index.js +154 -116
- package/lib/modules/AccountList/types.js +31 -30
- package/lib/modules/AccountList/utils.js +30 -18
- package/lib/modules/BaseModule.d.ts +1 -1
- package/lib/modules/BaseModule.js +46 -25
- package/lib/modules/BookingContext/index.js +136 -158
- package/lib/modules/BookingContext/types.js +32 -46
- package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +143 -131
- package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +82 -75
- package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +150 -170
- package/lib/modules/BookingContext/utils/flexible.js +55 -38
- package/lib/modules/BookingContext/utils/formatResourceList.js +34 -19
- package/lib/modules/BookingContext/utils/index.js +41 -124
- package/lib/modules/BookingContext/utils/noResource.js +70 -58
- package/lib/modules/BookingContext/utils/orderLineDisplay.js +41 -14
- package/lib/modules/BookingContext/utils/productExtend.js +155 -202
- package/lib/modules/BookingContext/utils/resourceErrors.js +53 -53
- package/lib/modules/BookingContext/utils/resourceSelection.js +41 -19
- package/lib/modules/BookingContext/utils/resources.js +167 -209
- package/lib/modules/BookingContext/utils/serviceTimes.js +116 -115
- package/lib/modules/BookingContext/utils/timeSlices.js +80 -70
- package/lib/modules/Cart/index.js +124 -170
- package/lib/modules/Cart/types.js +51 -46
- package/lib/modules/Cart/utils/cartAccount.js +39 -40
- package/lib/modules/Cart/utils/cartDate.js +61 -56
- package/lib/modules/Cart/utils/cartDiscount.js +33 -28
- package/lib/modules/Cart/utils/cartNote.js +32 -27
- package/lib/modules/Cart/utils/cartProduct.js +251 -321
- package/lib/modules/Cart/utils/cartRelationForms.js +35 -29
- package/lib/modules/Cart/utils/cartResource.js +78 -72
- package/lib/modules/Cart/utils/changePrice.js +50 -28
- package/lib/modules/Cart/utils/index.js +48 -106
- package/lib/modules/Customer/constants.js +34 -13
- package/lib/modules/Customer/index.js +169 -232
- package/lib/modules/Customer/types.js +35 -38
- package/lib/modules/Date/index.js +115 -116
- package/lib/modules/Date/types.js +28 -16
- package/lib/modules/Date/utils.js +123 -174
- package/lib/modules/Discount/index.d.ts +0 -1
- package/lib/modules/Discount/index.js +128 -130
- package/lib/modules/Discount/types.d.ts +0 -1
- package/lib/modules/Discount/types.js +31 -9
- package/lib/modules/Guests/index.js +56 -30
- package/lib/modules/Guests/types.js +33 -23
- package/lib/modules/Holder/index.js +189 -209
- package/lib/modules/Holder/types.js +16 -4
- package/lib/modules/Holder/utils.js +49 -20
- package/lib/modules/OpenData/index.js +76 -69
- package/lib/modules/OpenData/types.js +16 -4
- package/lib/modules/OpenData/utils.js +78 -44
- package/lib/modules/Order/index.js +1909 -1572
- package/lib/modules/Order/types.js +35 -78
- package/lib/modules/Order/utils/bundleDiscountHydration.js +74 -41
- package/lib/modules/Order/utils/manualProductDiscount.js +123 -124
- package/lib/modules/Order/utils/orderCollectionIdentity.js +210 -148
- package/lib/modules/Order/utils.js +634 -799
- package/lib/modules/Payment/cash.js +33 -20
- package/lib/modules/Payment/cashRecommendationAlgorithm.js +76 -145
- package/lib/modules/Payment/eftpos.js +30 -16
- package/lib/modules/Payment/index.js +378 -518
- package/lib/modules/Payment/mx51.js +0 -1
- package/lib/modules/Payment/types.d.ts +4 -8
- package/lib/modules/Payment/types.js +107 -216
- package/lib/modules/Payment/utils.js +48 -51
- package/lib/modules/Payment/walletpass.d.ts +0 -2
- package/lib/modules/Payment/walletpass.js +211 -226
- package/lib/modules/Product/index.js +46 -51
- package/lib/modules/Product/types.js +16 -4
- package/lib/modules/Product/utils.js +33 -32
- package/lib/modules/ProductList/index.d.ts +1 -1
- package/lib/modules/ProductList/index.js +117 -117
- package/lib/modules/ProductList/types.d.ts +0 -1
- package/lib/modules/ProductList/types.js +31 -9
- package/lib/modules/Quotation/index.js +100 -66
- package/lib/modules/Quotation/types.js +16 -4
- package/lib/modules/Resource/index.js +59 -27
- package/lib/modules/Resource/types.js +32 -22
- package/lib/modules/Resource/utils.js +38 -30
- package/lib/modules/ResourcePlanner/index.js +61 -60
- package/lib/modules/ResourcePlanner/planner.js +384 -346
- package/lib/modules/ResourcePlanner/types.js +16 -4
- package/lib/modules/Rules/index.js +903 -1475
- package/lib/modules/Rules/types.js +40 -17
- package/lib/modules/SalesSummary/index.js +90 -85
- package/lib/modules/SalesSummary/types.js +16 -4
- package/lib/modules/SalesSummary/utils.js +427 -351
- package/lib/modules/ScanOrderLogger/index.js +79 -59
- package/lib/modules/ScanOrderLogger/providers/feishu.js +78 -54
- package/lib/modules/ScanOrderLogger/providers/grafana.js +36 -13
- package/lib/modules/ScanOrderLogger/types.js +16 -4
- package/lib/modules/Schedule/getDateIsInSchedule.js +163 -339
- package/lib/modules/Schedule/index.js +114 -100
- package/lib/modules/Schedule/type.js +16 -4
- package/lib/modules/Schedule/types.js +16 -4
- package/lib/modules/Schedule/utils.js +291 -433
- package/lib/modules/Step/index.js +52 -40
- package/lib/modules/Step/tyeps.js +16 -4
- package/lib/modules/Summary/index.js +71 -66
- package/lib/modules/Summary/types.js +16 -4
- package/lib/modules/Summary/utils.js +418 -791
- package/lib/modules/SurchargeList/index.js +60 -46
- package/lib/modules/SurchargeList/types.js +16 -4
- package/lib/modules/index.js +63 -245
- package/lib/plugins/app.js +16 -4
- package/lib/plugins/index.js +25 -36
- package/lib/plugins/request.js +126 -137
- package/lib/plugins/shopStore.js +16 -4
- package/lib/plugins/user.js +16 -4
- package/lib/plugins/window.js +179 -171
- package/lib/server/index.js +2337 -2675
- package/lib/server/modules/floor-plan/index.js +123 -102
- package/lib/server/modules/floor-plan/types.js +30 -15
- package/lib/server/modules/index.js +68 -106
- package/lib/server/modules/menu/index.js +122 -146
- package/lib/server/modules/menu/types.js +31 -18
- package/lib/server/modules/order/index.js +642 -567
- package/lib/server/modules/order/types.js +32 -117
- package/lib/server/modules/order/utils/filterBookings.js +194 -219
- package/lib/server/modules/order/utils/filterOrders.js +92 -118
- package/lib/server/modules/payment/index.js +83 -59
- package/lib/server/modules/payment/types.js +16 -4
- package/lib/server/modules/products/index.js +459 -575
- package/lib/server/modules/products/types.js +34 -44
- package/lib/server/modules/quotation/index.js +172 -137
- package/lib/server/modules/quotation/types.js +31 -21
- package/lib/server/modules/resource/index.js +184 -213
- package/lib/server/modules/resource/types.js +33 -42
- package/lib/server/modules/schedule/index.js +123 -135
- package/lib/server/modules/schedule/types.js +21 -14
- package/lib/server/modules/schedule/utils.js +163 -334
- package/lib/server/types.js +16 -4
- package/lib/server/utils/index.js +23 -25
- package/lib/server/utils/product.js +139 -196
- package/lib/server/utils/schedule.js +41 -34
- package/lib/server/utils/small-ticket.js +456 -478
- package/lib/server/utils/time.js +49 -40
- package/lib/solution/BaseSales/index.js +1016 -850
- package/lib/solution/BaseSales/types.js +37 -41
- package/lib/solution/BaseSales/utils/cartPromotion.js +460 -611
- package/lib/solution/BaseSales/utils/parseSalesResponse.js +105 -85
- package/lib/solution/BaseSales/utils/quotationPrice.js +114 -56
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +143 -102
- package/lib/solution/BaseSales/utils.js +140 -155
- package/lib/solution/BookingByStep/index.d.ts +1 -1
- package/lib/solution/BookingByStep/index.js +1340 -1530
- package/lib/solution/BookingByStep/types.js +99 -40
- package/lib/solution/BookingByStep/utils/capacity.js +160 -192
- package/lib/solution/BookingByStep/utils/products.js +52 -42
- package/lib/solution/BookingByStep/utils/resources.js +330 -527
- package/lib/solution/BookingByStep/utils/stock.js +44 -65
- package/lib/solution/BookingByStep/utils/timeslots.js +131 -129
- package/lib/solution/BookingTicket/index.d.ts +1 -1
- package/lib/solution/BookingTicket/index.js +459 -543
- package/lib/solution/BookingTicket/types.js +77 -99
- package/lib/solution/BookingTicket/utils/addProductDecision.js +184 -219
- package/lib/solution/BookingTicket/utils/addTimeAvailability.js +89 -58
- package/lib/solution/BookingTicket/utils/bookingStatus.js +78 -107
- package/lib/solution/BookingTicket/utils/cartView.js +94 -110
- package/lib/solution/BookingTicket/utils/exampleData.js +0 -185
- package/lib/solution/BookingTicket/utils/orderCustomer.js +41 -18
- package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +86 -219
- package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +93 -144
- package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +91 -79
- package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +41 -54
- package/lib/solution/BookingTicket/utils/scan/handleScan.js +81 -84
- package/lib/solution/BookingTicket/utils/scan/index.js +104 -98
- package/lib/solution/BookingTicket/utils/scan/scanCache.js +43 -90
- package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +64 -52
- package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +58 -56
- package/lib/solution/BuyTickets/index.js +70 -67
- package/lib/solution/BuyTickets/types.js +38 -22
- package/lib/solution/Checkout/index.js +1158 -1451
- package/lib/solution/Checkout/types.js +61 -91
- package/lib/solution/Checkout/utils/index.js +156 -228
- package/lib/solution/PlaceOrder/index.js +0 -55
- package/lib/solution/RegisterAndLogin/config.js +460 -493
- package/lib/solution/RegisterAndLogin/index.js +630 -633
- package/lib/solution/RegisterAndLogin/types.js +76 -189
- package/lib/solution/RegisterAndLogin/utils.js +125 -183
- package/lib/solution/Sales/index.js +320 -317
- package/lib/solution/Sales/types.js +33 -27
- package/lib/solution/ScanOrder/index.js +862 -831
- package/lib/solution/ScanOrder/types.js +34 -33
- package/lib/solution/ScanOrder/utils.js +371 -406
- package/lib/solution/ShopDiscount/index.js +233 -235
- package/lib/solution/ShopDiscount/types.d.ts +4 -5
- package/lib/solution/ShopDiscount/types.js +37 -15
- package/lib/solution/ShopDiscount/utils.d.ts +0 -9
- package/lib/solution/ShopDiscount/utils.js +172 -309
- package/lib/solution/UnifiedBookingSales/index.js +405 -379
- package/lib/solution/UnifiedBookingSales/types.js +31 -12
- package/lib/solution/VenueBooking/index.d.ts +3 -31
- package/lib/solution/VenueBooking/index.js +916 -967
- package/lib/solution/VenueBooking/types.d.ts +1 -3
- package/lib/solution/VenueBooking/types.js +39 -20
- package/lib/solution/VenueBooking/utils/dateSummary.d.ts +2 -2
- package/lib/solution/VenueBooking/utils/dateSummary.js +62 -25
- package/lib/solution/VenueBooking/utils/resource.js +54 -31
- package/lib/solution/VenueBooking/utils/slotMerge.js +107 -94
- package/lib/solution/VenueBooking/utils/timeSlot.d.ts +0 -2
- package/lib/solution/VenueBooking/utils/timeSlot.js +133 -138
- package/lib/solution/VenueBooking/utils.js +67 -130
- package/lib/solution/index.js +41 -124
- package/lib/store/createStore.js +29 -32
- package/lib/types/index.d.ts +1 -1
- package/lib/types/index.js +16 -4
- package/lib/utils/task.js +36 -36
- package/lib/utils/watch.js +47 -81
- package/package.json +2 -4
- package/dist/solution/VenueBooking/utils/smartPricing.d.ts +0 -70
- package/dist/solution/VenueBooking/utils/smartPricing.js +0 -233
- package/lib/solution/VenueBooking/utils/smartPricing.d.ts +0 -70
- package/lib/solution/VenueBooking/utils/smartPricing.js +0 -192
|
@@ -1,64 +1,88 @@
|
|
|
1
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
2
18
|
|
|
3
|
-
|
|
4
|
-
|
|
19
|
+
// src/modules/Order/utils/orderCollectionIdentity.ts
|
|
20
|
+
var orderCollectionIdentity_exports = {};
|
|
21
|
+
__export(orderCollectionIdentity_exports, {
|
|
22
|
+
applyOrderCollectionUidRemaps: () => applyOrderCollectionUidRemaps,
|
|
23
|
+
buildOrderCollectionFallbackUid: () => buildOrderCollectionFallbackUid,
|
|
24
|
+
createUuidV4: () => createUuidV4,
|
|
25
|
+
getOrderCollectionPersistentId: () => getOrderCollectionPersistentId,
|
|
26
|
+
getOrderCollectionReferenceUid: () => getOrderCollectionReferenceUid,
|
|
27
|
+
getOrderCollectionUid: () => getOrderCollectionUid,
|
|
28
|
+
isBlankOrderCollectionIdentity: () => isBlankOrderCollectionIdentity,
|
|
29
|
+
isSameOrderCollectionItem: () => isSameOrderCollectionItem,
|
|
30
|
+
mergeOrderCollectionItems: () => mergeOrderCollectionItems,
|
|
31
|
+
normalizeOrderCollection: () => normalizeOrderCollection,
|
|
32
|
+
normalizeOrderCollections: () => normalizeOrderCollections,
|
|
33
|
+
setOrderCollectionUid: () => setOrderCollectionUid
|
|
5
34
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
exports.getOrderCollectionPersistentId = getOrderCollectionPersistentId;
|
|
10
|
-
exports.getOrderCollectionReferenceUid = getOrderCollectionReferenceUid;
|
|
11
|
-
exports.getOrderCollectionUid = getOrderCollectionUid;
|
|
12
|
-
exports.isBlankOrderCollectionIdentity = isBlankOrderCollectionIdentity;
|
|
13
|
-
exports.isSameOrderCollectionItem = isSameOrderCollectionItem;
|
|
14
|
-
exports.mergeOrderCollectionItems = mergeOrderCollectionItems;
|
|
15
|
-
exports.normalizeOrderCollection = normalizeOrderCollection;
|
|
16
|
-
exports.normalizeOrderCollections = normalizeOrderCollections;
|
|
17
|
-
exports.setOrderCollectionUid = setOrderCollectionUid;
|
|
18
|
-
var _lodashEs = require("lodash-es");
|
|
19
|
-
const IDENTITY_CONFIG = {
|
|
35
|
+
module.exports = __toCommonJS(orderCollectionIdentity_exports);
|
|
36
|
+
var import_lodash_es = require("lodash-es");
|
|
37
|
+
var IDENTITY_CONFIG = {
|
|
20
38
|
product: {
|
|
21
|
-
persistentIdField:
|
|
22
|
-
uidField:
|
|
23
|
-
fallbackPrefix:
|
|
39
|
+
persistentIdField: "order_detail_id",
|
|
40
|
+
uidField: "unique_identification_number",
|
|
41
|
+
fallbackPrefix: "os-fallback:product:order-detail"
|
|
24
42
|
},
|
|
25
43
|
booking: {
|
|
26
|
-
persistentIdField:
|
|
27
|
-
uidField:
|
|
28
|
-
fallbackPrefix:
|
|
44
|
+
persistentIdField: "schedule_event_id",
|
|
45
|
+
uidField: "unique_identification_number",
|
|
46
|
+
fallbackPrefix: "os-fallback:booking:schedule-event"
|
|
29
47
|
},
|
|
30
48
|
payment: {
|
|
31
|
-
persistentIdField:
|
|
32
|
-
uidField:
|
|
33
|
-
fallbackPrefix:
|
|
49
|
+
persistentIdField: "order_payment_id",
|
|
50
|
+
uidField: "unique_payment_number",
|
|
51
|
+
fallbackPrefix: "os-fallback:payment:order-payment"
|
|
34
52
|
}
|
|
35
53
|
};
|
|
36
54
|
function createUuidV4() {
|
|
37
|
-
const template =
|
|
38
|
-
return template.replace(/[xy]/g, char => {
|
|
55
|
+
const template = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";
|
|
56
|
+
return template.replace(/[xy]/g, (char) => {
|
|
39
57
|
const randomValue = Math.floor(Math.random() * 16);
|
|
40
|
-
const value = char ===
|
|
58
|
+
const value = char === "x" ? randomValue : randomValue & 3 | 8;
|
|
41
59
|
return value.toString(16);
|
|
42
60
|
});
|
|
43
61
|
}
|
|
44
62
|
function isBlankOrderCollectionIdentity(value) {
|
|
45
|
-
return value ===
|
|
63
|
+
return value === void 0 || value === null || value === "";
|
|
46
64
|
}
|
|
47
65
|
function getOrderCollectionPersistentId(kind, item) {
|
|
48
66
|
const record = item;
|
|
49
|
-
if (!record)
|
|
67
|
+
if (!record)
|
|
68
|
+
return null;
|
|
50
69
|
const value = record[IDENTITY_CONFIG[kind].persistentIdField];
|
|
51
|
-
if (isBlankOrderCollectionIdentity(value))
|
|
70
|
+
if (isBlankOrderCollectionIdentity(value))
|
|
71
|
+
return null;
|
|
52
72
|
return String(value);
|
|
53
73
|
}
|
|
54
74
|
function getOrderCollectionUid(kind, item) {
|
|
75
|
+
var _a;
|
|
55
76
|
const record = item;
|
|
56
|
-
if (!record)
|
|
77
|
+
if (!record)
|
|
78
|
+
return null;
|
|
57
79
|
const uidField = IDENTITY_CONFIG[kind].uidField;
|
|
58
|
-
const metadataValue = record.metadata
|
|
59
|
-
if (!isBlankOrderCollectionIdentity(metadataValue))
|
|
80
|
+
const metadataValue = (_a = record.metadata) == null ? void 0 : _a[uidField];
|
|
81
|
+
if (!isBlankOrderCollectionIdentity(metadataValue))
|
|
82
|
+
return String(metadataValue);
|
|
60
83
|
const topLevelValue = record[uidField];
|
|
61
|
-
if (isBlankOrderCollectionIdentity(topLevelValue))
|
|
84
|
+
if (isBlankOrderCollectionIdentity(topLevelValue))
|
|
85
|
+
return null;
|
|
62
86
|
return String(topLevelValue);
|
|
63
87
|
}
|
|
64
88
|
function buildOrderCollectionFallbackUid(kind, persistentId) {
|
|
@@ -66,24 +90,21 @@ function buildOrderCollectionFallbackUid(kind, persistentId) {
|
|
|
66
90
|
}
|
|
67
91
|
function getOrderCollectionReferenceUid(kind, item) {
|
|
68
92
|
const uid = getOrderCollectionUid(kind, item);
|
|
69
|
-
if (uid)
|
|
93
|
+
if (uid)
|
|
94
|
+
return uid;
|
|
70
95
|
const persistentId = getOrderCollectionPersistentId(kind, item);
|
|
71
96
|
return persistentId ? buildOrderCollectionFallbackUid(kind, persistentId) : null;
|
|
72
97
|
}
|
|
73
98
|
function setOrderCollectionUid(kind, item, uid) {
|
|
74
|
-
const record = (0,
|
|
99
|
+
const record = (0, import_lodash_es.cloneDeep)(item || {});
|
|
75
100
|
const uidField = IDENTITY_CONFIG[kind].uidField;
|
|
76
101
|
record.metadata = {
|
|
77
|
-
...
|
|
102
|
+
...record.metadata && typeof record.metadata === "object" ? record.metadata : {},
|
|
78
103
|
[uidField]: uid
|
|
79
104
|
};
|
|
80
105
|
delete record[uidField];
|
|
81
106
|
return record;
|
|
82
107
|
}
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* 持久化行 ID 是服务端事实主键;只有至少一侧尚未持久化时,才允许用 runtime UID 对齐。
|
|
86
|
-
*/
|
|
87
108
|
function isSameOrderCollectionItem(kind, left, right) {
|
|
88
109
|
const leftPersistentId = getOrderCollectionPersistentId(kind, left);
|
|
89
110
|
const rightPersistentId = getOrderCollectionPersistentId(kind, right);
|
|
@@ -95,8 +116,9 @@ function isSameOrderCollectionItem(kind, left, right) {
|
|
|
95
116
|
return Boolean(leftUid && rightUid && leftUid === rightUid);
|
|
96
117
|
}
|
|
97
118
|
function mergeOrderCollectionItems(kind, currentItem, incomingItem, options) {
|
|
98
|
-
|
|
99
|
-
const
|
|
119
|
+
var _a;
|
|
120
|
+
const current = (0, import_lodash_es.cloneDeep)(currentItem || {});
|
|
121
|
+
const incoming = (0, import_lodash_es.cloneDeep)(incomingItem || {});
|
|
100
122
|
const persistentIdField = IDENTITY_CONFIG[kind].persistentIdField;
|
|
101
123
|
const currentPersistentIdValue = current[persistentIdField];
|
|
102
124
|
const incomingPersistentIdValue = incoming[persistentIdField];
|
|
@@ -107,19 +129,19 @@ function mergeOrderCollectionItems(kind, currentItem, incomingItem, options) {
|
|
|
107
129
|
...current,
|
|
108
130
|
...incoming,
|
|
109
131
|
metadata: {
|
|
110
|
-
...
|
|
111
|
-
...
|
|
132
|
+
...current.metadata && typeof current.metadata === "object" ? current.metadata : {},
|
|
133
|
+
...incoming.metadata && typeof incoming.metadata === "object" ? incoming.metadata : {}
|
|
112
134
|
}
|
|
113
135
|
};
|
|
114
|
-
|
|
115
|
-
// UID 对齐允许一侧尚未持久化,但稀疏 incoming 的 null/空值不能擦掉已存在行 ID。
|
|
116
136
|
if (!isBlankOrderCollectionIdentity(incomingPersistentIdValue)) {
|
|
117
137
|
merged[persistentIdField] = incomingPersistentIdValue;
|
|
118
138
|
} else if (!isBlankOrderCollectionIdentity(currentPersistentIdValue)) {
|
|
119
139
|
merged[persistentIdField] = currentPersistentIdValue;
|
|
120
140
|
}
|
|
121
|
-
const incomingUidIsDerived = Boolean(
|
|
122
|
-
|
|
141
|
+
const incomingUidIsDerived = Boolean(
|
|
142
|
+
incomingUid && persistentId && (incomingUid === buildOrderCollectionFallbackUid(kind, persistentId) || incomingUid.startsWith(`${buildOrderCollectionFallbackUid(kind, persistentId)}:conflict:`))
|
|
143
|
+
);
|
|
144
|
+
const uid = (incomingUid && !incomingUidIsDerived ? incomingUid : null) || currentUid || incomingUid || ((options == null ? void 0 : options.ensureUid) === false ? null : persistentId ? buildOrderCollectionFallbackUid(kind, persistentId) : ((_a = options == null ? void 0 : options.createAnonymousUid) == null ? void 0 : _a.call(options)) || createUuidV4());
|
|
123
145
|
return uid ? setOrderCollectionUid(kind, merged, uid) : merged;
|
|
124
146
|
}
|
|
125
147
|
function createEmptyIdentityStats() {
|
|
@@ -132,15 +154,14 @@ function createEmptyIdentityStats() {
|
|
|
132
154
|
}
|
|
133
155
|
function allocateAnonymousUid(occupiedUids, createAnonymousUid) {
|
|
134
156
|
let uid = createAnonymousUid();
|
|
135
|
-
while (occupiedUids.has(uid))
|
|
157
|
+
while (occupiedUids.has(uid))
|
|
158
|
+
uid = createAnonymousUid();
|
|
136
159
|
return uid;
|
|
137
160
|
}
|
|
138
161
|
function allocatePersistentConflictUid(kind, persistentId, occupiedUids) {
|
|
139
162
|
const fallbackUid = buildOrderCollectionFallbackUid(kind, persistentId);
|
|
140
|
-
if (!occupiedUids.has(fallbackUid))
|
|
141
|
-
|
|
142
|
-
// 极端情况下其它行可能把本行 fallback 当作显式 UID 使用;继续派生稳定后缀,
|
|
143
|
-
// 避免修复冲突后仍留下重复 UID。规范化结果一旦持久化,后续读取保持幂等。
|
|
163
|
+
if (!occupiedUids.has(fallbackUid))
|
|
164
|
+
return fallbackUid;
|
|
144
165
|
let suffix = 1;
|
|
145
166
|
let candidate = `${fallbackUid}:conflict:${suffix}`;
|
|
146
167
|
while (occupiedUids.has(candidate)) {
|
|
@@ -149,32 +170,38 @@ function allocatePersistentConflictUid(kind, persistentId, occupiedUids) {
|
|
|
149
170
|
}
|
|
150
171
|
return candidate;
|
|
151
172
|
}
|
|
152
|
-
|
|
153
|
-
/**
|
|
154
|
-
* 规范化单一数组:强身份重复时保留首次位置、用最后一条业务字段覆盖,并统一补 UID。
|
|
155
|
-
*/
|
|
156
173
|
function normalizeOrderCollection(kind, items, options) {
|
|
174
|
+
var _a, _b;
|
|
157
175
|
const stats = createEmptyIdentityStats();
|
|
158
176
|
const uidRemaps = [];
|
|
159
177
|
const result = [];
|
|
160
|
-
const ensureUid = options
|
|
161
|
-
const createAnonymousUid = options
|
|
178
|
+
const ensureUid = (options == null ? void 0 : options.ensureUid) !== false;
|
|
179
|
+
const createAnonymousUid = (options == null ? void 0 : options.createAnonymousUid) || createUuidV4;
|
|
162
180
|
for (const rawItem of items || []) {
|
|
163
|
-
const item = (0,
|
|
164
|
-
const existingIndex = result.findIndex(
|
|
181
|
+
const item = (0, import_lodash_es.cloneDeep)(rawItem);
|
|
182
|
+
const existingIndex = result.findIndex(
|
|
183
|
+
(existing) => isSameOrderCollectionItem(kind, existing, item)
|
|
184
|
+
);
|
|
165
185
|
if (existingIndex === -1) {
|
|
166
186
|
result.push(item);
|
|
167
187
|
continue;
|
|
168
188
|
}
|
|
169
|
-
const previousReferenceUid = getOrderCollectionReferenceUid(
|
|
189
|
+
const previousReferenceUid = getOrderCollectionReferenceUid(
|
|
190
|
+
kind,
|
|
191
|
+
result[existingIndex]
|
|
192
|
+
);
|
|
170
193
|
const incomingReferenceUid = getOrderCollectionReferenceUid(kind, item);
|
|
171
|
-
result[existingIndex] = mergeOrderCollectionItems(
|
|
172
|
-
|
|
173
|
-
|
|
194
|
+
result[existingIndex] = mergeOrderCollectionItems(
|
|
195
|
+
kind,
|
|
196
|
+
result[existingIndex],
|
|
197
|
+
item,
|
|
198
|
+
{ ensureUid: false }
|
|
199
|
+
);
|
|
174
200
|
const nextUid = getOrderCollectionUid(kind, result[existingIndex]);
|
|
175
201
|
if (nextUid) {
|
|
176
|
-
for (const from of new Set([previousReferenceUid, incomingReferenceUid])) {
|
|
177
|
-
if (!from || from === nextUid)
|
|
202
|
+
for (const from of /* @__PURE__ */ new Set([previousReferenceUid, incomingReferenceUid])) {
|
|
203
|
+
if (!from || from === nextUid)
|
|
204
|
+
continue;
|
|
178
205
|
uidRemaps.push({
|
|
179
206
|
kind,
|
|
180
207
|
from,
|
|
@@ -185,12 +212,9 @@ function normalizeOrderCollection(kind, items, options) {
|
|
|
185
212
|
}
|
|
186
213
|
stats.collapsedDuplicateCount += 1;
|
|
187
214
|
}
|
|
188
|
-
if (!ensureUid)
|
|
189
|
-
items: result,
|
|
190
|
-
|
|
191
|
-
uidRemaps
|
|
192
|
-
};
|
|
193
|
-
const occupiedUids = new Set();
|
|
215
|
+
if (!ensureUid)
|
|
216
|
+
return { items: result, stats, uidRemaps };
|
|
217
|
+
const occupiedUids = /* @__PURE__ */ new Set();
|
|
194
218
|
for (let index = 0; index < result.length; index += 1) {
|
|
195
219
|
let item = result[index];
|
|
196
220
|
const persistentId = getOrderCollectionPersistentId(kind, item);
|
|
@@ -200,7 +224,8 @@ function normalizeOrderCollection(kind, items, options) {
|
|
|
200
224
|
item = setOrderCollectionUid(kind, item, uid);
|
|
201
225
|
result[index] = item;
|
|
202
226
|
stats.backfilledUidCount += 1;
|
|
203
|
-
if (!persistentId)
|
|
227
|
+
if (!persistentId)
|
|
228
|
+
stats.anonymousRowCount += 1;
|
|
204
229
|
}
|
|
205
230
|
if (occupiedUids.has(uid)) {
|
|
206
231
|
const replacementUid = persistentId ? allocatePersistentConflictUid(kind, persistentId, occupiedUids) : allocateAnonymousUid(occupiedUids, createAnonymousUid);
|
|
@@ -210,120 +235,123 @@ function normalizeOrderCollection(kind, items, options) {
|
|
|
210
235
|
from: uid,
|
|
211
236
|
to: replacementUid,
|
|
212
237
|
persistentId,
|
|
213
|
-
scope:
|
|
214
|
-
referenceOwnerUid: kind ===
|
|
238
|
+
scope: "linked-owner",
|
|
239
|
+
referenceOwnerUid: kind === "product" ? String(
|
|
240
|
+
(item == null ? void 0 : item.booking_uid) || ((_a = item == null ? void 0 : item.metadata) == null ? void 0 : _a.booking_uid) || ""
|
|
241
|
+
) || null : kind === "booking" ? String(
|
|
242
|
+
(item == null ? void 0 : item.product_uid) || ((_b = item == null ? void 0 : item.metadata) == null ? void 0 : _b.product_uid) || ""
|
|
243
|
+
) || null : null
|
|
215
244
|
});
|
|
216
245
|
uid = replacementUid;
|
|
217
246
|
stats.uidConflictCount += 1;
|
|
218
247
|
}
|
|
219
248
|
occupiedUids.add(uid);
|
|
220
249
|
}
|
|
221
|
-
return {
|
|
222
|
-
items: result,
|
|
223
|
-
stats,
|
|
224
|
-
uidRemaps
|
|
225
|
-
};
|
|
250
|
+
return { items: result, stats, uidRemaps };
|
|
226
251
|
}
|
|
227
252
|
function applyOrderCollectionUidRemaps(sourceOrder, uidRemaps) {
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
if (!
|
|
234
|
-
|
|
253
|
+
var _a, _b, _c, _d, _e;
|
|
254
|
+
if (!uidRemaps.length)
|
|
255
|
+
return sourceOrder;
|
|
256
|
+
const order = (0, import_lodash_es.cloneDeep)(sourceOrder);
|
|
257
|
+
const hasAmbiguousLinkedOwner = (remap) => {
|
|
258
|
+
if (remap.scope !== "linked-owner" || !remap.referenceOwnerUid)
|
|
259
|
+
return false;
|
|
260
|
+
const ownerKind = remap.kind === "product" ? "booking" : remap.kind === "booking" ? "product" : null;
|
|
261
|
+
if (!ownerKind)
|
|
262
|
+
return false;
|
|
263
|
+
return uidRemaps.some(
|
|
264
|
+
(candidate) => candidate.scope === "linked-owner" && candidate.kind === ownerKind && candidate.from === remap.referenceOwnerUid
|
|
265
|
+
);
|
|
235
266
|
};
|
|
236
267
|
for (const remap of uidRemaps) {
|
|
237
|
-
if (remap.from === remap.to)
|
|
268
|
+
if (remap.from === remap.to)
|
|
269
|
+
continue;
|
|
238
270
|
const linkedOwnerIsAmbiguous = hasAmbiguousLinkedOwner(remap);
|
|
239
|
-
if (remap.kind ===
|
|
271
|
+
if (remap.kind === "product") {
|
|
240
272
|
for (const booking of order.bookings || []) {
|
|
241
|
-
if (remap.scope ===
|
|
273
|
+
if (remap.scope === "linked-owner" && (linkedOwnerIsAmbiguous || getOrderCollectionUid("booking", booking) !== remap.referenceOwnerUid)) {
|
|
242
274
|
continue;
|
|
243
275
|
}
|
|
244
|
-
if (String(booking
|
|
276
|
+
if (String((booking == null ? void 0 : booking.product_uid) || "") === remap.from) {
|
|
245
277
|
booking.product_uid = remap.to;
|
|
246
278
|
}
|
|
247
|
-
if (String(booking
|
|
248
|
-
booking.metadata = {
|
|
249
|
-
...(booking.metadata || {}),
|
|
250
|
-
product_uid: remap.to
|
|
251
|
-
};
|
|
279
|
+
if (String(((_a = booking == null ? void 0 : booking.metadata) == null ? void 0 : _a.product_uid) || "") === remap.from) {
|
|
280
|
+
booking.metadata = { ...booking.metadata || {}, product_uid: remap.to };
|
|
252
281
|
}
|
|
253
282
|
}
|
|
254
|
-
|
|
255
|
-
if (remap.scope !== 'linked-owner') {
|
|
283
|
+
if (remap.scope !== "linked-owner") {
|
|
256
284
|
for (const product of order.products || []) {
|
|
257
|
-
if (String(product
|
|
285
|
+
if (String(((_b = product == null ? void 0 : product.metadata) == null ? void 0 : _b.parent_unique_identification_number) || "") === remap.from) {
|
|
258
286
|
product.metadata = {
|
|
259
|
-
...
|
|
287
|
+
...product.metadata || {},
|
|
260
288
|
parent_unique_identification_number: remap.to
|
|
261
289
|
};
|
|
262
290
|
}
|
|
263
|
-
const giftInfo = product
|
|
264
|
-
if (giftInfo && typeof giftInfo ===
|
|
265
|
-
const sourceProductIds = Array.isArray(giftInfo.sourceProductIds) ? giftInfo.sourceProductIds.map(
|
|
266
|
-
|
|
291
|
+
const giftInfo = (_c = product == null ? void 0 : product.metadata) == null ? void 0 : _c._giftInfo;
|
|
292
|
+
if (giftInfo && typeof giftInfo === "object") {
|
|
293
|
+
const sourceProductIds = Array.isArray(giftInfo.sourceProductIds) ? giftInfo.sourceProductIds.map(
|
|
294
|
+
(uid) => String(uid) === remap.from ? remap.to : uid
|
|
295
|
+
) : giftInfo.sourceProductIds;
|
|
296
|
+
const sourceProductId = String(giftInfo.sourceProductId || "") === remap.from ? remap.to : giftInfo.sourceProductId;
|
|
267
297
|
product.metadata = {
|
|
268
|
-
...
|
|
298
|
+
...product.metadata || {},
|
|
269
299
|
_giftInfo: {
|
|
270
300
|
...giftInfo,
|
|
271
|
-
...
|
|
272
|
-
|
|
273
|
-
} : {}),
|
|
274
|
-
...(sourceProductId !== undefined ? {
|
|
275
|
-
sourceProductId
|
|
276
|
-
} : {})
|
|
301
|
+
...sourceProductIds !== void 0 ? { sourceProductIds } : {},
|
|
302
|
+
...sourceProductId !== void 0 ? { sourceProductId } : {}
|
|
277
303
|
}
|
|
278
304
|
};
|
|
279
305
|
}
|
|
280
306
|
}
|
|
281
307
|
}
|
|
282
|
-
const productsByUid = order._extend
|
|
283
|
-
const cachedProduct = productsByUid
|
|
284
|
-
const cachedPersistentId = getOrderCollectionPersistentId(
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
308
|
+
const productsByUid = (_d = order._extend) == null ? void 0 : _d.productsByUid;
|
|
309
|
+
const cachedProduct = productsByUid == null ? void 0 : productsByUid[remap.from];
|
|
310
|
+
const cachedPersistentId = getOrderCollectionPersistentId(
|
|
311
|
+
"product",
|
|
312
|
+
(cachedProduct == null ? void 0 : cachedProduct.origin) || cachedProduct
|
|
313
|
+
);
|
|
314
|
+
if (productsByUid && remap.scope === "linked-owner") {
|
|
315
|
+
const retainedProduct = (order.products || []).find(
|
|
316
|
+
(product) => getOrderCollectionUid("product", product) === remap.from
|
|
317
|
+
);
|
|
318
|
+
const remappedProduct = (order.products || []).find(
|
|
319
|
+
(product) => getOrderCollectionUid("product", product) === remap.to
|
|
320
|
+
);
|
|
288
321
|
if (cachedProduct && remap.persistentId && cachedPersistentId === remap.persistentId) {
|
|
289
322
|
productsByUid[remap.to] = {
|
|
290
|
-
...
|
|
291
|
-
...
|
|
323
|
+
...cachedProduct || {},
|
|
324
|
+
...productsByUid[remap.to] || {}
|
|
292
325
|
};
|
|
293
326
|
if (retainedProduct) {
|
|
294
327
|
productsByUid[remap.from] = {
|
|
295
|
-
...
|
|
296
|
-
origin: (0,
|
|
328
|
+
...cachedProduct || {},
|
|
329
|
+
origin: (0, import_lodash_es.cloneDeep)(retainedProduct)
|
|
297
330
|
};
|
|
298
331
|
}
|
|
299
332
|
} else if (remappedProduct && !productsByUid[remap.to]) {
|
|
300
|
-
productsByUid[remap.to] = {
|
|
301
|
-
origin: (0, _lodashEs.cloneDeep)(remappedProduct)
|
|
302
|
-
};
|
|
333
|
+
productsByUid[remap.to] = { origin: (0, import_lodash_es.cloneDeep)(remappedProduct) };
|
|
303
334
|
}
|
|
304
335
|
continue;
|
|
305
336
|
}
|
|
306
|
-
if (cachedProduct && remap.scope !==
|
|
337
|
+
if (cachedProduct && remap.scope !== "linked-owner") {
|
|
307
338
|
productsByUid[remap.to] = {
|
|
308
|
-
...
|
|
309
|
-
...
|
|
339
|
+
...cachedProduct || {},
|
|
340
|
+
...productsByUid[remap.to] || {}
|
|
310
341
|
};
|
|
311
342
|
delete productsByUid[remap.from];
|
|
312
343
|
}
|
|
313
344
|
}
|
|
314
|
-
if (remap.kind ===
|
|
345
|
+
if (remap.kind === "booking") {
|
|
315
346
|
for (const product of order.products || []) {
|
|
316
|
-
if (remap.scope ===
|
|
347
|
+
if (remap.scope === "linked-owner" && (linkedOwnerIsAmbiguous || getOrderCollectionUid("product", product) !== remap.referenceOwnerUid)) {
|
|
317
348
|
continue;
|
|
318
349
|
}
|
|
319
|
-
if (String(product
|
|
350
|
+
if (String((product == null ? void 0 : product.booking_uid) || "") === remap.from) {
|
|
320
351
|
product.booking_uid = remap.to;
|
|
321
352
|
}
|
|
322
|
-
if (String(product
|
|
323
|
-
product.metadata = {
|
|
324
|
-
...(product.metadata || {}),
|
|
325
|
-
booking_uid: remap.to
|
|
326
|
-
};
|
|
353
|
+
if (String(((_e = product == null ? void 0 : product.metadata) == null ? void 0 : _e.booking_uid) || "") === remap.from) {
|
|
354
|
+
product.metadata = { ...product.metadata || {}, booking_uid: remap.to };
|
|
327
355
|
}
|
|
328
356
|
}
|
|
329
357
|
}
|
|
@@ -331,15 +359,34 @@ function applyOrderCollectionUidRemaps(sourceOrder, uidRemaps) {
|
|
|
331
359
|
return order;
|
|
332
360
|
}
|
|
333
361
|
function normalizeOrderCollections(sourceOrder, options) {
|
|
334
|
-
let order = (0,
|
|
362
|
+
let order = (0, import_lodash_es.cloneDeep)(sourceOrder || {});
|
|
335
363
|
const orderRecord = order;
|
|
336
|
-
const productResult = normalizeOrderCollection(
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
364
|
+
const productResult = normalizeOrderCollection(
|
|
365
|
+
"product",
|
|
366
|
+
Array.isArray(orderRecord.products) ? orderRecord.products : [],
|
|
367
|
+
options
|
|
368
|
+
);
|
|
369
|
+
const bookingResult = normalizeOrderCollection(
|
|
370
|
+
"booking",
|
|
371
|
+
Array.isArray(orderRecord.bookings) ? orderRecord.bookings : [],
|
|
372
|
+
options
|
|
373
|
+
);
|
|
374
|
+
const paymentResult = normalizeOrderCollection(
|
|
375
|
+
"payment",
|
|
376
|
+
Array.isArray(orderRecord.payments) ? orderRecord.payments : [],
|
|
377
|
+
options
|
|
378
|
+
);
|
|
379
|
+
if (Array.isArray(orderRecord.products))
|
|
380
|
+
orderRecord.products = productResult.items;
|
|
381
|
+
if (Array.isArray(orderRecord.bookings))
|
|
382
|
+
orderRecord.bookings = bookingResult.items;
|
|
383
|
+
if (Array.isArray(orderRecord.payments))
|
|
384
|
+
orderRecord.payments = paymentResult.items;
|
|
385
|
+
const uidRemaps = [
|
|
386
|
+
...productResult.uidRemaps,
|
|
387
|
+
...bookingResult.uidRemaps,
|
|
388
|
+
...paymentResult.uidRemaps
|
|
389
|
+
];
|
|
343
390
|
order = applyOrderCollectionUidRemaps(order, uidRemaps);
|
|
344
391
|
return {
|
|
345
392
|
order,
|
|
@@ -350,4 +397,19 @@ function normalizeOrderCollections(sourceOrder, options) {
|
|
|
350
397
|
},
|
|
351
398
|
uidRemaps
|
|
352
399
|
};
|
|
353
|
-
}
|
|
400
|
+
}
|
|
401
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
402
|
+
0 && (module.exports = {
|
|
403
|
+
applyOrderCollectionUidRemaps,
|
|
404
|
+
buildOrderCollectionFallbackUid,
|
|
405
|
+
createUuidV4,
|
|
406
|
+
getOrderCollectionPersistentId,
|
|
407
|
+
getOrderCollectionReferenceUid,
|
|
408
|
+
getOrderCollectionUid,
|
|
409
|
+
isBlankOrderCollectionIdentity,
|
|
410
|
+
isSameOrderCollectionItem,
|
|
411
|
+
mergeOrderCollectionItems,
|
|
412
|
+
normalizeOrderCollection,
|
|
413
|
+
normalizeOrderCollections,
|
|
414
|
+
setOrderCollectionUid
|
|
415
|
+
});
|