@unchainedshop/core 3.0.0-rc2 → 3.0.0-rc4
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/directors/BaseDiscountAdapter.d.ts +9 -11
- package/lib/directors/BaseDiscountAdapter.d.ts.map +1 -1
- package/lib/directors/BaseDiscountAdapter.js.map +1 -1
- package/lib/directors/BaseDiscountDirector.d.ts +7 -4
- package/lib/directors/BaseDiscountDirector.d.ts.map +1 -1
- package/lib/directors/BaseDiscountDirector.js.map +1 -1
- package/lib/directors/OrderDiscountAdapter.d.ts +1 -1
- package/lib/directors/OrderDiscountAdapter.d.ts.map +1 -1
- package/lib/directors/OrderDiscountDirector.d.ts +1 -1
- package/lib/directors/OrderDiscountDirector.d.ts.map +1 -1
- package/lib/directors/OrderDiscountDirector.js.map +1 -1
- package/lib/directors/ProductDiscountAdapter.d.ts +1 -1
- package/lib/directors/ProductDiscountAdapter.d.ts.map +1 -1
- package/lib/directors/ProductDiscountDirector.d.ts +1 -1
- package/lib/directors/ProductDiscountDirector.d.ts.map +1 -1
- package/lib/directors/ProductDiscountDirector.js.map +1 -1
- package/package.json +21 -21
- package/src/directors/BaseDiscountAdapter.ts +7 -8
- package/src/directors/BaseDiscountDirector.ts +8 -7
- package/src/directors/OrderDiscountAdapter.ts +1 -1
- package/src/directors/OrderDiscountDirector.ts +2 -3
- package/src/directors/ProductDiscountAdapter.ts +1 -1
- package/src/directors/ProductDiscountDirector.ts +2 -3
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
import { IBaseAdapter } from '@unchainedshop/utils';
|
|
2
2
|
import { IPricingSheet } from './BasePricingSheet.js';
|
|
3
3
|
import { PricingCalculation } from '@unchainedshop/utils';
|
|
4
|
+
import { Order, OrderDiscount } from '@unchainedshop/core-orders';
|
|
5
|
+
import { Modules } from '../modules.js';
|
|
4
6
|
export interface DiscountContext {
|
|
5
7
|
code?: string;
|
|
6
|
-
orderDiscount?:
|
|
7
|
-
|
|
8
|
-
orderId: string;
|
|
9
|
-
};
|
|
10
|
-
order?: {
|
|
11
|
-
_id?: string;
|
|
12
|
-
userId: string;
|
|
13
|
-
};
|
|
8
|
+
orderDiscount?: OrderDiscount;
|
|
9
|
+
order?: Order;
|
|
14
10
|
}
|
|
15
|
-
export type IDiscountAdapter<DiscountConfiguration
|
|
11
|
+
export type IDiscountAdapter<DiscountConfiguration> = IBaseAdapter & {
|
|
16
12
|
orderIndex: number;
|
|
17
13
|
isManualAdditionAllowed: (code: string) => Promise<boolean>;
|
|
18
14
|
isManualRemovalAllowed: () => Promise<boolean>;
|
|
19
15
|
actions: (params: {
|
|
20
|
-
context: DiscountContext &
|
|
16
|
+
context: DiscountContext & {
|
|
17
|
+
modules: Modules;
|
|
18
|
+
};
|
|
21
19
|
}) => Promise<DiscountAdapterActions<DiscountConfiguration>>;
|
|
22
20
|
};
|
|
23
21
|
export interface DiscountAdapterActions<DiscountConfiguration> {
|
|
@@ -34,5 +32,5 @@ export interface DiscountAdapterActions<DiscountConfiguration> {
|
|
|
34
32
|
}) => Promise<any>;
|
|
35
33
|
release: () => Promise<void>;
|
|
36
34
|
}
|
|
37
|
-
export declare const BaseDiscountAdapter: Omit<IDiscountAdapter<unknown
|
|
35
|
+
export declare const BaseDiscountAdapter: Omit<IDiscountAdapter<unknown>, 'key' | 'label' | 'version'>;
|
|
38
36
|
//# sourceMappingURL=BaseDiscountAdapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseDiscountAdapter.d.ts","sourceRoot":"","sources":["../../src/directors/BaseDiscountAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,
|
|
1
|
+
{"version":3,"file":"BaseDiscountAdapter.d.ts","sourceRoot":"","sources":["../../src/directors/BaseDiscountAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,MAAM,MAAM,gBAAgB,CAAC,qBAAqB,IAAI,YAAY,GAAG;IACnE,UAAU,EAAE,MAAM,CAAC;IAEnB,uBAAuB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,sBAAsB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/C,OAAO,EAAE,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,eAAe,GAAG;YAAE,OAAO,EAAE,OAAO,CAAA;SAAE,CAAC;KACjD,KAAK,OAAO,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,CAAC,CAAC;CAC9D,CAAC;AAEF,MAAM,WAAW,sBAAsB,CAAC,qBAAqB;IAC3D,0BAA0B,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,wBAAwB,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzE,4BAA4B,EAAE,CAAC,MAAM,EAAE;QACrC,iBAAiB,EAAE,MAAM,CAAC;QAC1B,gBAAgB,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;KACrD,KAAK,qBAAqB,CAAC;IAE5B,OAAO,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACpD,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,eAAO,MAAM,mBAAmB,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS,CAqD5F,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseDiscountAdapter.js","sourceRoot":"","sources":["../../src/directors/BaseDiscountAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseDiscountAdapter.js","sourceRoot":"","sources":["../../src/directors/BaseDiscountAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAoCtD,MAAM,CAAC,MAAM,mBAAmB,GAAiE;IAC/F,UAAU,EAAE,CAAC;IAEb,uBAAuB,EAAE,KAAK,IAAI,EAAE;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yEAAyE;IACzE,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACpB,6DAA6D;QAC7D,sEAAsE;QACtE,0BAA0B;QAC1B,0CAA0C;QAC1C,0DAA0D;QAC1D,eAAe;QACf,2BAA2B;QAC3B,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,qEAAqE;QACrE,iFAAiF;QACjF,qFAAqF;QACrF,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,yEAAyE;QACzE,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,8DAA8D;QAC9D,0CAA0C;QAC1C,0DAA0D;QAC1D,eAAe;QACf,wBAAwB,EAAE,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,qEAAqE;QACrE,4BAA4B;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;IAEF,GAAG,CAAC,OAAe,EAAE,EAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE;QAC9D,OAAO,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC"}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { IBaseDirector } from '@unchainedshop/utils';
|
|
2
2
|
import { DiscountContext, IDiscountAdapter } from './BaseDiscountAdapter.js';
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
import { Modules } from '../modules.js';
|
|
4
|
+
export type IDiscountDirector<DiscountConfiguration> = IBaseDirector<IDiscountAdapter<DiscountConfiguration>> & {
|
|
5
|
+
actions: (discountContext: DiscountContext, unchainedAPI: {
|
|
6
|
+
modules: Modules;
|
|
7
|
+
}) => Promise<{
|
|
5
8
|
resolveDiscountAdapterFromStaticCode: (params: {
|
|
6
9
|
code: string;
|
|
7
|
-
}) => Promise<IDiscountAdapter<DiscountConfiguration
|
|
10
|
+
}) => Promise<IDiscountAdapter<DiscountConfiguration>>;
|
|
8
11
|
findSystemDiscounts: () => Promise<Array<string>>;
|
|
9
12
|
}>;
|
|
10
13
|
};
|
|
11
|
-
export declare const BaseDiscountDirector: <DiscountConfigurationType
|
|
14
|
+
export declare const BaseDiscountDirector: <DiscountConfigurationType>(directorName: string) => IDiscountDirector<DiscountConfigurationType>;
|
|
12
15
|
//# sourceMappingURL=BaseDiscountDirector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseDiscountDirector.d.ts","sourceRoot":"","sources":["../../src/directors/BaseDiscountDirector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseDiscountDirector.d.ts","sourceRoot":"","sources":["../../src/directors/BaseDiscountDirector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,MAAM,iBAAiB,CAAC,qBAAqB,IAAI,aAAa,CAClE,gBAAgB,CAAC,qBAAqB,CAAC,CACxC,GAAG;IACF,OAAO,EAAE,CACP,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAC/B,OAAO,CAAC;QACX,oCAAoC,EAAE,CAAC,MAAM,EAAE;YAC7C,IAAI,EAAE,MAAM,CAAC;SACd,KAAK,OAAO,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACvD,mBAAmB,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;KACnD,CAAC,CAAC;CACJ,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,yBAAyB,gBAC9C,MAAM,KACnB,iBAAiB,CAAC,yBAAyB,CAoD7C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseDiscountDirector.js","sourceRoot":"","sources":["../../src/directors/BaseDiscountDirector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAiB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseDiscountDirector.js","sourceRoot":"","sources":["../../src/directors/BaseDiscountDirector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAiB,MAAM,sBAAsB,CAAC;AAkBnE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,YAAoB,EAC0B,EAAE;IAChD,MAAM,YAAY,GAAG,YAAY,CAA8C,YAAY,EAAE;QAC3F,cAAc,EAAE,YAAY;KAC7B,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,YAAY;QAEf,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,EAAE;YAC/C,MAAM,OAAO,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,YAAY,EAAE,CAAC;YAExD,OAAO;gBACL,oCAAoC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;oBACtD,IAAI,CAAC,OAAO,CAAC,KAAK;wBAAE,OAAO,IAAI,CAAC;oBAEhC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,YAAY;yBACT,WAAW,EAAE;yBACb,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;yBACnE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;wBACrB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;wBACnD,OAAO;4BACL,OAAO;4BACP,OAAO,EAAE,MAAM,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC;yBACzD,CAAC;oBACJ,CAAC,CAAC,CACL,CAAC;oBAEF,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,OAAO,CAAC;gBACpE,CAAC;gBAED,KAAK,CAAC,mBAAmB;oBACvB,IAAI,CAAC,OAAO,CAAC,KAAK;wBAAE,OAAO,EAAE,CAAC;oBAC9B,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;wBAC/C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;wBACnD,OAAO;4BACL,GAAG,EAAE,OAAO,CAAC,GAAG;4BAChB,OAAO,EAAE,MAAM,OAAO,CAAC,0BAA0B,EAAE;yBACpD,CAAC;oBACJ,CAAC,CAAC,CACH,CAAC;oBAEF,MAAM,cAAc,GAAG,SAAS;yBAC7B,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC;yBACzC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;oBAEzB,OAAO,cAAc,CAAC;gBACxB,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { IDiscountAdapter, OrderDiscountConfiguration } from '../directors/index.js';
|
|
2
|
-
export declare const OrderDiscountAdapter: Omit<IDiscountAdapter<OrderDiscountConfiguration
|
|
2
|
+
export declare const OrderDiscountAdapter: Omit<IDiscountAdapter<OrderDiscountConfiguration>, 'key' | 'label' | 'version'>;
|
|
3
3
|
//# sourceMappingURL=OrderDiscountAdapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderDiscountAdapter.d.ts","sourceRoot":"","sources":["../../src/directors/OrderDiscountAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAChB,0BAA0B,EAC3B,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,oBAAoB,EAAE,IAAI,CACrC,gBAAgB,CAAC,0BAA0B,
|
|
1
|
+
{"version":3,"file":"OrderDiscountAdapter.d.ts","sourceRoot":"","sources":["../../src/directors/OrderDiscountAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAChB,0BAA0B,EAC3B,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,oBAAoB,EAAE,IAAI,CACrC,gBAAgB,CAAC,0BAA0B,CAAC,EAC5C,KAAK,GAAG,OAAO,GAAG,SAAS,CACN,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { OrderDiscountConfiguration } from './OrderDiscountConfiguration.js';
|
|
2
|
-
export declare const OrderDiscountDirector: import("./BaseDiscountDirector.js").IDiscountDirector<OrderDiscountConfiguration
|
|
2
|
+
export declare const OrderDiscountDirector: import("./BaseDiscountDirector.js").IDiscountDirector<OrderDiscountConfiguration>;
|
|
3
3
|
//# sourceMappingURL=OrderDiscountDirector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderDiscountDirector.d.ts","sourceRoot":"","sources":["../../src/directors/OrderDiscountDirector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"OrderDiscountDirector.d.ts","sourceRoot":"","sources":["../../src/directors/OrderDiscountDirector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,eAAO,MAAM,qBAAqB,mFACyC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderDiscountDirector.js","sourceRoot":"","sources":["../../src/directors/OrderDiscountDirector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,MAAM,CAAC,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"OrderDiscountDirector.js","sourceRoot":"","sources":["../../src/directors/OrderDiscountDirector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,MAAM,CAAC,MAAM,qBAAqB,GAChC,oBAAoB,CAA6B,uBAAuB,CAAC,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { IDiscountAdapter, ProductDiscountConfiguration } from '../directors/index.js';
|
|
2
|
-
export declare const ProductDiscountAdapter: Omit<IDiscountAdapter<ProductDiscountConfiguration
|
|
2
|
+
export declare const ProductDiscountAdapter: Omit<IDiscountAdapter<ProductDiscountConfiguration>, 'key' | 'label' | 'version'>;
|
|
3
3
|
//# sourceMappingURL=ProductDiscountAdapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductDiscountAdapter.d.ts","sourceRoot":"","sources":["../../src/directors/ProductDiscountAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAChB,4BAA4B,EAC7B,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,sBAAsB,EAAE,IAAI,CACvC,gBAAgB,CAAC,4BAA4B,
|
|
1
|
+
{"version":3,"file":"ProductDiscountAdapter.d.ts","sourceRoot":"","sources":["../../src/directors/ProductDiscountAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAChB,4BAA4B,EAC7B,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,sBAAsB,EAAE,IAAI,CACvC,gBAAgB,CAAC,4BAA4B,CAAC,EAC9C,KAAK,GAAG,OAAO,GAAG,SAAS,CACN,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { ProductDiscountConfiguration } from '../directors/index.js';
|
|
2
|
-
export declare const ProductDiscountDirector: import("./BaseDiscountDirector.js").IDiscountDirector<ProductDiscountConfiguration
|
|
2
|
+
export declare const ProductDiscountDirector: import("./BaseDiscountDirector.js").IDiscountDirector<ProductDiscountConfiguration>;
|
|
3
3
|
//# sourceMappingURL=ProductDiscountDirector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductDiscountDirector.d.ts","sourceRoot":"","sources":["../../src/directors/ProductDiscountDirector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAE3F,eAAO,MAAM,uBAAuB,
|
|
1
|
+
{"version":3,"file":"ProductDiscountDirector.d.ts","sourceRoot":"","sources":["../../src/directors/ProductDiscountDirector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAE3F,eAAO,MAAM,uBAAuB,qFAC2C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductDiscountDirector.js","sourceRoot":"","sources":["../../src/directors/ProductDiscountDirector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAgC,MAAM,uBAAuB,CAAC;AAE3F,MAAM,CAAC,MAAM,uBAAuB,
|
|
1
|
+
{"version":3,"file":"ProductDiscountDirector.js","sourceRoot":"","sources":["../../src/directors/ProductDiscountDirector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAgC,MAAM,uBAAuB,CAAC;AAE3F,MAAM,CAAC,MAAM,uBAAuB,GAClC,oBAAoB,CAA+B,yBAAyB,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unchainedshop/core",
|
|
3
|
-
"version": "3.0.0-
|
|
3
|
+
"version": "3.0.0-rc4",
|
|
4
4
|
"main": "lib/core-index.js",
|
|
5
5
|
"types": "lib/core-index.d.ts",
|
|
6
6
|
"type": "module",
|
|
@@ -29,26 +29,26 @@
|
|
|
29
29
|
"homepage": "https://github.com/unchainedshop/unchained#readme",
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@breejs/later": "^4.2.0",
|
|
32
|
-
"@unchainedshop/core-assortments": "^3.0.0-
|
|
33
|
-
"@unchainedshop/core-bookmarks": "^3.0.0-
|
|
34
|
-
"@unchainedshop/core-countries": "^3.0.0-
|
|
35
|
-
"@unchainedshop/core-currencies": "^3.0.0-
|
|
36
|
-
"@unchainedshop/core-delivery": "^3.0.0-
|
|
37
|
-
"@unchainedshop/core-enrollments": "^3.0.0-
|
|
38
|
-
"@unchainedshop/core-events": "^3.0.0-
|
|
39
|
-
"@unchainedshop/core-files": "^3.0.0-
|
|
40
|
-
"@unchainedshop/core-filters": "^3.0.0-
|
|
41
|
-
"@unchainedshop/core-languages": "^3.0.0-
|
|
42
|
-
"@unchainedshop/core-messaging": "^3.0.0-
|
|
43
|
-
"@unchainedshop/core-orders": "^3.0.0-
|
|
44
|
-
"@unchainedshop/core-payment": "^3.0.0-
|
|
45
|
-
"@unchainedshop/core-products": "^3.0.0-
|
|
46
|
-
"@unchainedshop/core-quotations": "^3.0.0-
|
|
47
|
-
"@unchainedshop/core-users": "^3.0.0-
|
|
48
|
-
"@unchainedshop/core-warehousing": "^3.0.0-
|
|
49
|
-
"@unchainedshop/core-worker": "^3.0.0-
|
|
50
|
-
"@unchainedshop/logger": "^3.0.0-
|
|
51
|
-
"@unchainedshop/utils": "^3.0.0-
|
|
32
|
+
"@unchainedshop/core-assortments": "^3.0.0-rc4",
|
|
33
|
+
"@unchainedshop/core-bookmarks": "^3.0.0-rc4",
|
|
34
|
+
"@unchainedshop/core-countries": "^3.0.0-rc4",
|
|
35
|
+
"@unchainedshop/core-currencies": "^3.0.0-rc4",
|
|
36
|
+
"@unchainedshop/core-delivery": "^3.0.0-rc4",
|
|
37
|
+
"@unchainedshop/core-enrollments": "^3.0.0-rc4",
|
|
38
|
+
"@unchainedshop/core-events": "^3.0.0-rc4",
|
|
39
|
+
"@unchainedshop/core-files": "^3.0.0-rc4",
|
|
40
|
+
"@unchainedshop/core-filters": "^3.0.0-rc4",
|
|
41
|
+
"@unchainedshop/core-languages": "^3.0.0-rc4",
|
|
42
|
+
"@unchainedshop/core-messaging": "^3.0.0-rc4",
|
|
43
|
+
"@unchainedshop/core-orders": "^3.0.0-rc4",
|
|
44
|
+
"@unchainedshop/core-payment": "^3.0.0-rc4",
|
|
45
|
+
"@unchainedshop/core-products": "^3.0.0-rc4",
|
|
46
|
+
"@unchainedshop/core-quotations": "^3.0.0-rc4",
|
|
47
|
+
"@unchainedshop/core-users": "^3.0.0-rc4",
|
|
48
|
+
"@unchainedshop/core-warehousing": "^3.0.0-rc4",
|
|
49
|
+
"@unchainedshop/core-worker": "^3.0.0-rc4",
|
|
50
|
+
"@unchainedshop/logger": "^3.0.0-rc4",
|
|
51
|
+
"@unchainedshop/utils": "^3.0.0-rc4",
|
|
52
52
|
"date-fns": "^4.1.0"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
@@ -2,20 +2,22 @@ import { log, LogLevel } from '@unchainedshop/logger';
|
|
|
2
2
|
import { IBaseAdapter } from '@unchainedshop/utils';
|
|
3
3
|
import { IPricingSheet } from './BasePricingSheet.js';
|
|
4
4
|
import { PricingCalculation } from '@unchainedshop/utils';
|
|
5
|
+
import { Order, OrderDiscount } from '@unchainedshop/core-orders';
|
|
6
|
+
import { Modules } from '../modules.js';
|
|
5
7
|
export interface DiscountContext {
|
|
6
8
|
code?: string;
|
|
7
|
-
orderDiscount?:
|
|
8
|
-
order?:
|
|
9
|
+
orderDiscount?: OrderDiscount;
|
|
10
|
+
order?: Order;
|
|
9
11
|
}
|
|
10
12
|
|
|
11
|
-
export type IDiscountAdapter<DiscountConfiguration
|
|
13
|
+
export type IDiscountAdapter<DiscountConfiguration> = IBaseAdapter & {
|
|
12
14
|
orderIndex: number;
|
|
13
15
|
|
|
14
16
|
isManualAdditionAllowed: (code: string) => Promise<boolean>;
|
|
15
17
|
isManualRemovalAllowed: () => Promise<boolean>;
|
|
16
18
|
|
|
17
19
|
actions: (params: {
|
|
18
|
-
context: DiscountContext &
|
|
20
|
+
context: DiscountContext & { modules: Modules };
|
|
19
21
|
}) => Promise<DiscountAdapterActions<DiscountConfiguration>>;
|
|
20
22
|
};
|
|
21
23
|
|
|
@@ -32,10 +34,7 @@ export interface DiscountAdapterActions<DiscountConfiguration> {
|
|
|
32
34
|
release: () => Promise<void>;
|
|
33
35
|
}
|
|
34
36
|
|
|
35
|
-
export const BaseDiscountAdapter: Omit<
|
|
36
|
-
IDiscountAdapter<unknown, unknown>,
|
|
37
|
-
'key' | 'label' | 'version'
|
|
38
|
-
> = {
|
|
37
|
+
export const BaseDiscountAdapter: Omit<IDiscountAdapter<unknown>, 'key' | 'label' | 'version'> = {
|
|
39
38
|
orderIndex: 0,
|
|
40
39
|
|
|
41
40
|
isManualAdditionAllowed: async () => {
|
|
@@ -1,24 +1,25 @@
|
|
|
1
1
|
import { BaseDirector, IBaseDirector } from '@unchainedshop/utils';
|
|
2
2
|
import { DiscountContext, IDiscountAdapter } from './BaseDiscountAdapter.js';
|
|
3
|
+
import { Modules } from '../modules.js';
|
|
3
4
|
|
|
4
|
-
export type IDiscountDirector<DiscountConfiguration
|
|
5
|
-
IDiscountAdapter<DiscountConfiguration
|
|
5
|
+
export type IDiscountDirector<DiscountConfiguration> = IBaseDirector<
|
|
6
|
+
IDiscountAdapter<DiscountConfiguration>
|
|
6
7
|
> & {
|
|
7
8
|
actions: (
|
|
8
9
|
discountContext: DiscountContext,
|
|
9
|
-
unchainedAPI:
|
|
10
|
+
unchainedAPI: { modules: Modules },
|
|
10
11
|
) => Promise<{
|
|
11
12
|
resolveDiscountAdapterFromStaticCode: (params: {
|
|
12
13
|
code: string;
|
|
13
|
-
}) => Promise<IDiscountAdapter<DiscountConfiguration
|
|
14
|
+
}) => Promise<IDiscountAdapter<DiscountConfiguration>>;
|
|
14
15
|
findSystemDiscounts: () => Promise<Array<string>>;
|
|
15
16
|
}>;
|
|
16
17
|
};
|
|
17
18
|
|
|
18
|
-
export const BaseDiscountDirector = <DiscountConfigurationType
|
|
19
|
+
export const BaseDiscountDirector = <DiscountConfigurationType>(
|
|
19
20
|
directorName: string,
|
|
20
|
-
): IDiscountDirector<DiscountConfigurationType
|
|
21
|
-
const baseDirector = BaseDirector<IDiscountAdapter<DiscountConfigurationType
|
|
21
|
+
): IDiscountDirector<DiscountConfigurationType> => {
|
|
22
|
+
const baseDirector = BaseDirector<IDiscountAdapter<DiscountConfigurationType>>(directorName, {
|
|
22
23
|
adapterSortKey: 'orderIndex',
|
|
23
24
|
});
|
|
24
25
|
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { BaseDiscountDirector } from './BaseDiscountDirector.js';
|
|
2
2
|
import { OrderDiscountConfiguration } from './OrderDiscountConfiguration.js';
|
|
3
3
|
|
|
4
|
-
export const OrderDiscountDirector =
|
|
5
|
-
'OrderDiscountDirector'
|
|
6
|
-
);
|
|
4
|
+
export const OrderDiscountDirector =
|
|
5
|
+
BaseDiscountDirector<OrderDiscountConfiguration>('OrderDiscountDirector');
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { BaseDiscountDirector, ProductDiscountConfiguration } from '../directors/index.js';
|
|
2
2
|
|
|
3
|
-
export const ProductDiscountDirector =
|
|
4
|
-
'ProductDiscountDirector'
|
|
5
|
-
);
|
|
3
|
+
export const ProductDiscountDirector =
|
|
4
|
+
BaseDiscountDirector<ProductDiscountConfiguration>('ProductDiscountDirector');
|