@unchainedshop/core 3.0.0-rc2 → 3.0.0-rc3

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.
@@ -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
- _id?: string;
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, Context> = IBaseAdapter & {
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 & Context;
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, unknown>, 'key' | 'label' | 'version'>;
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,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,KAAK,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C;AAED,MAAM,MAAM,gBAAgB,CAAC,qBAAqB,EAAE,OAAO,IAAI,YAAY,GAAG;IAC5E,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,OAAO,CAAC;KACpC,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,CACpC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,EAClC,KAAK,GAAG,OAAO,GAAG,SAAS,CAsD5B,CAAC"}
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;AAkCtD,MAAM,CAAC,MAAM,mBAAmB,GAG5B;IACF,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
+ {"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
- export type IDiscountDirector<DiscountConfiguration, Context> = IBaseDirector<IDiscountAdapter<DiscountConfiguration, Context>> & {
4
- actions: (discountContext: DiscountContext, unchainedAPI: Context) => Promise<{
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, Context>>;
10
+ }) => Promise<IDiscountAdapter<DiscountConfiguration>>;
8
11
  findSystemDiscounts: () => Promise<Array<string>>;
9
12
  }>;
10
13
  };
11
- export declare const BaseDiscountDirector: <DiscountConfigurationType, Context>(directorName: string) => IDiscountDirector<DiscountConfigurationType, Context>;
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;AAE7E,MAAM,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,OAAO,IAAI,aAAa,CAC3E,gBAAgB,CAAC,qBAAqB,EAAE,OAAO,CAAC,CACjD,GAAG;IACF,OAAO,EAAE,CACP,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,OAAO,KAClB,OAAO,CAAC;QACX,oCAAoC,EAAE,CAAC,MAAM,EAAE;YAC7C,IAAI,EAAE,MAAM,CAAC;SACd,KAAK,OAAO,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC,CAAC;QAChE,mBAAmB,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;KACnD,CAAC,CAAC;CACJ,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,yBAAyB,EAAE,OAAO,gBACvD,MAAM,KACnB,iBAAiB,CAAC,yBAAyB,EAAE,OAAO,CAoDtD,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;AAiBnE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,YAAoB,EACmC,EAAE;IACzD,MAAM,YAAY,GAAG,YAAY,CAAuD,YAAY,EAAE;QACpG,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
+ {"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, any>, 'key' | 'label' | 'version'>;
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,EAAE,GAAG,CAAC,EACjD,KAAK,GAAG,OAAO,GAAG,SAAS,CACN,CAAC"}
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, any>;
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,wFAEjC,CAAC"}
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,GAAG,oBAAoB,CACvD,uBAAuB,CACxB,CAAC"}
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, any>, 'key' | 'label' | 'version'>;
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,EAAE,GAAG,CAAC,EACnD,KAAK,GAAG,OAAO,GAAG,SAAS,CACN,CAAC"}
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, any>;
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,0FAEnC,CAAC"}
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,GAAG,oBAAoB,CACzD,yBAAyB,CAC1B,CAAC"}
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-rc2",
3
+ "version": "3.0.0-rc3",
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-rc2",
33
- "@unchainedshop/core-bookmarks": "^3.0.0-rc2",
34
- "@unchainedshop/core-countries": "^3.0.0-rc2",
35
- "@unchainedshop/core-currencies": "^3.0.0-rc2",
36
- "@unchainedshop/core-delivery": "^3.0.0-rc2",
37
- "@unchainedshop/core-enrollments": "^3.0.0-rc2",
38
- "@unchainedshop/core-events": "^3.0.0-rc2",
39
- "@unchainedshop/core-files": "^3.0.0-rc2",
40
- "@unchainedshop/core-filters": "^3.0.0-rc2",
41
- "@unchainedshop/core-languages": "^3.0.0-rc2",
42
- "@unchainedshop/core-messaging": "^3.0.0-rc2",
43
- "@unchainedshop/core-orders": "^3.0.0-rc2",
44
- "@unchainedshop/core-payment": "^3.0.0-rc2",
45
- "@unchainedshop/core-products": "^3.0.0-rc2",
46
- "@unchainedshop/core-quotations": "^3.0.0-rc2",
47
- "@unchainedshop/core-users": "^3.0.0-rc2",
48
- "@unchainedshop/core-warehousing": "^3.0.0-rc2",
49
- "@unchainedshop/core-worker": "^3.0.0-rc2",
50
- "@unchainedshop/logger": "^3.0.0-rc2",
51
- "@unchainedshop/utils": "^3.0.0-rc2",
32
+ "@unchainedshop/core-assortments": "^3.0.0-rc3",
33
+ "@unchainedshop/core-bookmarks": "^3.0.0-rc3",
34
+ "@unchainedshop/core-countries": "^3.0.0-rc3",
35
+ "@unchainedshop/core-currencies": "^3.0.0-rc3",
36
+ "@unchainedshop/core-delivery": "^3.0.0-rc3",
37
+ "@unchainedshop/core-enrollments": "^3.0.0-rc3",
38
+ "@unchainedshop/core-events": "^3.0.0-rc3",
39
+ "@unchainedshop/core-files": "^3.0.0-rc3",
40
+ "@unchainedshop/core-filters": "^3.0.0-rc3",
41
+ "@unchainedshop/core-languages": "^3.0.0-rc3",
42
+ "@unchainedshop/core-messaging": "^3.0.0-rc3",
43
+ "@unchainedshop/core-orders": "^3.0.0-rc3",
44
+ "@unchainedshop/core-payment": "^3.0.0-rc3",
45
+ "@unchainedshop/core-products": "^3.0.0-rc3",
46
+ "@unchainedshop/core-quotations": "^3.0.0-rc3",
47
+ "@unchainedshop/core-users": "^3.0.0-rc3",
48
+ "@unchainedshop/core-warehousing": "^3.0.0-rc3",
49
+ "@unchainedshop/core-worker": "^3.0.0-rc3",
50
+ "@unchainedshop/logger": "^3.0.0-rc3",
51
+ "@unchainedshop/utils": "^3.0.0-rc3",
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?: { _id?: string; orderId: string };
8
- order?: { _id?: string; userId: string };
9
+ orderDiscount?: OrderDiscount;
10
+ order?: Order;
9
11
  }
10
12
 
11
- export type IDiscountAdapter<DiscountConfiguration, Context> = IBaseAdapter & {
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 & Context;
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, Context> = IBaseDirector<
5
- IDiscountAdapter<DiscountConfiguration, Context>
5
+ export type IDiscountDirector<DiscountConfiguration> = IBaseDirector<
6
+ IDiscountAdapter<DiscountConfiguration>
6
7
  > & {
7
8
  actions: (
8
9
  discountContext: DiscountContext,
9
- unchainedAPI: Context,
10
+ unchainedAPI: { modules: Modules },
10
11
  ) => Promise<{
11
12
  resolveDiscountAdapterFromStaticCode: (params: {
12
13
  code: string;
13
- }) => Promise<IDiscountAdapter<DiscountConfiguration, Context>>;
14
+ }) => Promise<IDiscountAdapter<DiscountConfiguration>>;
14
15
  findSystemDiscounts: () => Promise<Array<string>>;
15
16
  }>;
16
17
  };
17
18
 
18
- export const BaseDiscountDirector = <DiscountConfigurationType, Context>(
19
+ export const BaseDiscountDirector = <DiscountConfigurationType>(
19
20
  directorName: string,
20
- ): IDiscountDirector<DiscountConfigurationType, Context> => {
21
- const baseDirector = BaseDirector<IDiscountAdapter<DiscountConfigurationType, Context>>(directorName, {
21
+ ): IDiscountDirector<DiscountConfigurationType> => {
22
+ const baseDirector = BaseDirector<IDiscountAdapter<DiscountConfigurationType>>(directorName, {
22
23
  adapterSortKey: 'orderIndex',
23
24
  });
24
25
 
@@ -5,6 +5,6 @@ import {
5
5
  } from '../directors/index.js';
6
6
 
7
7
  export const OrderDiscountAdapter: Omit<
8
- IDiscountAdapter<OrderDiscountConfiguration, any>,
8
+ IDiscountAdapter<OrderDiscountConfiguration>,
9
9
  'key' | 'label' | 'version'
10
10
  > = BaseDiscountAdapter;
@@ -1,6 +1,5 @@
1
1
  import { BaseDiscountDirector } from './BaseDiscountDirector.js';
2
2
  import { OrderDiscountConfiguration } from './OrderDiscountConfiguration.js';
3
3
 
4
- export const OrderDiscountDirector = BaseDiscountDirector<OrderDiscountConfiguration, any>(
5
- 'OrderDiscountDirector',
6
- );
4
+ export const OrderDiscountDirector =
5
+ BaseDiscountDirector<OrderDiscountConfiguration>('OrderDiscountDirector');
@@ -5,6 +5,6 @@ import {
5
5
  } from '../directors/index.js';
6
6
 
7
7
  export const ProductDiscountAdapter: Omit<
8
- IDiscountAdapter<ProductDiscountConfiguration, any>,
8
+ IDiscountAdapter<ProductDiscountConfiguration>,
9
9
  'key' | 'label' | 'version'
10
10
  > = BaseDiscountAdapter;
@@ -1,5 +1,4 @@
1
1
  import { BaseDiscountDirector, ProductDiscountConfiguration } from '../directors/index.js';
2
2
 
3
- export const ProductDiscountDirector = BaseDiscountDirector<ProductDiscountConfiguration, any>(
4
- 'ProductDiscountDirector',
5
- );
3
+ export const ProductDiscountDirector =
4
+ BaseDiscountDirector<ProductDiscountConfiguration>('ProductDiscountDirector');