@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
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FacetValueChecker = void 0;
|
|
4
|
-
const unique_1 = require("@vendure/common/lib/unique");
|
|
5
|
-
const ttl_cache_1 = require("../../../common/ttl-cache");
|
|
6
|
-
const utils_1 = require("../../../common/utils");
|
|
7
|
-
const product_variant_entity_1 = require("../../../entity/product-variant/product-variant.entity");
|
|
8
|
-
/**
|
|
9
|
-
* @description
|
|
10
|
-
* The FacetValueChecker is a helper class used to determine whether a given OrderLine consists
|
|
11
|
-
* of ProductVariants containing the given FacetValues.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```ts
|
|
15
|
-
* import { FacetValueChecker, LanguageCode, PromotionCondition, TransactionalConnection } from '\@vendure/core';
|
|
16
|
-
*
|
|
17
|
-
* let facetValueChecker: FacetValueChecker;
|
|
18
|
-
*
|
|
19
|
-
* export const hasFacetValues = new PromotionCondition({
|
|
20
|
-
* code: 'at_least_n_with_facets',
|
|
21
|
-
* description: [
|
|
22
|
-
* { languageCode: LanguageCode.en, value: 'Buy at least { minimum } products with the given facets' },
|
|
23
|
-
* ],
|
|
24
|
-
* args: {
|
|
25
|
-
* minimum: { type: 'int' },
|
|
26
|
-
* facets: { type: 'ID', list: true, ui: { component: 'facet-value-form-input' } },
|
|
27
|
-
* },
|
|
28
|
-
* init(injector) {
|
|
29
|
-
* facetValueChecker = new FacetValueChecker(injector.get(TransactionalConnection));
|
|
30
|
-
* },
|
|
31
|
-
* async check(ctx, order, args) {
|
|
32
|
-
* let matches = 0;
|
|
33
|
-
* for (const line of order.lines) {
|
|
34
|
-
* if (await facetValueChecker.hasFacetValues(line, args.facets)) {
|
|
35
|
-
* matches += line.quantity;
|
|
36
|
-
* }
|
|
37
|
-
* }
|
|
38
|
-
* return args.minimum <= matches;
|
|
39
|
-
* },
|
|
40
|
-
* });
|
|
41
|
-
* ```
|
|
42
|
-
*
|
|
43
|
-
* @docsCategory Promotions
|
|
44
|
-
*/
|
|
45
|
-
class FacetValueChecker {
|
|
46
|
-
constructor(connection) {
|
|
47
|
-
this.connection = connection;
|
|
48
|
-
this.variantCache = new ttl_cache_1.TtlCache({ ttl: 5000 });
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* @description
|
|
52
|
-
* Checks a given {@link OrderLine} against the facetValueIds and returns
|
|
53
|
-
* `true` if the associated {@link ProductVariant} & {@link Product} together
|
|
54
|
-
* have *all* the specified {@link FacetValue}s.
|
|
55
|
-
*/
|
|
56
|
-
async hasFacetValues(orderLine, facetValueIds, ctx) {
|
|
57
|
-
let variant = this.variantCache.get(orderLine.productVariant.id);
|
|
58
|
-
if (!variant) {
|
|
59
|
-
variant = await this.connection
|
|
60
|
-
.getRepository(ctx, product_variant_entity_1.ProductVariant)
|
|
61
|
-
.findOne({
|
|
62
|
-
where: { id: orderLine.productVariant.id },
|
|
63
|
-
relations: ['product', 'product.facetValues', 'facetValues'],
|
|
64
|
-
})
|
|
65
|
-
.then(result => result !== null && result !== void 0 ? result : undefined);
|
|
66
|
-
if (!variant) {
|
|
67
|
-
return false;
|
|
68
|
-
}
|
|
69
|
-
this.variantCache.set(variant.id, variant);
|
|
70
|
-
}
|
|
71
|
-
const allFacetValues = (0, unique_1.unique)([...variant.facetValues, ...variant.product.facetValues], 'id');
|
|
72
|
-
return facetValueIds.reduce((result, id) => result && !!allFacetValues.find(fv => (0, utils_1.idsAreEqual)(fv.id, id)), true);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
exports.FacetValueChecker = FacetValueChecker;
|
|
76
|
-
//# sourceMappingURL=facet-value-checker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"facet-value-checker.js","sourceRoot":"","sources":["../../../../src/config/promotion/utils/facet-value-checker.ts"],"names":[],"mappings":";;;AACA,uDAAoD;AAGpD,yDAAqD;AACrD,iDAAoD;AAGpD,mGAAwF;AAExF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAa,iBAAiB;IAG1B,YAAoB,UAAmC;QAAnC,eAAU,GAAV,UAAU,CAAyB;QAF/C,iBAAY,GAAG,IAAI,oBAAQ,CAAqB,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IAEb,CAAC;IAC3D;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAC,SAAoB,EAAE,aAAmB,EAAE,GAAoB;QAChF,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU;iBAC1B,aAAa,CAAC,GAAG,EAAE,uCAAc,CAAC;iBAClC,OAAO,CAAC;gBACL,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE;gBAC1C,SAAS,EAAE,CAAC,SAAS,EAAE,qBAAqB,EAAE,aAAa,CAAC;aAC/D,CAAC;iBACD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,SAAS,CAAC,CAAC;YACzC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,cAAc,GAAG,IAAA,eAAM,EAAC,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;QAC9F,OAAO,aAAa,CAAC,MAAM,CACvB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAA,mBAAW,EAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAC7E,IAAe,CAClB,CAAC;IACN,CAAC;CACJ;AA/BD,8CA+BC"}
|