@vendure/core 3.1.0-next.0 → 3.1.0-next.2
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/config/configure-graphql-module.js +20 -8
- package/dist/api/config/configure-graphql-module.js.map +1 -1
- package/dist/api/config/generate-resolvers.js +9 -0
- package/dist/api/config/generate-resolvers.js.map +1 -1
- package/dist/api/resolvers/admin/order.resolver.js +3 -2
- package/dist/api/resolvers/admin/order.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/collection-entity.resolver.js +1 -1
- package/dist/api/resolvers/entity/collection-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/order-line-entity.resolver.js +1 -1
- package/dist/api/resolvers/entity/order-line-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/product-entity.resolver.js +1 -1
- package/dist/api/resolvers/entity/product-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/product-variant-entity.resolver.d.ts +1 -1
- package/dist/api/resolvers/entity/product-variant-entity.resolver.js +2 -2
- package/dist/api/resolvers/entity/product-variant-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/shop/shop-order.resolver.d.ts +2 -2
- package/dist/api/resolvers/shop/shop-order.resolver.js +12 -10
- package/dist/api/resolvers/shop/shop-order.resolver.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 +5 -4
- package/dist/config/config.module.js.map +1 -1
- package/dist/config/default-config.js +4 -1
- package/dist/config/default-config.js.map +1 -1
- package/dist/config/order/order-seller-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/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 +0 -1
- package/dist/config/promotion/index.js +0 -1
- package/dist/config/promotion/index.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/entity/order-line/order-line.entity.d.ts +1 -0
- package/dist/entity/order-line/order-line.entity.js +4 -0
- package/dist/entity/order-line/order-line.entity.js.map +1 -1
- package/dist/entity/product/product.entity.d.ts +2 -1
- package/dist/entity/product/product.entity.js +5 -0
- package/dist/entity/product/product.entity.js.map +1 -1
- package/dist/entity/product-variant/product-variant.entity.d.ts +2 -0
- package/dist/entity/product-variant/product-variant.entity.js +8 -0
- package/dist/entity/product-variant/product-variant.entity.js.map +1 -1
- package/dist/entity/tax-rate/tax-rate.entity.d.ts +5 -2
- package/dist/entity/tax-rate/tax-rate.entity.js +15 -1
- package/dist/entity/tax-rate/tax-rate.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/default-search-plugin/indexer/indexer.controller.js +3 -0
- package/dist/plugin/default-search-plugin/indexer/indexer.controller.js.map +1 -1
- 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/active-order/active-order.service.js +5 -1
- package/dist/service/helpers/active-order/active-order.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 +152 -0
- package/dist/service/helpers/facet-value-checker/facet-value-checker.js.map +1 -0
- package/dist/service/helpers/order-calculator/order-calculator.js +8 -8
- package/dist/service/helpers/order-calculator/order-calculator.js.map +1 -1
- package/dist/service/helpers/order-modifier/order-modifier.js +25 -20
- package/dist/service/helpers/order-modifier/order-modifier.js.map +1 -1
- package/dist/service/helpers/order-splitter/order-splitter.js +2 -0
- package/dist/service/helpers/order-splitter/order-splitter.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/dist/service/services/asset.service.js +2 -0
- package/dist/service/services/asset.service.js.map +1 -1
- package/dist/service/services/order-testing.service.js +1 -0
- package/dist/service/services/order-testing.service.js.map +1 -1
- package/dist/service/services/order.service.d.ts +8 -3
- package/dist/service/services/order.service.js +62 -13
- package/dist/service/services/order.service.js.map +1 -1
- package/dist/service/services/tax-rate.service.d.ts +1 -1
- package/dist/service/services/tax-rate.service.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"}
|