@vendure/core 3.0.2 → 3.1.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/api/common/request-context.d.ts +34 -0
  2. package/dist/api/common/request-context.js +36 -0
  3. package/dist/api/common/request-context.js.map +1 -1
  4. package/dist/cache/cache.module.js +5 -2
  5. package/dist/cache/cache.module.js.map +1 -1
  6. package/dist/cache/cache.service.d.ts +37 -0
  7. package/dist/cache/cache.service.js +83 -0
  8. package/dist/cache/cache.service.js.map +1 -0
  9. package/dist/config/config.module.js +2 -0
  10. package/dist/config/config.module.js.map +1 -1
  11. package/dist/config/default-config.js +2 -0
  12. package/dist/config/default-config.js.map +1 -1
  13. package/dist/config/entity/default-money-strategy.js +1 -1
  14. package/dist/config/entity/default-money-strategy.js.map +1 -1
  15. package/dist/config/entity/money-strategy.d.ts +1 -1
  16. package/dist/config/promotion/actions/facet-values-percentage-discount-action.js +2 -3
  17. package/dist/config/promotion/actions/facet-values-percentage-discount-action.js.map +1 -1
  18. package/dist/config/promotion/actions/order-line-fixed-discount-action.d.ts +9 -0
  19. package/dist/config/promotion/actions/order-line-fixed-discount-action.js +21 -0
  20. package/dist/config/promotion/actions/order-line-fixed-discount-action.js.map +1 -0
  21. package/dist/config/promotion/conditions/has-facet-values-condition.js +2 -3
  22. package/dist/config/promotion/conditions/has-facet-values-condition.js.map +1 -1
  23. package/dist/config/promotion/index.d.ts +7 -1
  24. package/dist/config/promotion/index.js +2 -1
  25. package/dist/config/promotion/index.js.map +1 -1
  26. package/dist/config/promotion/promotion-action.d.ts +53 -1
  27. package/dist/config/promotion/promotion-action.js +36 -1
  28. package/dist/config/promotion/promotion-action.js.map +1 -1
  29. package/dist/config/system/cache-strategy.d.ts +47 -0
  30. package/dist/config/system/cache-strategy.js +3 -0
  31. package/dist/config/system/cache-strategy.js.map +1 -0
  32. package/dist/config/system/in-memory-cache-strategy.d.ts +26 -0
  33. package/dist/config/system/in-memory-cache-strategy.js +56 -0
  34. package/dist/config/system/in-memory-cache-strategy.js.map +1 -0
  35. package/dist/config/vendure-config.d.ts +10 -0
  36. package/dist/connection/transactional-connection.d.ts +13 -2
  37. package/dist/connection/transactional-connection.js +23 -3
  38. package/dist/connection/transactional-connection.js.map +1 -1
  39. package/dist/entity/promotion/promotion.entity.d.ts +5 -1
  40. package/dist/entity/promotion/promotion.entity.js +10 -1
  41. package/dist/entity/promotion/promotion.entity.js.map +1 -1
  42. package/dist/plugin/default-cache-plugin/cache-item.entity.d.ts +8 -0
  43. package/dist/plugin/default-cache-plugin/cache-item.entity.js +38 -0
  44. package/dist/plugin/default-cache-plugin/cache-item.entity.js.map +1 -0
  45. package/dist/plugin/default-cache-plugin/constants.d.ts +1 -0
  46. package/dist/plugin/default-cache-plugin/constants.js +5 -0
  47. package/dist/plugin/default-cache-plugin/constants.js.map +1 -0
  48. package/dist/plugin/default-cache-plugin/default-cache-plugin.d.ts +7 -0
  49. package/dist/plugin/default-cache-plugin/default-cache-plugin.js +40 -0
  50. package/dist/plugin/default-cache-plugin/default-cache-plugin.js.map +1 -0
  51. package/dist/plugin/default-cache-plugin/sql-cache-strategy.d.ts +26 -0
  52. package/dist/plugin/default-cache-plugin/sql-cache-strategy.js +91 -0
  53. package/dist/plugin/default-cache-plugin/sql-cache-strategy.js.map +1 -0
  54. package/dist/plugin/index.d.ts +2 -0
  55. package/dist/plugin/index.js +2 -0
  56. package/dist/plugin/index.js.map +1 -1
  57. package/dist/service/helpers/external-authentication/external-authentication.service.d.ts +12 -0
  58. package/dist/service/helpers/external-authentication/external-authentication.service.js +23 -0
  59. package/dist/service/helpers/external-authentication/external-authentication.service.js.map +1 -1
  60. package/dist/{config/promotion/utils → service/helpers/facet-value-checker}/facet-value-checker.d.ts +21 -5
  61. package/dist/service/helpers/facet-value-checker/facet-value-checker.js +151 -0
  62. package/dist/service/helpers/facet-value-checker/facet-value-checker.js.map +1 -0
  63. package/dist/service/helpers/order-calculator/order-calculator.d.ts +2 -0
  64. package/dist/service/helpers/order-calculator/order-calculator.js +2 -1
  65. package/dist/service/helpers/order-calculator/order-calculator.js.map +1 -1
  66. package/dist/service/index.d.ts +1 -0
  67. package/dist/service/index.js +1 -0
  68. package/dist/service/index.js.map +1 -1
  69. package/dist/service/service.module.js +2 -0
  70. package/dist/service/service.module.js.map +1 -1
  71. package/package.json +3 -3
  72. package/dist/config/promotion/utils/facet-value-checker.js +0 -76
  73. package/dist/config/promotion/utils/facet-value-checker.js.map +0 -1
@@ -2,6 +2,7 @@ import { CurrencyCode, LanguageCode, Permission } from '@vendure/common/lib/gene
2
2
  import { ID, JsonCompatible } from '@vendure/common/lib/shared-types';
3
3
  import { Request } from 'express';
4
4
  import { TFunction } from 'i18next';
5
+ import { ReplicationMode } from 'typeorm';
5
6
  import { CachedSession } from '../../config/session-cache/session-cache-strategy';
6
7
  import { Channel } from '../../entity/channel/channel.entity';
7
8
  import { ApiType } from './get-api-type';
@@ -26,6 +27,11 @@ export type SerializedRequestContext = {
26
27
  * the active Channel, and so on. In addition, the {@link TransactionalConnection} relies on the
27
28
  * presence of the RequestContext object in order to correctly handle per-request database transactions.
28
29
  *
30
+ * The RequestContext also provides mechanisms for managing the database replication mode via the
31
+ * {@link setReplicationMode} method and the {@link replicationMode} getter. This allows for finer control
32
+ * over whether database queries within the context should be executed against the master or a replica
33
+ * database, which can be particularly useful in distributed database environments.
34
+ *
29
35
  * @example
30
36
  * ```ts
31
37
  * \@Query()
@@ -33,6 +39,15 @@ export type SerializedRequestContext = {
33
39
  * return this.myService.getData(ctx);
34
40
  * }
35
41
  * ```
42
+ *
43
+ * @example
44
+ * ```ts
45
+ * \@Query()
46
+ * myMutation(\@Ctx() ctx: RequestContext) {
47
+ * ctx.setReplicationMode('master');
48
+ * return this.myService.getData(ctx);
49
+ * }
50
+ * ```
36
51
  * @docsCategory request
37
52
  */
38
53
  export declare class RequestContext {
@@ -45,6 +60,7 @@ export declare class RequestContext {
45
60
  private readonly _translationFn;
46
61
  private readonly _apiType;
47
62
  private readonly _req?;
63
+ private _replicationMode?;
48
64
  /**
49
65
  * @internal
50
66
  */
@@ -145,4 +161,22 @@ export declare class RequestContext {
145
161
  * @private
146
162
  */
147
163
  private shallowCloneRequestObject;
164
+ /**
165
+ * @description
166
+ * Sets the replication mode for the current RequestContext. This mode determines whether the operations
167
+ * within this context should interact with the master database or a replica. Use this method to explicitly
168
+ * define the replication mode for the context.
169
+ *
170
+ * @param mode - The replication mode to be set (e.g., 'master' or 'replica').
171
+ */
172
+ setReplicationMode(mode: ReplicationMode): void;
173
+ /**
174
+ * @description
175
+ * Gets the current replication mode of the RequestContext. If no replication mode has been set,
176
+ * it returns `undefined`. This property indicates whether the context is configured to interact with
177
+ * the master database or a replica.
178
+ *
179
+ * @returns The current replication mode, or `undefined` if none is set.
180
+ */
181
+ get replicationMode(): ReplicationMode | undefined;
148
182
  }
@@ -16,6 +16,11 @@ const channel_entity_1 = require("../../entity/channel/channel.entity");
16
16
  * the active Channel, and so on. In addition, the {@link TransactionalConnection} relies on the
17
17
  * presence of the RequestContext object in order to correctly handle per-request database transactions.
18
18
  *
19
+ * The RequestContext also provides mechanisms for managing the database replication mode via the
20
+ * {@link setReplicationMode} method and the {@link replicationMode} getter. This allows for finer control
21
+ * over whether database queries within the context should be executed against the master or a replica
22
+ * database, which can be particularly useful in distributed database environments.
23
+ *
19
24
  * @example
20
25
  * ```ts
21
26
  * \@Query()
@@ -23,6 +28,15 @@ const channel_entity_1 = require("../../entity/channel/channel.entity");
23
28
  * return this.myService.getData(ctx);
24
29
  * }
25
30
  * ```
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * \@Query()
35
+ * myMutation(\@Ctx() ctx: RequestContext) {
36
+ * ctx.setReplicationMode('master');
37
+ * return this.myService.getData(ctx);
38
+ * }
39
+ * ```
26
40
  * @docsCategory request
27
41
  */
28
42
  class RequestContext {
@@ -234,6 +248,28 @@ class RequestContext {
234
248
  }
235
249
  return copySimpleFieldsToDepth(req, 1);
236
250
  }
251
+ /**
252
+ * @description
253
+ * Sets the replication mode for the current RequestContext. This mode determines whether the operations
254
+ * within this context should interact with the master database or a replica. Use this method to explicitly
255
+ * define the replication mode for the context.
256
+ *
257
+ * @param mode - The replication mode to be set (e.g., 'master' or 'replica').
258
+ */
259
+ setReplicationMode(mode) {
260
+ this._replicationMode = mode;
261
+ }
262
+ /**
263
+ * @description
264
+ * Gets the current replication mode of the RequestContext. If no replication mode has been set,
265
+ * it returns `undefined`. This property indicates whether the context is configured to interact with
266
+ * the master database or a replica.
267
+ *
268
+ * @returns The current replication mode, or `undefined` if none is set.
269
+ */
270
+ get replicationMode() {
271
+ return this._replicationMode;
272
+ }
237
273
  }
238
274
  exports.RequestContext = RequestContext;
239
275
  //# sourceMappingURL=request-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"request-context.js","sourceRoot":"","sources":["../../../src/api/common/request-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request-context.js","sourceRoot":"","sources":["../../../src/api/common/request-context.ts"],"names":[],"mappings":"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"}
@@ -8,14 +8,17 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.CacheModule = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
+ const config_module_1 = require("../config/config.module");
12
+ const cache_service_1 = require("./cache.service");
11
13
  const request_context_cache_service_1 = require("./request-context-cache.service");
12
14
  let CacheModule = class CacheModule {
13
15
  };
14
16
  exports.CacheModule = CacheModule;
15
17
  exports.CacheModule = CacheModule = __decorate([
16
18
  (0, common_1.Module)({
17
- providers: [request_context_cache_service_1.RequestContextCacheService],
18
- exports: [request_context_cache_service_1.RequestContextCacheService],
19
+ imports: [config_module_1.ConfigModule],
20
+ providers: [request_context_cache_service_1.RequestContextCacheService, cache_service_1.CacheService],
21
+ exports: [request_context_cache_service_1.RequestContextCacheService, cache_service_1.CacheService],
19
22
  })
20
23
  ], CacheModule);
21
24
  //# sourceMappingURL=cache.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.module.js","sourceRoot":"","sources":["../../src/cache/cache.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AAExC,mFAA6E;AAMtE,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IAJvB,IAAA,eAAM,EAAC;QACJ,SAAS,EAAE,CAAC,0DAA0B,CAAC;QACvC,OAAO,EAAE,CAAC,0DAA0B,CAAC;KACxC,CAAC;GACW,WAAW,CAAG"}
1
+ {"version":3,"file":"cache.module.js","sourceRoot":"","sources":["../../src/cache/cache.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AAExC,2DAAuD;AAEvD,mDAA+C;AAC/C,mFAA6E;AAOtE,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IALvB,IAAA,eAAM,EAAC;QACJ,OAAO,EAAE,CAAC,4BAAY,CAAC;QACvB,SAAS,EAAE,CAAC,0DAA0B,EAAE,4BAAY,CAAC;QACrD,OAAO,EAAE,CAAC,0DAA0B,EAAE,4BAAY,CAAC;KACtD,CAAC;GACW,WAAW,CAAG"}
@@ -0,0 +1,37 @@
1
+ import { JsonCompatible } from '@vendure/common/lib/shared-types';
2
+ import { ConfigService } from '../config/config.service';
3
+ import { CacheStrategy, SetCacheKeyOptions } from '../config/system/cache-strategy';
4
+ /**
5
+ * @description
6
+ * The CacheService is used to cache data in order to optimize performance.
7
+ *
8
+ * Internally it makes use of the configured {@link CacheStrategy} to persist
9
+ * the cache into a key-value store.
10
+ *
11
+ * @since 3.1.0
12
+ */
13
+ export declare class CacheService {
14
+ private configService;
15
+ protected cacheStrategy: CacheStrategy;
16
+ constructor(configService: ConfigService);
17
+ /**
18
+ * @description
19
+ * Gets an item from the cache, or returns undefined if the key is not found, or the
20
+ * item has expired.
21
+ */
22
+ get<T extends JsonCompatible<T>>(key: string): Promise<T | undefined>;
23
+ /**
24
+ * @description
25
+ * Sets a key-value pair in the cache. The value must be serializable, so cannot contain
26
+ * things like functions, circular data structures, class instances etc.
27
+ *
28
+ * Optionally a "time to live" (ttl) can be specified, which means that the key will
29
+ * be considered stale after that many milliseconds.
30
+ */
31
+ set<T extends JsonCompatible<T>>(key: string, value: T, options?: SetCacheKeyOptions): Promise<void>;
32
+ /**
33
+ * @description
34
+ * Deletes an item from the cache.
35
+ */
36
+ delete(key: string): Promise<void>;
37
+ }
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CacheService = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const config_service_1 = require("../config/config.service");
15
+ const index_1 = require("../config/index");
16
+ /**
17
+ * @description
18
+ * The CacheService is used to cache data in order to optimize performance.
19
+ *
20
+ * Internally it makes use of the configured {@link CacheStrategy} to persist
21
+ * the cache into a key-value store.
22
+ *
23
+ * @since 3.1.0
24
+ */
25
+ let CacheService = class CacheService {
26
+ constructor(configService) {
27
+ this.configService = configService;
28
+ this.cacheStrategy = this.configService.systemOptions.cacheStrategy;
29
+ }
30
+ /**
31
+ * @description
32
+ * Gets an item from the cache, or returns undefined if the key is not found, or the
33
+ * item has expired.
34
+ */
35
+ async get(key) {
36
+ try {
37
+ const result = await this.cacheStrategy.get(key);
38
+ if (result) {
39
+ index_1.Logger.debug(`CacheService hit for key [${key}]`);
40
+ }
41
+ return result;
42
+ }
43
+ catch (e) {
44
+ index_1.Logger.error(`Could not get key [${key}] from CacheService`, undefined, e.stack);
45
+ }
46
+ }
47
+ /**
48
+ * @description
49
+ * Sets a key-value pair in the cache. The value must be serializable, so cannot contain
50
+ * things like functions, circular data structures, class instances etc.
51
+ *
52
+ * Optionally a "time to live" (ttl) can be specified, which means that the key will
53
+ * be considered stale after that many milliseconds.
54
+ */
55
+ async set(key, value, options) {
56
+ try {
57
+ await this.cacheStrategy.set(key, value, options);
58
+ index_1.Logger.debug(`Set key [${key}] in CacheService`);
59
+ }
60
+ catch (e) {
61
+ index_1.Logger.error(`Could not set key [${key}] in CacheService`, undefined, e.stack);
62
+ }
63
+ }
64
+ /**
65
+ * @description
66
+ * Deletes an item from the cache.
67
+ */
68
+ async delete(key) {
69
+ try {
70
+ await this.cacheStrategy.delete(key);
71
+ index_1.Logger.debug(`Deleted key [${key}] from CacheService`);
72
+ }
73
+ catch (e) {
74
+ index_1.Logger.error(`Could not delete key [${key}] from CacheService`, undefined, e.stack);
75
+ }
76
+ }
77
+ };
78
+ exports.CacheService = CacheService;
79
+ exports.CacheService = CacheService = __decorate([
80
+ (0, common_1.Injectable)(),
81
+ __metadata("design:paramtypes", [config_service_1.ConfigService])
82
+ ], CacheService);
83
+ //# sourceMappingURL=cache.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.service.js","sourceRoot":"","sources":["../../src/cache/cache.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAG5C,6DAAyD;AACzD,2CAAyC;AAGzC;;;;;;;;GAQG;AAEI,IAAM,YAAY,GAAlB,MAAM,YAAY;IAErB,YAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAC5C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC;IACxE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,GAAG,CAA8B,GAAW;QAC9C,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjD,IAAI,MAAM,EAAE,CAAC;gBACT,cAAM,CAAC,KAAK,CAAC,6BAA6B,GAAG,GAAG,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,MAAW,CAAC;QACvB,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,cAAM,CAAC,KAAK,CAAC,sBAAsB,GAAG,qBAAqB,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACrF,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,GAAG,CACL,GAAW,EACX,KAAQ,EACR,OAA4B;QAE5B,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAClD,cAAM,CAAC,KAAK,CAAC,YAAY,GAAG,mBAAmB,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,cAAM,CAAC,KAAK,CAAC,sBAAsB,GAAG,mBAAmB,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACnF,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,GAAW;QACpB,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACrC,cAAM,CAAC,KAAK,CAAC,gBAAgB,GAAG,qBAAqB,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,cAAM,CAAC,KAAK,CAAC,yBAAyB,GAAG,qBAAqB,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACxF,CAAC;IACL,CAAC;CACJ,CAAA;AAxDY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;qCAG0B,8BAAa;GAFvC,YAAY,CAwDxB"}
@@ -76,6 +76,7 @@ let ConfigModule = class ConfigModule {
76
76
  const { healthChecks, errorHandlers } = this.configService.systemOptions;
77
77
  const { assetImportStrategy } = this.configService.importExportOptions;
78
78
  const { refundProcess: refundProcess } = this.configService.paymentOptions;
79
+ const { cacheStrategy } = this.configService.systemOptions;
79
80
  const entityIdStrategy = entityIdStrategyCurrent !== null && entityIdStrategyCurrent !== void 0 ? entityIdStrategyCurrent : entityIdStrategyDeprecated;
80
81
  return [
81
82
  ...adminAuthenticationStrategy,
@@ -116,6 +117,7 @@ let ConfigModule = class ConfigModule {
116
117
  productVariantPriceSelectionStrategy,
117
118
  guestCheckoutStrategy,
118
119
  ...refundProcess,
120
+ cacheStrategy,
119
121
  ];
120
122
  }
121
123
  getConfigurableOperations() {
@@ -1 +1 @@
1
- {"version":3,"file":"config.module.js","sourceRoot":"","sources":["../../src/config/config.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.module.js","sourceRoot":"","sources":["../../src/config/config.module.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,7 @@ const in_memory_session_cache_strategy_1 = require("./session-cache/in-memory-se
44
44
  const default_shipping_calculator_1 = require("./shipping-method/default-shipping-calculator");
45
45
  const default_shipping_eligibility_checker_1 = require("./shipping-method/default-shipping-eligibility-checker");
46
46
  const default_shipping_line_assignment_strategy_1 = require("./shipping-method/default-shipping-line-assignment-strategy");
47
+ const in_memory_cache_strategy_1 = require("./system/in-memory-cache-strategy");
47
48
  const default_tax_line_calculation_strategy_1 = require("./tax/default-tax-line-calculation-strategy");
48
49
  const default_tax_zone_strategy_1 = require("./tax/default-tax-zone-strategy");
49
50
  /**
@@ -214,6 +215,7 @@ exports.defaultConfig = {
214
215
  },
215
216
  plugins: [],
216
217
  systemOptions: {
218
+ cacheStrategy: new in_memory_cache_strategy_1.InMemoryCacheStrategy({ cacheSize: 10000 }),
217
219
  healthChecks: [new typeorm_health_check_strategy_1.TypeORMHealthCheckStrategy()],
218
220
  errorHandlers: [],
219
221
  },
@@ -1 +1 @@
1
- {"version":3,"file":"default-config.js","sourceRoot":"","sources":["../../src/config/default-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default-config.js","sourceRoot":"","sources":["../../src/config/default-config.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ class DefaultMoneyStrategy {
17
17
  this.precision = 2;
18
18
  }
19
19
  round(value, quantity = 1) {
20
- return Math.round(value) * quantity;
20
+ return Math.round(value * quantity);
21
21
  }
22
22
  }
23
23
  exports.DefaultMoneyStrategy = DefaultMoneyStrategy;
@@ -1 +1 @@
1
- {"version":3,"file":"default-money-strategy.js","sourceRoot":"","sources":["../../../src/config/entity/default-money-strategy.ts"],"names":[],"mappings":";;;AAMA;;;;;;;GAOG;AACH,MAAa,oBAAoB;IAAjC;QACa,uBAAkB,GAAkB;YACzC,IAAI,EAAE,KAAK;SACd,CAAC;QACO,cAAS,GAAW,CAAC,CAAC;IAKnC,CAAC;IAHG,KAAK,CAAC,KAAa,EAAE,QAAQ,GAAG,CAAC;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;IACxC,CAAC;CACJ;AATD,oDASC"}
1
+ {"version":3,"file":"default-money-strategy.js","sourceRoot":"","sources":["../../../src/config/entity/default-money-strategy.ts"],"names":[],"mappings":";;;AAKA;;;;;;;GAOG;AACH,MAAa,oBAAoB;IAAjC;QACa,uBAAkB,GAAkB;YACzC,IAAI,EAAE,KAAK;SACd,CAAC;QACO,cAAS,GAAW,CAAC,CAAC;IAKnC,CAAC;IAHG,KAAK,CAAC,KAAa,EAAE,QAAQ,GAAG,CAAC;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC;IACxC,CAAC;CACJ;AATD,oDASC"}
@@ -85,7 +85,7 @@ export interface MoneyStrategy extends InjectableStrategy {
85
85
  * in the {@link DefaultMoneyStrategy} is to round the value, then multiply.
86
86
  *
87
87
  * ```ts
88
- * return Math.round(value) * quantity;
88
+ * return Math.round(value * quantity);
89
89
  * ```
90
90
  *
91
91
  * However, it may be desirable to instead round only _after_ the unit amount has been
@@ -2,9 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.discountOnItemWithFacets = void 0;
4
4
  const generated_types_1 = require("@vendure/common/lib/generated-types");
5
- const transactional_connection_1 = require("../../../connection/transactional-connection");
5
+ const facet_value_checker_1 = require("../../../service/helpers/facet-value-checker/facet-value-checker");
6
6
  const promotion_action_1 = require("../promotion-action");
7
- const facet_value_checker_1 = require("../utils/facet-value-checker");
8
7
  let facetValueChecker;
9
8
  exports.discountOnItemWithFacets = new promotion_action_1.PromotionItemAction({
10
9
  code: 'facet_based_discount',
@@ -23,7 +22,7 @@ exports.discountOnItemWithFacets = new promotion_action_1.PromotionItemAction({
23
22
  },
24
23
  },
25
24
  init(injector) {
26
- facetValueChecker = new facet_value_checker_1.FacetValueChecker(injector.get(transactional_connection_1.TransactionalConnection));
25
+ facetValueChecker = injector.get(facet_value_checker_1.FacetValueChecker);
27
26
  },
28
27
  async execute(ctx, orderLine, args) {
29
28
  if (await facetValueChecker.hasFacetValues(orderLine, args.facets, ctx)) {
@@ -1 +1 @@
1
- {"version":3,"file":"facet-values-percentage-discount-action.js","sourceRoot":"","sources":["../../../../src/config/promotion/actions/facet-values-percentage-discount-action.ts"],"names":[],"mappings":";;;AAAA,yEAAmE;AAEnE,2FAAuF;AACvF,0DAA0D;AAC1D,sEAAiE;AAEjE,IAAI,iBAAoC,CAAC;AAE5B,QAAA,wBAAwB,GAAG,IAAI,sCAAmB,CAAC;IAC5D,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE;QACF,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO;YACb,EAAE,EAAE;gBACA,SAAS,EAAE,mBAAmB;gBAC9B,MAAM,EAAE,GAAG;aACd;SACJ;QACD,MAAM,EAAE;YACJ,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI;YACV,EAAE,EAAE,EAAE,SAAS,EAAE,wBAAwB,EAAE;SAC9C;KACJ;IACD,IAAI,CAAC,QAAQ;QACT,iBAAiB,GAAG,IAAI,uCAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,kDAAuB,CAAC,CAAC,CAAC;IACrF,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI;QAC9B,IAAI,MAAM,iBAAiB,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YACtE,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC;YAClG,OAAO,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IACD,WAAW,EAAE;QACT,EAAE,YAAY,EAAE,8BAAY,CAAC,EAAE,EAAE,KAAK,EAAE,sDAAsD,EAAE;KACnG;CACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"facet-values-percentage-discount-action.js","sourceRoot":"","sources":["../../../../src/config/promotion/actions/facet-values-percentage-discount-action.ts"],"names":[],"mappings":";;;AAAA,yEAAmE;AAEnE,0GAAqG;AACrG,0DAA0D;AAE1D,IAAI,iBAAoC,CAAC;AAE5B,QAAA,wBAAwB,GAAG,IAAI,sCAAmB,CAAC;IAC5D,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE;QACF,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO;YACb,EAAE,EAAE;gBACA,SAAS,EAAE,mBAAmB;gBAC9B,MAAM,EAAE,GAAG;aACd;SACJ;QACD,MAAM,EAAE;YACJ,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI;YACV,EAAE,EAAE,EAAE,SAAS,EAAE,wBAAwB,EAAE;SAC9C;KACJ;IACD,IAAI,CAAC,QAAQ;QACT,iBAAiB,GAAG,QAAQ,CAAC,GAAG,CAAC,uCAAiB,CAAC,CAAC;IACxD,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI;QAC9B,IAAI,MAAM,iBAAiB,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YACtE,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC;YAClG,OAAO,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IACD,WAAW,EAAE;QACT,EAAE,YAAY,EAAE,8BAAY,CAAC,EAAE,EAAE,KAAK,EAAE,sDAAsD,EAAE;KACnG;CACJ,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { PromotionLineAction } from '../promotion-action';
2
+ export declare const orderLineFixedDiscount: PromotionLineAction<{
3
+ discount: {
4
+ type: "int";
5
+ ui: {
6
+ component: string;
7
+ };
8
+ };
9
+ }, []>;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.orderLineFixedDiscount = void 0;
4
+ const generated_types_1 = require("@vendure/common/lib/generated-types");
5
+ const promotion_action_1 = require("../promotion-action");
6
+ exports.orderLineFixedDiscount = new promotion_action_1.PromotionLineAction({
7
+ code: 'order_line_fixed_discount',
8
+ args: {
9
+ discount: {
10
+ type: 'int',
11
+ ui: {
12
+ component: 'currency-form-input',
13
+ },
14
+ },
15
+ },
16
+ execute(ctx, orderLine, args) {
17
+ return -args.discount;
18
+ },
19
+ description: [{ languageCode: generated_types_1.LanguageCode.en, value: 'Discount orderLine by fixed amount' }],
20
+ });
21
+ //# sourceMappingURL=order-line-fixed-discount-action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-line-fixed-discount-action.js","sourceRoot":"","sources":["../../../../src/config/promotion/actions/order-line-fixed-discount-action.ts"],"names":[],"mappings":";;;AAAA,yEAAmE;AAEnE,0DAA0D;AAE7C,QAAA,sBAAsB,GAAG,IAAI,sCAAmB,CAAC;IAC1D,IAAI,EAAE,2BAA2B;IACjC,IAAI,EAAE;QACF,QAAQ,EAAE;YACN,IAAI,EAAE,KAAK;YACX,EAAE,EAAE;gBACA,SAAS,EAAE,qBAAqB;aACnC;SACJ;KACJ;IACD,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI;QACxB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC1B,CAAC;IACD,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,8BAAY,CAAC,EAAE,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAC;CAChG,CAAC,CAAC"}
@@ -2,9 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.hasFacetValues = void 0;
4
4
  const generated_types_1 = require("@vendure/common/lib/generated-types");
5
- const transactional_connection_1 = require("../../../connection/transactional-connection");
5
+ const facet_value_checker_1 = require("../../../service/helpers/facet-value-checker/facet-value-checker");
6
6
  const promotion_condition_1 = require("../promotion-condition");
7
- const facet_value_checker_1 = require("../utils/facet-value-checker");
8
7
  let facetValueChecker;
9
8
  exports.hasFacetValues = new promotion_condition_1.PromotionCondition({
10
9
  code: 'at_least_n_with_facets',
@@ -16,7 +15,7 @@ exports.hasFacetValues = new promotion_condition_1.PromotionCondition({
16
15
  facets: { type: 'ID', list: true, ui: { component: 'facet-value-form-input' } },
17
16
  },
18
17
  init(injector) {
19
- facetValueChecker = new facet_value_checker_1.FacetValueChecker(injector.get(transactional_connection_1.TransactionalConnection));
18
+ facetValueChecker = injector.get(facet_value_checker_1.FacetValueChecker);
20
19
  },
21
20
  // eslint-disable-next-line no-shadow,@typescript-eslint/no-shadow
22
21
  async check(ctx, order, args) {
@@ -1 +1 @@
1
- {"version":3,"file":"has-facet-values-condition.js","sourceRoot":"","sources":["../../../../src/config/promotion/conditions/has-facet-values-condition.ts"],"names":[],"mappings":";;;AAAA,yEAAmE;AAEnE,2FAAuF;AACvF,gEAA4D;AAC5D,sEAAiE;AAEjE,IAAI,iBAAoC,CAAC;AAE5B,QAAA,cAAc,GAAG,IAAI,wCAAkB,CAAC;IACjD,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE;QACT,EAAE,YAAY,EAAE,8BAAY,CAAC,EAAE,EAAE,KAAK,EAAE,yDAAyD,EAAE;KACtG;IACD,IAAI,EAAE;QACF,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE;QACzC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,wBAAwB,EAAE,EAAE;KAClF;IACD,IAAI,CAAC,QAAQ;QACT,iBAAiB,GAAG,IAAI,uCAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,kDAAuB,CAAC,CAAC,CAAC;IACrF,CAAC;IACD,kEAAkE;IAClE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI;QACxB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,MAAM,iBAAiB,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;gBACjE,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC;YAC7B,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC;IACnC,CAAC;CACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"has-facet-values-condition.js","sourceRoot":"","sources":["../../../../src/config/promotion/conditions/has-facet-values-condition.ts"],"names":[],"mappings":";;;AAAA,yEAAmE;AAEnE,0GAAqG;AACrG,gEAA4D;AAE5D,IAAI,iBAAoC,CAAC;AAE5B,QAAA,cAAc,GAAG,IAAI,wCAAkB,CAAC;IACjD,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE;QACT,EAAE,YAAY,EAAE,8BAAY,CAAC,EAAE,EAAE,KAAK,EAAE,yDAAyD,EAAE;KACtG;IACD,IAAI,EAAE;QACF,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE;QACzC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,wBAAwB,EAAE,EAAE;KAClF;IACD,IAAI,CAAC,QAAQ;QACT,iBAAiB,GAAG,QAAQ,CAAC,GAAG,CAAC,uCAAiB,CAAC,CAAC;IACxD,CAAC;IACD,kEAAkE;IAClE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI;QACxB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,MAAM,iBAAiB,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;gBACjE,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC;YAC7B,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC;IACnC,CAAC;CACJ,CAAC,CAAC"}
@@ -11,7 +11,6 @@ export * from './conditions/min-order-amount-condition';
11
11
  export * from './conditions/contains-products-condition';
12
12
  export * from './conditions/customer-group-condition';
13
13
  export * from './conditions/buy-x-get-y-free-condition';
14
- export * from './utils/facet-value-checker';
15
14
  export declare const defaultPromotionActions: (import("./promotion-action").PromotionItemAction<{}, import("./promotion-condition").PromotionCondition<{
16
15
  amountX: {
17
16
  type: "int";
@@ -69,6 +68,13 @@ export declare const defaultPromotionActions: (import("./promotion-action").Prom
69
68
  component: string;
70
69
  };
71
70
  };
71
+ }, []> | import("./promotion-action").PromotionLineAction<{
72
+ discount: {
73
+ type: "int";
74
+ ui: {
75
+ component: string;
76
+ };
77
+ };
72
78
  }, []> | import("./promotion-action").PromotionOrderAction<{
73
79
  discount: {
74
80
  type: "float";
@@ -19,6 +19,7 @@ const buy_x_get_y_free_action_1 = require("./actions/buy-x-get-y-free-action");
19
19
  const facet_values_percentage_discount_action_1 = require("./actions/facet-values-percentage-discount-action");
20
20
  const free_shipping_action_1 = require("./actions/free-shipping-action");
21
21
  const order_fixed_discount_action_1 = require("./actions/order-fixed-discount-action");
22
+ const order_line_fixed_discount_action_1 = require("./actions/order-line-fixed-discount-action");
22
23
  const order_percentage_discount_action_1 = require("./actions/order-percentage-discount-action");
23
24
  const product_percentage_discount_action_1 = require("./actions/product-percentage-discount-action");
24
25
  const buy_x_get_y_free_condition_1 = require("./conditions/buy-x-get-y-free-condition");
@@ -39,9 +40,9 @@ __exportStar(require("./conditions/min-order-amount-condition"), exports);
39
40
  __exportStar(require("./conditions/contains-products-condition"), exports);
40
41
  __exportStar(require("./conditions/customer-group-condition"), exports);
41
42
  __exportStar(require("./conditions/buy-x-get-y-free-condition"), exports);
42
- __exportStar(require("./utils/facet-value-checker"), exports);
43
43
  exports.defaultPromotionActions = [
44
44
  order_fixed_discount_action_1.orderFixedDiscount,
45
+ order_line_fixed_discount_action_1.orderLineFixedDiscount,
45
46
  order_percentage_discount_action_1.orderPercentageDiscount,
46
47
  facet_values_percentage_discount_action_1.discountOnItemWithFacets,
47
48
  product_percentage_discount_action_1.productsPercentageDiscount,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/promotion/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+EAAuE;AACvE,+GAA6F;AAC7F,yEAA8D;AAC9D,uFAA2E;AAC3E,iGAAqF;AACrF,qGAA0F;AAC1F,wFAAgF;AAChF,0FAA4E;AAC5E,oFAAsE;AACtE,wFAAyE;AACzE,wFAA6E;AAE7E,qDAAmC;AACnC,wDAAsC;AACtC,oFAAkE;AAClE,6EAA2D;AAC3D,+EAA6D;AAC7D,iEAA+C;AAC/C,oEAAkD;AAClD,wEAAsD;AACtD,0EAAwD;AACxD,0EAAwD;AACxD,2EAAyD;AACzD,wEAAsD;AACtD,0EAAwD;AACxD,8DAA4C;AAE/B,QAAA,uBAAuB,GAAG;IACnC,gDAAkB;IAClB,0DAAuB;IACvB,kEAAwB;IACxB,+DAA0B;IAC1B,mCAAY;IACZ,4CAAkB;CACrB,CAAC;AACW,QAAA,0BAA0B,GAAG;IACtC,+CAAkB;IAClB,2CAAc;IACd,8CAAgB;IAChB,wCAAa;IACb,kDAAqB;CACxB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/promotion/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+EAAuE;AACvE,+GAA6F;AAC7F,yEAA8D;AAC9D,uFAA2E;AAC3E,iGAAoF;AACpF,iGAAqF;AACrF,qGAA0F;AAC1F,wFAAgF;AAChF,0FAA4E;AAC5E,oFAAsE;AACtE,wFAAyE;AACzE,wFAA6E;AAE7E,qDAAmC;AACnC,wDAAsC;AACtC,oFAAkE;AAClE,6EAA2D;AAC3D,+EAA6D;AAC7D,iEAA+C;AAC/C,oEAAkD;AAClD,wEAAsD;AACtD,0EAAwD;AACxD,0EAAwD;AACxD,2EAAyD;AACzD,wEAAsD;AACtD,0EAAwD;AAE3C,QAAA,uBAAuB,GAAG;IACnC,gDAAkB;IAClB,yDAAsB;IACtB,0DAAuB;IACvB,kEAAwB;IACxB,+DAA0B;IAC1B,mCAAY;IACZ,4CAAkB;CACrB,CAAC;AACW,QAAA,0BAA0B,GAAG;IACtC,+CAAkB;IAClB,2CAAc;IACd,8CAAgB;IAChB,wCAAa;IACb,kDAAqB;CACxB,CAAC"}
@@ -43,12 +43,21 @@ export type ConditionState<U extends Array<PromotionCondition<any>>, T extends [
43
43
  /**
44
44
  * @description
45
45
  * The function which is used by a PromotionItemAction to calculate the
46
- * discount on the OrderLine.
46
+ * discount on the OrderLine for each item.
47
47
  *
48
48
  * @docsCategory promotions
49
49
  * @docsPage promotion-action
50
50
  */
51
51
  export type ExecutePromotionItemActionFn<T extends ConfigArgs, U extends Array<PromotionCondition<any>>> = (ctx: RequestContext, orderLine: OrderLine, args: ConfigArgValues<T>, state: ConditionState<U>, promotion: Promotion) => number | Promise<number>;
52
+ /**
53
+ * @description
54
+ * The function which is used by a PromotionLineAction to calculate the
55
+ * discount on the OrderLine.
56
+ *
57
+ * @docsCategory promotions
58
+ * @docsPage promotion-action
59
+ */
60
+ export type ExecutePromotionLineActionFn<T extends ConfigArgs, U extends Array<PromotionCondition<any>>> = (ctx: RequestContext, orderLine: OrderLine, args: ConfigArgValues<T>, state: ConditionState<U>, promotion: Promotion) => number | Promise<number>;
52
61
  /**
53
62
  * @description
54
63
  * The function which is used by a PromotionOrderAction to calculate the
@@ -142,6 +151,22 @@ export interface PromotionItemActionConfig<T extends ConfigArgs, U extends Promo
142
151
  */
143
152
  execute: ExecutePromotionItemActionFn<T, U>;
144
153
  }
154
+ /**
155
+ * @description
156
+ * Configuration for a {@link PromotionLineAction}
157
+ *
158
+ * @docsCategory promotions
159
+ * @docsPage promotion-action
160
+ */
161
+ export interface PromotionLineActionConfig<T extends ConfigArgs, U extends PromotionCondition[]> extends PromotionActionConfig<T, U> {
162
+ /**
163
+ * @description
164
+ * The function which contains the promotion calculation logic.
165
+ * Should resolve to a number which represents the amount by which to discount
166
+ * the OrderLine, i.e. the number should be negative.
167
+ */
168
+ execute: ExecutePromotionLineActionFn<T, U>;
169
+ }
145
170
  /**
146
171
  * @description
147
172
  *
@@ -232,6 +257,33 @@ export declare class PromotionItemAction<T extends ConfigArgs = ConfigArgs, U ex
232
257
  /** @internal */
233
258
  execute(ctx: RequestContext, orderLine: OrderLine, args: ConfigArg[], state: PromotionState, promotion: Promotion): number | Promise<number>;
234
259
  }
260
+ /**
261
+ * @description
262
+ * Represents a PromotionAction which applies to individual {@link OrderLine}s.
263
+ * The difference from PromotionItemAction is that it applies regardless of the Quantity of the OrderLine.
264
+ *
265
+ * @example
266
+ * ```ts
267
+ * // Applies a percentage discount to each OrderLine
268
+ * const linePercentageDiscount = new PromotionLineAction({
269
+ * code: 'line_percentage_discount',
270
+ * args: { discount: 'percentage' },
271
+ * execute(ctx, orderLine, args) {
272
+ * return -orderLine.linePrice * (args.discount / 100);
273
+ * },
274
+ * description: 'Discount every line by { discount }%',
275
+ * });
276
+ * ```
277
+ *
278
+ * @docsCategory promotions
279
+ * @docsPage promotion-action
280
+ */
281
+ export declare class PromotionLineAction<T extends ConfigArgs = ConfigArgs, U extends Array<PromotionCondition<any>> = []> extends PromotionAction<T, U> {
282
+ private readonly executeFn;
283
+ constructor(config: PromotionLineActionConfig<T, U>);
284
+ /** @internal */
285
+ execute(ctx: RequestContext, orderLine: OrderLine, args: ConfigArg[], state: PromotionState, promotion: Promotion): number | Promise<number>;
286
+ }
235
287
  /**
236
288
  * @description
237
289
  * Represents a PromotionAction which applies to the {@link Order} as a whole.