@unchainedshop/core-orders 3.1.15 → 4.0.0-rc.11
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/lib/db/OrderDeliveriesCollection.d.ts +1 -1
- package/lib/db/OrderDeliveriesCollection.d.ts.map +1 -1
- package/lib/db/OrderPaymentsCollection.d.ts +1 -1
- package/lib/db/OrderPaymentsCollection.d.ts.map +1 -1
- package/lib/db/OrderPositionsCollection.d.ts +4 -4
- package/lib/db/OrderPositionsCollection.d.ts.map +1 -1
- package/lib/db/OrdersCollection.d.ts +8 -5
- package/lib/db/OrdersCollection.d.ts.map +1 -1
- package/lib/db/OrdersCollection.js +2 -2
- package/lib/db/OrdersCollection.js.map +1 -1
- package/lib/module/buildFindSelector.d.ts +1 -1
- package/lib/module/buildFindSelector.d.ts.map +1 -1
- package/lib/module/buildFindSelector.js +20 -2
- package/lib/module/buildFindSelector.js.map +1 -1
- package/lib/module/configureOrderDeliveriesModule.d.ts +4 -1
- package/lib/module/configureOrderDeliveriesModule.d.ts.map +1 -1
- package/lib/module/configureOrderDeliveriesModule.js +5 -0
- package/lib/module/configureOrderDeliveriesModule.js.map +1 -1
- package/lib/module/configureOrderDiscountsModule.d.ts +1 -1
- package/lib/module/configureOrderDiscountsModule.d.ts.map +1 -1
- package/lib/module/configureOrderDiscountsModule.js.map +1 -1
- package/lib/module/configureOrderPaymentsModule.d.ts +4 -1
- package/lib/module/configureOrderPaymentsModule.d.ts.map +1 -1
- package/lib/module/configureOrderPaymentsModule.js +5 -0
- package/lib/module/configureOrderPaymentsModule.js.map +1 -1
- package/lib/module/configureOrderPositionsModule.d.ts +18 -6
- package/lib/module/configureOrderPositionsModule.d.ts.map +1 -1
- package/lib/module/configureOrderPositionsModule.js +19 -0
- package/lib/module/configureOrderPositionsModule.js.map +1 -1
- package/lib/module/configureOrdersModule-mutations.d.ts +1 -1
- package/lib/module/configureOrdersModule-mutations.d.ts.map +1 -1
- package/lib/module/configureOrdersModule-mutations.js +2 -2
- package/lib/module/configureOrdersModule-mutations.js.map +1 -1
- package/lib/module/configureOrdersModule-queries.d.ts +16 -4
- package/lib/module/configureOrdersModule-queries.d.ts.map +1 -1
- package/lib/module/configureOrdersModule-queries.js +20 -1
- package/lib/module/configureOrdersModule-queries.js.map +1 -1
- package/lib/module/configureOrdersModule.d.ts +1 -1
- package/lib/module/configureOrdersModule.d.ts.map +1 -1
- package/lib/module/configureOrdersModule.js +5 -2
- package/lib/module/configureOrdersModule.js.map +1 -1
- package/lib/orders-settings.d.ts +2 -2
- package/lib/orders-settings.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/db/OrderDeliveriesCollection.ts +1 -1
- package/src/db/OrderPaymentsCollection.ts +1 -1
- package/src/db/OrderPositionsCollection.ts +3 -3
- package/src/db/OrdersCollection.ts +10 -6
- package/src/migrations/20250502111800-currency-code.ts +18 -0
- package/src/module/buildFindSelector.ts +29 -4
- package/src/module/configureOrderDeliveriesModule.ts +12 -1
- package/src/module/configureOrderDiscountsModule.ts +1 -1
- package/src/module/configureOrderPaymentsModule.ts +13 -1
- package/src/module/configureOrderPositionsModule.ts +40 -4
- package/src/module/configureOrdersModule-mutations.ts +3 -3
- package/src/module/configureOrdersModule-queries.ts +40 -6
- package/src/module/configureOrdersModule.ts +7 -2
- package/src/orders-settings.ts +1 -1
- package/lib/db/OrderDeliveriesSchema.d.ts +0 -3
- package/lib/db/OrderDeliveriesSchema.d.ts.map +0 -1
- package/lib/db/OrderDeliveriesSchema.js +0 -20
- package/lib/db/OrderDeliveriesSchema.js.map +0 -1
- package/lib/db/OrderDiscountTrigger.d.ts +0 -5
- package/lib/db/OrderDiscountTrigger.d.ts.map +0 -1
- package/lib/db/OrderDiscountTrigger.js +0 -6
- package/lib/db/OrderDiscountTrigger.js.map +0 -1
- package/lib/db/OrderDiscountsSchema.d.ts +0 -3
- package/lib/db/OrderDiscountsSchema.d.ts.map +0 -1
- package/lib/db/OrderDiscountsSchema.js +0 -12
- package/lib/db/OrderDiscountsSchema.js.map +0 -1
- package/lib/db/OrderPaymentsSchema.d.ts +0 -3
- package/lib/db/OrderPaymentsSchema.d.ts.map +0 -1
- package/lib/db/OrderPaymentsSchema.js +0 -20
- package/lib/db/OrderPaymentsSchema.js.map +0 -1
- package/lib/db/OrderPositionsSchema.d.ts +0 -3
- package/lib/db/OrderPositionsSchema.d.ts.map +0 -1
- package/lib/db/OrderPositionsSchema.js +0 -37
- package/lib/db/OrderPositionsSchema.js.map +0 -1
- package/lib/db/OrdersSchema.d.ts +0 -3
- package/lib/db/OrdersSchema.d.ts.map +0 -1
- package/lib/db/OrdersSchema.js +0 -30
- package/lib/db/OrdersSchema.js.map +0 -1
- package/lib/director/OrderDiscountAdapter.d.ts +0 -4
- package/lib/director/OrderDiscountAdapter.d.ts.map +0 -1
- package/lib/director/OrderDiscountAdapter.js +0 -3
- package/lib/director/OrderDiscountAdapter.js.map +0 -1
- package/lib/director/OrderDiscountConfiguration.d.ts +0 -6
- package/lib/director/OrderDiscountConfiguration.d.ts.map +0 -1
- package/lib/director/OrderDiscountConfiguration.js +0 -2
- package/lib/director/OrderDiscountConfiguration.js.map +0 -1
- package/lib/director/OrderDiscountDirector.d.ts +0 -3
- package/lib/director/OrderDiscountDirector.d.ts.map +0 -1
- package/lib/director/OrderDiscountDirector.js +0 -3
- package/lib/director/OrderDiscountDirector.js.map +0 -1
- package/lib/director/OrderPricingAdapter.d.ts +0 -4
- package/lib/director/OrderPricingAdapter.d.ts.map +0 -1
- package/lib/director/OrderPricingAdapter.js +0 -25
- package/lib/director/OrderPricingAdapter.js.map +0 -1
- package/lib/director/OrderPricingDirector.d.ts +0 -3
- package/lib/director/OrderPricingDirector.d.ts.map +0 -1
- package/lib/director/OrderPricingDirector.js +0 -39
- package/lib/director/OrderPricingDirector.js.map +0 -1
- package/lib/director/OrderPricingSheet.d.ts +0 -4
- package/lib/director/OrderPricingSheet.d.ts.map +0 -1
- package/lib/director/OrderPricingSheet.js +0 -101
- package/lib/director/OrderPricingSheet.js.map +0 -1
- package/lib/module/configureOrdersModule-processing.d.ts +0 -14
- package/lib/module/configureOrdersModule-processing.d.ts.map +0 -1
- package/lib/module/configureOrdersModule-processing.js +0 -348
- package/lib/module/configureOrdersModule-processing.js.map +0 -1
- package/lib/module/configureOrdersModule-transformations.d.ts +0 -6
- package/lib/module/configureOrdersModule-transformations.d.ts.map +0 -1
- package/lib/module/configureOrdersModule-transformations.js +0 -112
- package/lib/module/configureOrdersModule-transformations.js.map +0 -1
- package/lib/service/migrateOrderCartService.d.ts +0 -3
- package/lib/service/migrateOrderCartService.d.ts.map +0 -1
- package/lib/service/migrateOrderCartService.js +0 -32
- package/lib/service/migrateOrderCartService.js.map +0 -1
- package/lib/service/nextUserCartService.d.ts +0 -3
- package/lib/service/nextUserCartService.d.ts.map +0 -1
- package/lib/service/nextUserCartService.js +0 -34
- package/lib/service/nextUserCartService.js.map +0 -1
- package/lib/service/orderServices.d.ts +0 -3
- package/lib/service/orderServices.d.ts.map +0 -1
- package/lib/service/orderServices.js +0 -7
- package/lib/service/orderServices.js.map +0 -1
|
@@ -71,7 +71,7 @@ export const configureOrdersModuleQueries = ({ Orders }) => {
|
|
|
71
71
|
},
|
|
72
72
|
getReport: async (params) => {
|
|
73
73
|
const { dateRange } = params || {};
|
|
74
|
-
const selector = {
|
|
74
|
+
const selector = {};
|
|
75
75
|
if (dateRange?.end || dateRange?.start) {
|
|
76
76
|
if (dateRange?.start) {
|
|
77
77
|
const fromDate = new Date(dateRange?.start);
|
|
@@ -146,6 +146,25 @@ export const configureOrdersModuleQueries = ({ Orders }) => {
|
|
|
146
146
|
});
|
|
147
147
|
return !!orderCount;
|
|
148
148
|
},
|
|
149
|
+
aggregateOrders: async ({ match, project, group, sort, limit, addFields, pipeline, }) => {
|
|
150
|
+
const stages = [];
|
|
151
|
+
if (pipeline?.length) {
|
|
152
|
+
return await Orders.aggregate(pipeline).toArray();
|
|
153
|
+
}
|
|
154
|
+
if (match)
|
|
155
|
+
stages.push({ $match: match });
|
|
156
|
+
if (project)
|
|
157
|
+
stages.push({ $project: project });
|
|
158
|
+
if (group)
|
|
159
|
+
stages.push({ $group: group });
|
|
160
|
+
if (addFields)
|
|
161
|
+
stages.push({ $addFields: addFields });
|
|
162
|
+
if (sort)
|
|
163
|
+
stages.push({ $sort: sort });
|
|
164
|
+
if (typeof limit === 'number')
|
|
165
|
+
stages.push({ $limit: limit });
|
|
166
|
+
return Orders.aggregate(stages).toArray();
|
|
167
|
+
},
|
|
149
168
|
};
|
|
150
169
|
};
|
|
151
170
|
//# sourceMappingURL=configureOrdersModule-queries.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureOrdersModule-queries.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule-queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA+B,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAW,MAAM,wBAAwB,CAAC;AACzF,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"configureOrdersModule-queries.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule-queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA+B,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAW,MAAM,wBAAwB,CAAC;AACzF,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AAsBvD,MAAM,6BAA6B,GAAG,CAAC,IAAI,GAAG,EAAE,EAAe,EAAE;IAC/D,MAAM,gBAAgB,GAAG;QACvB,QAAQ,EAAE,CAAC;QACX,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QACf,YAAY,EAAE,CAAC;KAChB,CAAC;IAEF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC5C,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAChC,CAAC,CAAC,CAAC;IACH,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,EAAE,MAAM,EAAyC,EAAE,EAAE;IAChG,OAAO;QACL,MAAM,EAAE,CAAC,KAAY,EAAE,EAAE;YACvB,OAAO,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC;QAC/B,CAAC;QAED,IAAI,EAAE,KAAK,EAAE,EACX,WAAW,EACX,WAAW,EACX,MAAM,GAKP,EAAkB,EAAE;YACnB,MAAM,QAAQ,GAA0B;gBACtC,WAAW;gBACX,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE;gBACrB,MAAM;aACP,CAAC;YAEF,IAAI,WAAW,EAAE,CAAC;gBAChB,QAAQ,CAAC,WAAW,GAAG,WAAW,CAAC;YACrC,CAAC;YAED,MAAM,OAAO,GAAwB;gBACnC,IAAI,EAAE;oBACJ,OAAO,EAAE,CAAC,CAAC;iBACZ;aACF,CAAC;YACF,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,KAAK,EAAE,KAAK,EAAE,KAAiB,EAAmB,EAAE;YAClD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;YACzE,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,SAAS,EAAE,KAAK,EACd,EACE,OAAO,EACP,WAAW,GAIZ,EACD,OAA6B,EACb,EAAE;YAClB,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;YAC3E,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,qBAAqB,EAAE,KAAK,EAAE,UAAU,GAAG,EAAE,EAAE,EAAE;YAC/C,MAAM,uBAAuB,GAAG,QAAQ,CAAC;YAEzC,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,UAAU,GAAG,uBAAuB,CAAC,CAAC;YAE3F,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAC/B,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE;gBACrB,OAAO,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;aAChC,CAAC,CAAC,OAAO,EAAE,CAAC;YAEb,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,UAAU,EAAE,KAAK,EACf,EACE,KAAK,EACL,MAAM,EACN,WAAW,EACX,IAAI,EACJ,GAAG,KAAK,EAKT,EACD,OAA6B,EACX,EAAE;YACpB,MAAM,iBAAiB,GAAiB,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;YACxF,MAAM,WAAW,GAAwB;gBACvC,IAAI,EAAE,MAAM;gBACZ,KAAK;gBACL,IAAI,EAAE,gBAAgB,CAAC,IAAI,IAAI,iBAAiB,CAAC;aAClD,CAAC;YACF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;YAE9D,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAC3B,GAAG,OAAO;oBACV,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;oBAC7C,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;iBACxC,CAAC,CAAC,OAAO,EAAE,CAAC;YACf,CAAC;YAED,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;QACtD,CAAC;QAED,SAAS,EAAE,KAAK,EAAE,MAAuC,EAAwB,EAAE;YACjF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAQ,EAAE,CAAC;YACzB,IAAI,SAAS,EAAE,GAAG,IAAI,SAAS,EAAE,KAAK,EAAE,CAAC;gBACvC,IAAI,SAAS,EAAE,KAAK,EAAE,CAAC;oBACrB,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBAC5C,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC;gBAC3B,CAAC;gBACD,IAAI,SAAS,EAAE,GAAG,EAAE,CAAC;oBACnB,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;oBACxC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC;gBACzB,CAAC;YACH,CAAC;YAED,MAAM,QAAQ,GAAG;gBACf;oBACE,MAAM,EAAE;wBACN,aAAa,EAAE;4BACb;gCACE,MAAM,EAAE;oCACN,OAAO,EAAE,QAAQ;iCAClB;6BACF;4BACD,EAAE,MAAM,EAAE,OAAO,EAAE;yBACpB;wBACD,YAAY,EAAE;4BACZ;gCACE,MAAM,EAAE;oCACN,UAAU,EAAE,QAAQ;iCACrB;6BACF;4BACD,EAAE,MAAM,EAAE,OAAO,EAAE;yBACpB;wBACD,WAAW,EAAE;4BACX;gCACE,MAAM,EAAE;oCACN,QAAQ,EAAE,QAAQ;iCACnB;6BACF;4BACD,EAAE,MAAM,EAAE,OAAO,EAAE;yBACpB;wBACD,QAAQ,EAAE;4BACR;gCACE,MAAM,EAAE;oCACN,OAAO,EAAE,QAAQ;iCAClB;6BACF;4BACD,EAAE,MAAM,EAAE,OAAO,EAAE;yBACpB;wBACD,YAAY,EAAE;4BACZ;gCACE,MAAM,EAAE;oCACN,SAAS,EAAE,QAAQ;iCACpB;6BACF;4BACD,EAAE,MAAM,EAAE,OAAO,EAAE;yBACpB;qBACF;iBACF;gBACD;oBACE,QAAQ,EAAE;wBACR,aAAa,EAAE,EAAE,YAAY,EAAE,CAAC,sBAAsB,EAAE,CAAC,CAAC,EAAE;wBAC5D,YAAY,EAAE,EAAE,YAAY,EAAE,CAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE;wBAC1D,WAAW,EAAE,EAAE,YAAY,EAAE,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE;wBACxD,QAAQ,EAAE,EAAE,YAAY,EAAE,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE;wBAClD,YAAY,EAAE,EAAE,YAAY,EAAE,CAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE;qBAC3D;iBACF;aACF,CAAC;YACF,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;YACnE,OAAO,6BAA6B,CAAC,aAAa,CAAC,CAAC;QACtD,CAAC;QAED,WAAW,EAAE,KAAK,EAAE,EAAE,OAAO,EAAuB,EAAoB,EAAE;YACxE,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE;gBAC5E,KAAK,EAAE,CAAC;aACT,CAAC,CAAC;YACH,OAAO,CAAC,CAAC,UAAU,CAAC;QACtB,CAAC;QACD,eAAe,EAAE,KAAK,EAAE,EACtB,KAAK,EACL,OAAO,EACP,KAAK,EACL,IAAI,EACJ,KAAK,EACL,SAAS,EACT,QAAQ,GACa,EAAuB,EAAE;YAC9C,MAAM,MAAM,GAAe,EAAE,CAAC;YAC9B,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;gBACrB,OAAO,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;YACpD,CAAC;YAED,IAAI,KAAK;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1C,IAAI,OAAO;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAChD,IAAI,KAAK;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1C,IAAI,SAAS;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;YACtD,IAAI,IAAI;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAE9D,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5C,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -22,5 +22,5 @@ export type OrdersModule = OrderQueries & OrderMutations & {
|
|
|
22
22
|
setDeliveryProvider: (orderId: string, deliveryProviderId: string) => Promise<Order>;
|
|
23
23
|
setPaymentProvider: (orderId: string, paymentProviderId: string) => Promise<Order>;
|
|
24
24
|
};
|
|
25
|
-
export declare const configureOrdersModule: ({ db, options: orderOptions, }: ModuleInput<OrdersSettingsOptions>) => Promise<OrdersModule>;
|
|
25
|
+
export declare const configureOrdersModule: ({ db, migrationRepository, options: orderOptions, }: ModuleInput<OrdersSettingsOptions>) => Promise<OrdersModule>;
|
|
26
26
|
//# sourceMappingURL=configureOrdersModule.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureOrdersModule.d.ts","sourceRoot":"","sources":["../../src/module/configureOrdersModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,WAAW,EAAW,MAAM,wBAAwB,CAAC;AAMpF,OAAO,EAAoB,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAkB,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAEL,qBAAqB,EACtB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAiC,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AACzG,OAAO,EAAgC,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACtG,OAAO,EAAiC,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AACzG,OAAO,EAAiC,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACrG,OAAO,EAAgC,YAAY,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"configureOrdersModule.d.ts","sourceRoot":"","sources":["../../src/module/configureOrdersModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,WAAW,EAAW,MAAM,wBAAwB,CAAC;AAMpF,OAAO,EAAoB,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAkB,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAEL,qBAAqB,EACtB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAiC,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AACzG,OAAO,EAAgC,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACtG,OAAO,EAAiC,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AACzG,OAAO,EAAiC,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACrG,OAAO,EAAgC,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAKhG,MAAM,MAAM,YAAY,GAAG,YAAY,GACrC,cAAc,GAAG;IAEf,UAAU,EAAE,qBAAqB,CAAC;IAClC,SAAS,EAAE,oBAAoB,CAAC;IAChC,SAAS,EAAE,oBAAoB,CAAC;IAChC,QAAQ,EAAE,mBAAmB,CAAC;IAE9B,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE;QAAE,MAAM,EAAE,WAAW,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IAClG,WAAW,EAAE,CACX,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,KACb,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC,CAAC;IACtC,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IACrF,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;CACpF,CAAC;AAaJ,eAAO,MAAM,qBAAqB,GAAU,qDAIzC,WAAW,CAAC,qBAAqB,CAAC,KAAG,OAAO,CAAC,YAAY,CAsN3D,CAAC"}
|
|
@@ -13,6 +13,7 @@ import { configureOrderPositionsModule } from './configureOrderPositionsModule.j
|
|
|
13
13
|
import { configureOrderModuleMutations } from './configureOrdersModule-mutations.js';
|
|
14
14
|
import { configureOrdersModuleQueries } from './configureOrdersModule-queries.js';
|
|
15
15
|
import { emit, registerEvents } from '@unchainedshop/events';
|
|
16
|
+
import renameCurrencyCode from '../migrations/20250502111800-currency-code.js';
|
|
16
17
|
// @kontsedal/locco uses a deprecated way of importing files in ESM (node16 behavior)
|
|
17
18
|
const require = createRequire(import.meta.url);
|
|
18
19
|
const { Locker, MongoAdapter } = require('@kontsedal/locco');
|
|
@@ -22,7 +23,9 @@ const ORDER_EVENTS = [
|
|
|
22
23
|
'ORDER_REJECTED',
|
|
23
24
|
'ORDER_FULLFILLED',
|
|
24
25
|
];
|
|
25
|
-
export const configureOrdersModule = async ({ db, options: orderOptions = {}, }) => {
|
|
26
|
+
export const configureOrdersModule = async ({ db, migrationRepository, options: orderOptions = {}, }) => {
|
|
27
|
+
// Migration v3 -> v4
|
|
28
|
+
renameCurrencyCode(migrationRepository);
|
|
26
29
|
registerEvents(ORDER_EVENTS);
|
|
27
30
|
ordersSettings.configureSettings(orderOptions);
|
|
28
31
|
const Orders = await OrdersCollection(db);
|
|
@@ -86,7 +89,7 @@ export const configureOrdersModule = async ({ db, options: orderOptions = {}, })
|
|
|
86
89
|
case OrderStatus.FULLFILLED:
|
|
87
90
|
$set.fullfilled = order.fullfilled || date;
|
|
88
91
|
case OrderStatus.REJECTED: // eslint-disable-line no-fallthrough
|
|
89
|
-
case OrderStatus.CONFIRMED:
|
|
92
|
+
case OrderStatus.CONFIRMED:
|
|
90
93
|
if (status === OrderStatus.REJECTED) {
|
|
91
94
|
$set.rejected = order.rejected || date;
|
|
92
95
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureOrdersModule.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAwB,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAS,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,cAAc,EAAyB,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EACL,8BAA8B,GAE/B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,6BAA6B,EAAwB,MAAM,oCAAoC,CAAC;AACzG,OAAO,EAAE,4BAA4B,EAAuB,MAAM,mCAAmC,CAAC;AACtG,OAAO,EAAE,6BAA6B,EAAwB,MAAM,oCAAoC,CAAC;AACzG,OAAO,EAAE,6BAA6B,EAAkB,MAAM,sCAAsC,CAAC;AACrG,OAAO,EAAE,4BAA4B,EAAgB,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"configureOrdersModule.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule.ts"],"names":[],"mappings":"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"}
|
package/lib/orders-settings.d.ts
CHANGED
|
@@ -3,10 +3,10 @@ export interface OrderSettingsOrderPositionValidation<Product = unknown> {
|
|
|
3
3
|
order: Order;
|
|
4
4
|
product: Product;
|
|
5
5
|
quantityDiff?: number;
|
|
6
|
-
configuration?:
|
|
6
|
+
configuration?: {
|
|
7
7
|
key: string;
|
|
8
8
|
value: string;
|
|
9
|
-
}
|
|
9
|
+
}[];
|
|
10
10
|
}
|
|
11
11
|
export interface OrdersSettingsOptions {
|
|
12
12
|
ensureUserHasCart?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orders-settings.d.ts","sourceRoot":"","sources":["../src/orders-settings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEjD,MAAM,WAAW,oCAAoC,CAAC,OAAO,GAAG,OAAO;IACrE,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE
|
|
1
|
+
{"version":3,"file":"orders-settings.d.ts","sourceRoot":"","sources":["../src/orders-settings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEjD,MAAM,WAAW,oCAAoC,CAAC,OAAO,GAAG,OAAO;IACrE,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,qBAAqB;IACpC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5D,qBAAqB,CAAC,EAAE,CAAC,YAAY,GAAG,OAAO,EAC7C,gBAAgB,EAAE,oCAAoC,EACtD,YAAY,EAAE,YAAY,KACvB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,eAAO,MAAM,4BAA4B,GAAU;;CAAW,EAAE,aAAa,GAAG,kBAI/E,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;kHAWtB,qBAAqB;CAMzB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unchainedshop/core-orders",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0-rc.11",
|
|
4
4
|
"main": "lib/orders-index.js",
|
|
5
5
|
"types": "lib/orders-index.d.ts",
|
|
6
6
|
"type": "module",
|
|
@@ -32,12 +32,12 @@
|
|
|
32
32
|
"homepage": "https://github.com/unchainedshop/unchained#readme",
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@kontsedal/locco": "0.1.0",
|
|
35
|
-
"@unchainedshop/events": "^
|
|
36
|
-
"@unchainedshop/logger": "^
|
|
37
|
-
"@unchainedshop/utils": "^
|
|
35
|
+
"@unchainedshop/events": "^4.0.0-rc.4",
|
|
36
|
+
"@unchainedshop/logger": "^4.0.0-rc.4",
|
|
37
|
+
"@unchainedshop/utils": "^4.0.0-rc.4"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
-
"@types/node": "^24.0.
|
|
40
|
+
"@types/node": "^24.0.13",
|
|
41
41
|
"tsx": "^4.20.3",
|
|
42
42
|
"typescript": "^5.8.3"
|
|
43
43
|
}
|
|
@@ -3,15 +3,15 @@ import { Price } from '@unchainedshop/utils';
|
|
|
3
3
|
|
|
4
4
|
export type OrderPosition = {
|
|
5
5
|
_id?: string;
|
|
6
|
-
calculation:
|
|
7
|
-
configuration:
|
|
6
|
+
calculation: any[];
|
|
7
|
+
configuration: { key: string; value: string }[];
|
|
8
8
|
context?: any;
|
|
9
9
|
orderId: string;
|
|
10
10
|
originalProductId: string;
|
|
11
11
|
productId: string;
|
|
12
12
|
quantity: number;
|
|
13
13
|
quotationId?: string;
|
|
14
|
-
scheduling:
|
|
14
|
+
scheduling: any[];
|
|
15
15
|
} & TimestampFields;
|
|
16
16
|
|
|
17
17
|
export type OrderPositionDiscount = Omit<Price, '_id'> & {
|
|
@@ -5,7 +5,9 @@ import {
|
|
|
5
5
|
Contact,
|
|
6
6
|
LogFields,
|
|
7
7
|
TimestampFields,
|
|
8
|
+
isDocumentDBCompatModeEnabled,
|
|
8
9
|
} from '@unchainedshop/mongodb';
|
|
10
|
+
import { DateFilterInput } from '@unchainedshop/utils';
|
|
9
11
|
|
|
10
12
|
export enum OrderStatus {
|
|
11
13
|
PENDING = 'PENDING',
|
|
@@ -17,13 +19,13 @@ export enum OrderStatus {
|
|
|
17
19
|
export type Order = {
|
|
18
20
|
_id?: string;
|
|
19
21
|
billingAddress?: Address;
|
|
20
|
-
calculation:
|
|
22
|
+
calculation: any[];
|
|
21
23
|
confirmed?: Date;
|
|
22
24
|
rejected?: Date;
|
|
23
25
|
contact?: Contact;
|
|
24
26
|
context?: any;
|
|
25
27
|
countryCode: string;
|
|
26
|
-
|
|
28
|
+
currencyCode: string;
|
|
27
29
|
deliveryId?: string;
|
|
28
30
|
fullfilled?: Date;
|
|
29
31
|
ordered?: Date;
|
|
@@ -35,13 +37,15 @@ export type Order = {
|
|
|
35
37
|
} & LogFields &
|
|
36
38
|
TimestampFields;
|
|
37
39
|
|
|
38
|
-
export
|
|
40
|
+
export interface OrderQuery extends mongodb.Filter<Order> {
|
|
39
41
|
includeCarts?: boolean;
|
|
40
|
-
orderStatus?: OrderStatus[];
|
|
41
42
|
queryString?: string;
|
|
42
43
|
status?: OrderStatus[];
|
|
43
44
|
userId?: string;
|
|
44
|
-
|
|
45
|
+
deliveryIds?: string[];
|
|
46
|
+
paymentIds?: string[];
|
|
47
|
+
dateRange?: DateFilterInput;
|
|
48
|
+
}
|
|
45
49
|
|
|
46
50
|
export const OrdersCollection = async (db: mongodb.Db) => {
|
|
47
51
|
const Orders = db.collection<Order>('orders');
|
|
@@ -51,7 +55,7 @@ export const OrdersCollection = async (db: mongodb.Db) => {
|
|
|
51
55
|
{ index: { userId: 1 } },
|
|
52
56
|
{ index: { status: 1 } },
|
|
53
57
|
{ index: { orderNumber: 1 } },
|
|
54
|
-
{
|
|
58
|
+
!isDocumentDBCompatModeEnabled() && {
|
|
55
59
|
index: {
|
|
56
60
|
_id: 'text',
|
|
57
61
|
userId: 'text',
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { MigrationRepository } from '@unchainedshop/mongodb';
|
|
2
|
+
import { OrdersCollection } from '../orders-index.js';
|
|
3
|
+
|
|
4
|
+
export default function renameCurrencyCode(repository: MigrationRepository) {
|
|
5
|
+
repository?.register({
|
|
6
|
+
id: 20250502111800,
|
|
7
|
+
name: 'Rename order.currency to order.currencyCode',
|
|
8
|
+
up: async () => {
|
|
9
|
+
const Orders = await OrdersCollection(repository.db);
|
|
10
|
+
await Orders.updateMany(
|
|
11
|
+
{},
|
|
12
|
+
{
|
|
13
|
+
$rename: { currency: 'currencyCode' },
|
|
14
|
+
},
|
|
15
|
+
);
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
}
|
|
@@ -1,20 +1,45 @@
|
|
|
1
1
|
import { OrderQuery, Order } from '../db/OrdersCollection.js';
|
|
2
|
-
import { mongodb } from '@unchainedshop/mongodb';
|
|
2
|
+
import { assertDocumentDBCompatMode, mongodb } from '@unchainedshop/mongodb';
|
|
3
3
|
|
|
4
|
-
export const buildFindSelector = ({
|
|
5
|
-
|
|
4
|
+
export const buildFindSelector = ({
|
|
5
|
+
includeCarts,
|
|
6
|
+
status,
|
|
7
|
+
userId,
|
|
8
|
+
queryString,
|
|
9
|
+
paymentIds,
|
|
10
|
+
deliveryIds,
|
|
11
|
+
dateRange,
|
|
12
|
+
...rest
|
|
13
|
+
}: OrderQuery) => {
|
|
14
|
+
const selector: mongodb.Filter<Order> = { ...rest };
|
|
6
15
|
|
|
7
16
|
if (userId) {
|
|
8
17
|
selector.userId = userId;
|
|
9
18
|
}
|
|
19
|
+
if (dateRange) {
|
|
20
|
+
const dateFilter: mongodb.Filter<Order> = {};
|
|
21
|
+
if (dateRange.start) dateFilter.$gte = new Date(dateRange.start);
|
|
22
|
+
if (dateRange.end) dateFilter.$lte = new Date(dateRange.end);
|
|
23
|
+
if (Object.keys(dateFilter).length > 0) {
|
|
24
|
+
selector.ordered = dateFilter;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if (Array.isArray(deliveryIds) && deliveryIds?.length) {
|
|
29
|
+
selector.deliveryId = { $in: deliveryIds };
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (Array.isArray(paymentIds) && paymentIds?.length) {
|
|
33
|
+
selector.paymentId = { $in: paymentIds };
|
|
34
|
+
}
|
|
10
35
|
|
|
11
36
|
if (Array.isArray(status) && status?.length) {
|
|
12
37
|
selector.status = { $in: status };
|
|
13
38
|
} else if (!includeCarts) {
|
|
14
39
|
selector.status = { $ne: null }; // TODO: Slow performance! IDXSCAN in common query!
|
|
15
40
|
}
|
|
16
|
-
|
|
17
41
|
if (queryString) {
|
|
42
|
+
assertDocumentDBCompatMode();
|
|
18
43
|
(selector as any).$text = { $search: queryString };
|
|
19
44
|
}
|
|
20
45
|
|
|
@@ -55,6 +55,17 @@ export const configureOrderDeliveriesModule = ({
|
|
|
55
55
|
return OrderDeliveries.findOne(buildFindByIdSelector(orderDeliveryId), options);
|
|
56
56
|
},
|
|
57
57
|
|
|
58
|
+
findDeliveryByProvidersId: async (
|
|
59
|
+
{ deliveryProviderIds }: { deliveryProviderIds: string[] },
|
|
60
|
+
options?: mongodb.FindOptions,
|
|
61
|
+
): Promise<OrderDelivery[]> => {
|
|
62
|
+
if (!deliveryProviderIds?.length) return [];
|
|
63
|
+
return OrderDeliveries.find(
|
|
64
|
+
{ deliveryProviderId: { $in: deliveryProviderIds } },
|
|
65
|
+
options,
|
|
66
|
+
).toArray();
|
|
67
|
+
},
|
|
68
|
+
|
|
58
69
|
normalizedStatus,
|
|
59
70
|
|
|
60
71
|
// Mutations
|
|
@@ -119,7 +130,7 @@ export const configureOrderDeliveriesModule = ({
|
|
|
119
130
|
|
|
120
131
|
updateCalculation: async <T extends PricingCalculation>(
|
|
121
132
|
orderDeliveryId: string,
|
|
122
|
-
calculation:
|
|
133
|
+
calculation: T[],
|
|
123
134
|
): Promise<OrderDelivery> => {
|
|
124
135
|
return OrderDeliveries.findOneAndUpdate(
|
|
125
136
|
{ _id: orderDeliveryId },
|
|
@@ -27,7 +27,7 @@ export const configureOrderDiscountsModule = ({
|
|
|
27
27
|
return OrderDiscounts.findOne(buildFindOrderDiscountByIdSelector(discountId), options);
|
|
28
28
|
},
|
|
29
29
|
|
|
30
|
-
findOrderDiscounts: async ({ orderId }: { orderId: string }): Promise<
|
|
30
|
+
findOrderDiscounts: async ({ orderId }: { orderId: string }): Promise<OrderDiscount[]> => {
|
|
31
31
|
const discounts = OrderDiscounts.find({ orderId });
|
|
32
32
|
return discounts.toArray();
|
|
33
33
|
},
|
|
@@ -85,6 +85,18 @@ export const configureOrderPaymentsModule = ({
|
|
|
85
85
|
): Promise<OrderPayment> => {
|
|
86
86
|
return OrderPayments.findOne(buildFindOrderPaymentByIdSelector(orderPaymentId), options);
|
|
87
87
|
},
|
|
88
|
+
|
|
89
|
+
findOrderPaymentsByProviderIds: async (
|
|
90
|
+
{
|
|
91
|
+
paymentProviderIds,
|
|
92
|
+
}: {
|
|
93
|
+
paymentProviderIds: string[];
|
|
94
|
+
},
|
|
95
|
+
options?: mongodb.FindOptions,
|
|
96
|
+
): Promise<OrderPayment[]> => {
|
|
97
|
+
if (!paymentProviderIds?.length) return [];
|
|
98
|
+
return OrderPayments.find({ paymentProviderId: { $in: paymentProviderIds } }, options).toArray();
|
|
99
|
+
},
|
|
88
100
|
findOrderPaymentByContextData: async (
|
|
89
101
|
{
|
|
90
102
|
context,
|
|
@@ -188,7 +200,7 @@ export const configureOrderPaymentsModule = ({
|
|
|
188
200
|
|
|
189
201
|
updateCalculation: async <T extends PricingCalculation>(
|
|
190
202
|
orderPaymentId: string,
|
|
191
|
-
calculation:
|
|
203
|
+
calculation: T[],
|
|
192
204
|
) => {
|
|
193
205
|
return OrderPayments.findOneAndUpdate(
|
|
194
206
|
buildFindOrderPaymentByIdSelector(orderPaymentId),
|
|
@@ -2,6 +2,7 @@ import { emit, registerEvents } from '@unchainedshop/events';
|
|
|
2
2
|
import { generateDbFilterById, generateDbObjectId, mongodb } from '@unchainedshop/mongodb';
|
|
3
3
|
import { PricingCalculation } from '@unchainedshop/utils';
|
|
4
4
|
import { OrderPosition } from '../db/OrderPositionsCollection.js';
|
|
5
|
+
import { Document } from 'mongodb';
|
|
5
6
|
|
|
6
7
|
const ORDER_POSITION_EVENTS: string[] = [
|
|
7
8
|
'ORDER_UPDATE_CART_ITEM',
|
|
@@ -10,6 +11,16 @@ const ORDER_POSITION_EVENTS: string[] = [
|
|
|
10
11
|
'ORDER_ADD_PRODUCT',
|
|
11
12
|
];
|
|
12
13
|
|
|
14
|
+
interface OrderPositionAggregateParams {
|
|
15
|
+
match?: Document;
|
|
16
|
+
project?: Document;
|
|
17
|
+
group?: Document;
|
|
18
|
+
addFields?: Document;
|
|
19
|
+
sort?: Document;
|
|
20
|
+
limit?: number;
|
|
21
|
+
pipeline?: Document[];
|
|
22
|
+
}
|
|
23
|
+
|
|
13
24
|
export const buildFindOrderPositionByIdSelector = (orderPositionId: string, orderId?: string) =>
|
|
14
25
|
generateDbFilterById(
|
|
15
26
|
orderPositionId,
|
|
@@ -58,7 +69,7 @@ export const configureOrderPositionsModule = ({
|
|
|
58
69
|
configuration,
|
|
59
70
|
}: {
|
|
60
71
|
orderPositionId: string;
|
|
61
|
-
configuration?:
|
|
72
|
+
configuration?: { key: string; value: string }[];
|
|
62
73
|
quantity?: number;
|
|
63
74
|
}): Promise<OrderPosition> => {
|
|
64
75
|
const modifier: any = {
|
|
@@ -92,7 +103,7 @@ export const configureOrderPositionsModule = ({
|
|
|
92
103
|
return updatedOrderPosition;
|
|
93
104
|
},
|
|
94
105
|
|
|
95
|
-
removeProductByIdFromAllOpenPositions: async (productId: string): Promise<
|
|
106
|
+
removeProductByIdFromAllOpenPositions: async (productId: string): Promise<string[]> => {
|
|
96
107
|
const positions = await OrderPositions.aggregate([
|
|
97
108
|
{
|
|
98
109
|
$match: {
|
|
@@ -142,7 +153,7 @@ export const configureOrderPositionsModule = ({
|
|
|
142
153
|
|
|
143
154
|
updateCalculation: async <T extends PricingCalculation>(
|
|
144
155
|
orderPositionId: string,
|
|
145
|
-
calculation:
|
|
156
|
+
calculation: T[],
|
|
146
157
|
): Promise<OrderPosition> => {
|
|
147
158
|
return OrderPositions.findOneAndUpdate(
|
|
148
159
|
{ _id: orderPositionId },
|
|
@@ -157,7 +168,7 @@ export const configureOrderPositionsModule = ({
|
|
|
157
168
|
|
|
158
169
|
addProductItem: async (orderPosition: {
|
|
159
170
|
context?: any;
|
|
160
|
-
configuration?:
|
|
171
|
+
configuration?: { key: string; value: string }[];
|
|
161
172
|
orderId: string;
|
|
162
173
|
originalProductId: string;
|
|
163
174
|
productId: string;
|
|
@@ -207,6 +218,31 @@ export const configureOrderPositionsModule = ({
|
|
|
207
218
|
const { deletedCount } = await OrderPositions.deleteMany({ orderId });
|
|
208
219
|
return deletedCount;
|
|
209
220
|
},
|
|
221
|
+
|
|
222
|
+
aggregatePositions: async ({
|
|
223
|
+
match,
|
|
224
|
+
project,
|
|
225
|
+
group,
|
|
226
|
+
addFields,
|
|
227
|
+
sort,
|
|
228
|
+
limit,
|
|
229
|
+
pipeline,
|
|
230
|
+
}: OrderPositionAggregateParams): Promise<Document[]> => {
|
|
231
|
+
const stages: Document[] = [];
|
|
232
|
+
|
|
233
|
+
if (pipeline?.length) {
|
|
234
|
+
return await OrderPositions.aggregate(pipeline).toArray();
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
if (match) stages.push({ $match: match });
|
|
238
|
+
if (project) stages.push({ $project: project });
|
|
239
|
+
if (group) stages.push({ $group: group });
|
|
240
|
+
if (addFields) stages.push({ $addFields: addFields });
|
|
241
|
+
if (sort) stages.push({ $sort: sort });
|
|
242
|
+
if (typeof limit === 'number') stages.push({ $limit: limit });
|
|
243
|
+
|
|
244
|
+
return OrderPositions.aggregate(stages).toArray();
|
|
245
|
+
},
|
|
210
246
|
};
|
|
211
247
|
};
|
|
212
248
|
|
|
@@ -15,7 +15,7 @@ export interface OrderMutations {
|
|
|
15
15
|
billingAddress?: Address;
|
|
16
16
|
contact?: Contact;
|
|
17
17
|
countryCode: string;
|
|
18
|
-
|
|
18
|
+
currencyCode: string;
|
|
19
19
|
orderNumber?: string;
|
|
20
20
|
originEnrollmentId?: string;
|
|
21
21
|
}) => Promise<Order>;
|
|
@@ -49,7 +49,7 @@ export const configureOrderModuleMutations = ({
|
|
|
49
49
|
registerEvents(ORDER_EVENTS);
|
|
50
50
|
|
|
51
51
|
return {
|
|
52
|
-
create: async ({ userId, orderNumber,
|
|
52
|
+
create: async ({ userId, orderNumber, currencyCode, countryCode, billingAddress, contact }) => {
|
|
53
53
|
const { insertedId: orderId } = await Orders.insertOne({
|
|
54
54
|
_id: generateDbObjectId(),
|
|
55
55
|
created: new Date(),
|
|
@@ -57,7 +57,7 @@ export const configureOrderModuleMutations = ({
|
|
|
57
57
|
billingAddress,
|
|
58
58
|
contact,
|
|
59
59
|
userId,
|
|
60
|
-
|
|
60
|
+
currencyCode,
|
|
61
61
|
countryCode,
|
|
62
62
|
calculation: [],
|
|
63
63
|
log: [],
|
|
@@ -2,14 +2,25 @@ import { SortDirection, SortOption, DateFilterInput } from '@unchainedshop/utils
|
|
|
2
2
|
import { generateDbFilterById, buildSortOptions, mongodb } from '@unchainedshop/mongodb';
|
|
3
3
|
import buildFindSelector from './buildFindSelector.js';
|
|
4
4
|
import { Order, OrderQuery } from '../db/OrdersCollection.js';
|
|
5
|
+
import { Document } from 'mongodb';
|
|
5
6
|
|
|
6
|
-
export
|
|
7
|
+
export interface OrderReport {
|
|
7
8
|
newCount: number;
|
|
8
9
|
checkoutCount: number;
|
|
9
10
|
rejectCount: number;
|
|
10
11
|
confirmCount: number;
|
|
11
12
|
fulfillCount: number;
|
|
12
|
-
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
interface OrderAggregateParams {
|
|
16
|
+
match?: Record<string, any>;
|
|
17
|
+
project?: Record<string, any>;
|
|
18
|
+
group?: Record<string, any>;
|
|
19
|
+
sort?: Record<string, number>;
|
|
20
|
+
limit?: number;
|
|
21
|
+
addFields?: Record<string, any>;
|
|
22
|
+
pipeline?: any[];
|
|
23
|
+
}
|
|
13
24
|
|
|
14
25
|
const normalizeOrderAggregateResult = (data = {}): OrderReport => {
|
|
15
26
|
const statusToFieldMap = {
|
|
@@ -100,11 +111,11 @@ export const configureOrdersModuleQueries = ({ Orders }: { Orders: mongodb.Colle
|
|
|
100
111
|
}: OrderQuery & {
|
|
101
112
|
limit?: number;
|
|
102
113
|
offset?: number;
|
|
103
|
-
sort?:
|
|
114
|
+
sort?: SortOption[];
|
|
104
115
|
},
|
|
105
116
|
options?: mongodb.FindOptions,
|
|
106
|
-
): Promise<
|
|
107
|
-
const defaultSortOption:
|
|
117
|
+
): Promise<Order[]> => {
|
|
118
|
+
const defaultSortOption: SortOption[] = [{ key: 'created', value: SortDirection.DESC }];
|
|
108
119
|
const findOptions: mongodb.FindOptions = {
|
|
109
120
|
skip: offset,
|
|
110
121
|
limit,
|
|
@@ -125,7 +136,7 @@ export const configureOrdersModuleQueries = ({ Orders }: { Orders: mongodb.Colle
|
|
|
125
136
|
|
|
126
137
|
getReport: async (params: { dateRange?: DateFilterInput }): Promise<OrderReport> => {
|
|
127
138
|
const { dateRange } = params || {};
|
|
128
|
-
const selector: any = {
|
|
139
|
+
const selector: any = {};
|
|
129
140
|
if (dateRange?.end || dateRange?.start) {
|
|
130
141
|
if (dateRange?.start) {
|
|
131
142
|
const fromDate = new Date(dateRange?.start);
|
|
@@ -202,6 +213,29 @@ export const configureOrdersModuleQueries = ({ Orders }: { Orders: mongodb.Colle
|
|
|
202
213
|
});
|
|
203
214
|
return !!orderCount;
|
|
204
215
|
},
|
|
216
|
+
aggregateOrders: async ({
|
|
217
|
+
match,
|
|
218
|
+
project,
|
|
219
|
+
group,
|
|
220
|
+
sort,
|
|
221
|
+
limit,
|
|
222
|
+
addFields,
|
|
223
|
+
pipeline,
|
|
224
|
+
}: OrderAggregateParams): Promise<Document[]> => {
|
|
225
|
+
const stages: Document[] = [];
|
|
226
|
+
if (pipeline?.length) {
|
|
227
|
+
return await Orders.aggregate(pipeline).toArray();
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
if (match) stages.push({ $match: match });
|
|
231
|
+
if (project) stages.push({ $project: project });
|
|
232
|
+
if (group) stages.push({ $group: group });
|
|
233
|
+
if (addFields) stages.push({ $addFields: addFields });
|
|
234
|
+
if (sort) stages.push({ $sort: sort });
|
|
235
|
+
if (typeof limit === 'number') stages.push({ $limit: limit });
|
|
236
|
+
|
|
237
|
+
return Orders.aggregate(stages).toArray();
|
|
238
|
+
},
|
|
205
239
|
};
|
|
206
240
|
};
|
|
207
241
|
|
|
@@ -15,9 +15,10 @@ import { configureOrderPaymentsModule, OrderPaymentsModule } from './configureOr
|
|
|
15
15
|
import { configureOrderPositionsModule, OrderPositionsModule } from './configureOrderPositionsModule.js';
|
|
16
16
|
import { configureOrderModuleMutations, OrderMutations } from './configureOrdersModule-mutations.js';
|
|
17
17
|
import { configureOrdersModuleQueries, OrderQueries } from './configureOrdersModule-queries.js';
|
|
18
|
-
|
|
19
18
|
import { emit, registerEvents } from '@unchainedshop/events';
|
|
20
19
|
|
|
20
|
+
import renameCurrencyCode from '../migrations/20250502111800-currency-code.js';
|
|
21
|
+
|
|
21
22
|
export type OrdersModule = OrderQueries &
|
|
22
23
|
OrderMutations & {
|
|
23
24
|
// Sub entities
|
|
@@ -49,8 +50,12 @@ const ORDER_EVENTS: string[] = [
|
|
|
49
50
|
|
|
50
51
|
export const configureOrdersModule = async ({
|
|
51
52
|
db,
|
|
53
|
+
migrationRepository,
|
|
52
54
|
options: orderOptions = {},
|
|
53
55
|
}: ModuleInput<OrdersSettingsOptions>): Promise<OrdersModule> => {
|
|
56
|
+
// Migration v3 -> v4
|
|
57
|
+
renameCurrencyCode(migrationRepository);
|
|
58
|
+
|
|
54
59
|
registerEvents(ORDER_EVENTS);
|
|
55
60
|
|
|
56
61
|
ordersSettings.configureSettings(orderOptions);
|
|
@@ -128,7 +133,7 @@ export const configureOrdersModule = async ({
|
|
|
128
133
|
case OrderStatus.FULLFILLED:
|
|
129
134
|
$set.fullfilled = order.fullfilled || date;
|
|
130
135
|
case OrderStatus.REJECTED: // eslint-disable-line no-fallthrough
|
|
131
|
-
case OrderStatus.CONFIRMED:
|
|
136
|
+
case OrderStatus.CONFIRMED:
|
|
132
137
|
if (status === OrderStatus.REJECTED) {
|
|
133
138
|
$set.rejected = order.rejected || date;
|
|
134
139
|
} else {
|