@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.
- package/dist/api/common/request-context.d.ts +34 -0
- package/dist/api/common/request-context.js +36 -0
- package/dist/api/common/request-context.js.map +1 -1
- package/dist/cache/cache.module.js +5 -2
- package/dist/cache/cache.module.js.map +1 -1
- package/dist/cache/cache.service.d.ts +37 -0
- package/dist/cache/cache.service.js +83 -0
- package/dist/cache/cache.service.js.map +1 -0
- package/dist/config/config.module.js +2 -0
- package/dist/config/config.module.js.map +1 -1
- package/dist/config/default-config.js +2 -0
- package/dist/config/default-config.js.map +1 -1
- package/dist/config/entity/default-money-strategy.js +1 -1
- package/dist/config/entity/default-money-strategy.js.map +1 -1
- package/dist/config/entity/money-strategy.d.ts +1 -1
- package/dist/config/promotion/actions/facet-values-percentage-discount-action.js +2 -3
- package/dist/config/promotion/actions/facet-values-percentage-discount-action.js.map +1 -1
- package/dist/config/promotion/actions/order-line-fixed-discount-action.d.ts +9 -0
- package/dist/config/promotion/actions/order-line-fixed-discount-action.js +21 -0
- package/dist/config/promotion/actions/order-line-fixed-discount-action.js.map +1 -0
- package/dist/config/promotion/conditions/has-facet-values-condition.js +2 -3
- package/dist/config/promotion/conditions/has-facet-values-condition.js.map +1 -1
- package/dist/config/promotion/index.d.ts +7 -1
- package/dist/config/promotion/index.js +2 -1
- package/dist/config/promotion/index.js.map +1 -1
- package/dist/config/promotion/promotion-action.d.ts +53 -1
- package/dist/config/promotion/promotion-action.js +36 -1
- package/dist/config/promotion/promotion-action.js.map +1 -1
- package/dist/config/system/cache-strategy.d.ts +47 -0
- package/dist/config/system/cache-strategy.js +3 -0
- package/dist/config/system/cache-strategy.js.map +1 -0
- package/dist/config/system/in-memory-cache-strategy.d.ts +26 -0
- package/dist/config/system/in-memory-cache-strategy.js +56 -0
- package/dist/config/system/in-memory-cache-strategy.js.map +1 -0
- package/dist/config/vendure-config.d.ts +10 -0
- package/dist/connection/transactional-connection.d.ts +13 -2
- package/dist/connection/transactional-connection.js +23 -3
- package/dist/connection/transactional-connection.js.map +1 -1
- package/dist/entity/promotion/promotion.entity.d.ts +5 -1
- package/dist/entity/promotion/promotion.entity.js +10 -1
- package/dist/entity/promotion/promotion.entity.js.map +1 -1
- package/dist/plugin/default-cache-plugin/cache-item.entity.d.ts +8 -0
- package/dist/plugin/default-cache-plugin/cache-item.entity.js +38 -0
- package/dist/plugin/default-cache-plugin/cache-item.entity.js.map +1 -0
- package/dist/plugin/default-cache-plugin/constants.d.ts +1 -0
- package/dist/plugin/default-cache-plugin/constants.js +5 -0
- package/dist/plugin/default-cache-plugin/constants.js.map +1 -0
- package/dist/plugin/default-cache-plugin/default-cache-plugin.d.ts +7 -0
- package/dist/plugin/default-cache-plugin/default-cache-plugin.js +40 -0
- package/dist/plugin/default-cache-plugin/default-cache-plugin.js.map +1 -0
- package/dist/plugin/default-cache-plugin/sql-cache-strategy.d.ts +26 -0
- package/dist/plugin/default-cache-plugin/sql-cache-strategy.js +91 -0
- package/dist/plugin/default-cache-plugin/sql-cache-strategy.js.map +1 -0
- package/dist/plugin/index.d.ts +2 -0
- package/dist/plugin/index.js +2 -0
- package/dist/plugin/index.js.map +1 -1
- package/dist/service/helpers/external-authentication/external-authentication.service.d.ts +12 -0
- package/dist/service/helpers/external-authentication/external-authentication.service.js +23 -0
- package/dist/service/helpers/external-authentication/external-authentication.service.js.map +1 -1
- package/dist/{config/promotion/utils → service/helpers/facet-value-checker}/facet-value-checker.d.ts +21 -5
- package/dist/service/helpers/facet-value-checker/facet-value-checker.js +151 -0
- package/dist/service/helpers/facet-value-checker/facet-value-checker.js.map +1 -0
- package/dist/service/helpers/order-calculator/order-calculator.d.ts +2 -0
- package/dist/service/helpers/order-calculator/order-calculator.js +2 -1
- package/dist/service/helpers/order-calculator/order-calculator.js.map +1 -1
- package/dist/service/index.d.ts +1 -0
- package/dist/service/index.js +1 -0
- package/dist/service/index.js.map +1 -1
- package/dist/service/service.module.js +2 -0
- package/dist/service/service.module.js.map +1 -1
- package/package.json +3 -3
- package/dist/config/promotion/utils/facet-value-checker.js +0 -76
- 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":";;;AAEA,mEAA4D;
|
|
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
|
-
|
|
18
|
-
|
|
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;
|
|
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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-money-strategy.js","sourceRoot":"","sources":["../../../src/config/entity/default-money-strategy.ts"],"names":[],"mappings":";;;
|
|
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
|
|
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
|
|
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 =
|
|
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,
|
|
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,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
|
|
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 =
|
|
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,
|
|
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;
|
|
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.
|