@unchainedshop/core-products 3.0.0-alpha7 → 3.0.0-rc10
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/lib/db/ProductMediaCollection.d.ts +16 -2
- package/lib/db/ProductMediaCollection.d.ts.map +1 -1
- package/lib/db/ProductMediaCollection.js.map +1 -1
- package/lib/db/ProductPriceRates.d.ts +7 -1
- package/lib/db/ProductPriceRates.d.ts.map +1 -1
- package/lib/db/ProductPriceRates.js.map +1 -1
- package/lib/db/ProductReviewsCollection.d.ts +22 -2
- package/lib/db/ProductReviewsCollection.d.ts.map +1 -1
- package/lib/db/ProductReviewsCollection.js +6 -0
- package/lib/db/ProductReviewsCollection.js.map +1 -1
- package/lib/db/ProductVariationsCollection.d.ts +26 -2
- package/lib/db/ProductVariationsCollection.d.ts.map +1 -1
- package/lib/db/ProductVariationsCollection.js +5 -0
- package/lib/db/ProductVariationsCollection.js.map +1 -1
- package/lib/db/ProductsCollection.d.ts +109 -2
- package/lib/db/ProductsCollection.d.ts.map +1 -1
- package/lib/db/ProductsCollection.js +19 -0
- package/lib/db/ProductsCollection.js.map +1 -1
- package/lib/mock/product.d.ts +0 -3
- package/lib/mock/product.d.ts.map +1 -1
- package/lib/mock/product.js +0 -3
- package/lib/mock/product.js.map +1 -1
- package/lib/module/configureProductMediaModule.d.ts +2 -2
- package/lib/module/configureProductMediaModule.d.ts.map +1 -1
- package/lib/module/configureProductMediaModule.js +0 -7
- package/lib/module/configureProductMediaModule.js.map +1 -1
- package/lib/module/configureProductPrices.d.ts +9 -3
- package/lib/module/configureProductPrices.d.ts.map +1 -1
- package/lib/module/configureProductPrices.js +6 -95
- package/lib/module/configureProductPrices.js.map +1 -1
- package/lib/module/configureProductReviewsModule.d.ts +14 -2
- package/lib/module/configureProductReviewsModule.d.ts.map +1 -1
- package/lib/module/configureProductReviewsModule.js +2 -2
- package/lib/module/configureProductReviewsModule.js.map +1 -1
- package/lib/module/configureProductTextsModule.d.ts +1 -1
- package/lib/module/configureProductTextsModule.d.ts.map +1 -1
- package/lib/module/configureProductTextsModule.js.map +1 -1
- package/lib/module/configureProductVariationsModule.d.ts +1 -1
- package/lib/module/configureProductVariationsModule.d.ts.map +1 -1
- package/lib/module/configureProductVariationsModule.js +1 -2
- package/lib/module/configureProductVariationsModule.js.map +1 -1
- package/lib/module/configureProductsModule.d.ts +43 -37
- package/lib/module/configureProductsModule.d.ts.map +1 -1
- package/lib/module/configureProductsModule.js +9 -22
- package/lib/module/configureProductsModule.js.map +1 -1
- package/lib/module/utils/getPriceLevels.d.ts +2 -2
- package/lib/module/utils/getPriceLevels.d.ts.map +1 -1
- package/lib/module/utils/getPriceLevels.js +1 -1
- package/lib/module/utils/getPriceLevels.js.map +1 -1
- package/lib/module/utils/getPriceRange.d.ts +1 -1
- package/lib/module/utils/getPriceRange.d.ts.map +1 -1
- package/lib/module/utils/getPriceRange.js +0 -9
- package/lib/module/utils/getPriceRange.js.map +1 -1
- package/lib/products-index.d.ts +11 -14
- package/lib/products-index.d.ts.map +1 -1
- package/lib/products-index.js +11 -14
- package/lib/products-index.js.map +1 -1
- package/package.json +13 -13
- package/src/db/ProductMediaCollection.ts +18 -2
- package/src/db/ProductPriceRates.ts +8 -1
- package/src/db/ProductReviewsCollection.ts +25 -2
- package/src/db/ProductVariationsCollection.ts +29 -2
- package/src/db/ProductsCollection.ts +126 -2
- package/src/mock/product.ts +0 -3
- package/src/module/configureProductMediaModule.ts +2 -17
- package/src/module/configureProductPrices.ts +33 -158
- package/src/module/configureProductReviewsModule.ts +16 -4
- package/src/module/configureProductTextsModule.ts +1 -1
- package/src/module/configureProductVariationsModule.ts +6 -2
- package/src/module/configureProductsModule.ts +65 -94
- package/src/module/utils/getPriceLevels.ts +2 -2
- package/src/module/utils/getPriceRange.test.ts +0 -4
- package/src/module/utils/getPriceRange.ts +1 -14
- package/src/products-index.ts +12 -16
- package/tsconfig.json +5 -7
- package/lib/db/ProductStatus.d.ts +0 -6
- package/lib/db/ProductStatus.d.ts.map +0 -1
- package/lib/db/ProductStatus.js +0 -7
- package/lib/db/ProductStatus.js.map +0 -1
- package/lib/director/ProductDiscountAdapter.d.ts +0 -4
- package/lib/director/ProductDiscountAdapter.d.ts.map +0 -1
- package/lib/director/ProductDiscountAdapter.js +0 -3
- package/lib/director/ProductDiscountAdapter.js.map +0 -1
- package/lib/director/ProductDiscountConfiguration.d.ts +0 -13
- package/lib/director/ProductDiscountConfiguration.d.ts.map +0 -1
- package/lib/director/ProductDiscountConfiguration.js +0 -2
- package/lib/director/ProductDiscountConfiguration.js.map +0 -1
- package/lib/director/ProductDiscountDirector.d.ts +0 -3
- package/lib/director/ProductDiscountDirector.d.ts.map +0 -1
- package/lib/director/ProductDiscountDirector.js +0 -3
- package/lib/director/ProductDiscountDirector.js.map +0 -1
- package/lib/director/ProductPricingAdapter.d.ts +0 -3
- package/lib/director/ProductPricingAdapter.d.ts.map +0 -1
- package/lib/director/ProductPricingAdapter.js +0 -25
- package/lib/director/ProductPricingAdapter.js.map +0 -1
- package/lib/director/ProductPricingDirector.d.ts +0 -3
- package/lib/director/ProductPricingDirector.d.ts.map +0 -1
- package/lib/director/ProductPricingDirector.js +0 -59
- package/lib/director/ProductPricingDirector.js.map +0 -1
- package/lib/director/ProductPricingSheet.d.ts +0 -4
- package/lib/director/ProductPricingSheet.d.ts.map +0 -1
- package/lib/director/ProductPricingSheet.js +0 -78
- package/lib/director/ProductPricingSheet.js.map +0 -1
- package/lib/service/productServices.d.ts +0 -5
- package/lib/service/productServices.d.ts.map +0 -1
- package/lib/service/productServices.js +0 -5
- package/lib/service/productServices.js.map +0 -1
- package/lib/service/removeProductService.d.ts +0 -6
- package/lib/service/removeProductService.d.ts.map +0 -1
- package/lib/service/removeProductService.js +0 -25
- package/lib/service/removeProductService.js.map +0 -1
- package/lib/types.d.ts +0 -259
- package/lib/types.d.ts.map +0 -1
- package/lib/types.js +0 -23
- package/lib/types.js.map +0 -1
- package/src/db/ProductStatus.ts +0 -5
- package/src/director/ProductDiscountAdapter.ts +0 -7
- package/src/director/ProductDiscountConfiguration.ts +0 -18
- package/src/director/ProductDiscountDirector.ts +0 -5
- package/src/director/ProductPricingAdapter.ts +0 -36
- package/src/director/ProductPricingDirector.ts +0 -77
- package/src/director/ProductPricingSheet.test.ts +0 -129
- package/src/director/ProductPricingSheet.ts +0 -90
- package/src/service/productServices.ts +0 -7
- package/src/service/removeProductService.ts +0 -35
- package/src/types.ts +0 -307
|
@@ -1,5 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { mongodb, TimestampFields } from '@unchainedshop/mongodb';
|
|
2
|
+
export type ProductMedia = {
|
|
3
|
+
_id?: string;
|
|
4
|
+
mediaId: string;
|
|
5
|
+
productId: string;
|
|
6
|
+
sortKey: number;
|
|
7
|
+
tags: Array<string>;
|
|
8
|
+
meta?: any;
|
|
9
|
+
} & TimestampFields;
|
|
10
|
+
export type ProductMediaText = {
|
|
11
|
+
_id?: string;
|
|
12
|
+
productMediaId: string;
|
|
13
|
+
locale?: string;
|
|
14
|
+
title?: string;
|
|
15
|
+
subtitle?: string;
|
|
16
|
+
} & TimestampFields;
|
|
3
17
|
export declare const ProductMediaCollection: (db: mongodb.Db) => Promise<{
|
|
4
18
|
ProductMedias: mongodb.Collection<ProductMedia>;
|
|
5
19
|
ProductMediaTexts: mongodb.Collection<ProductMediaText>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductMediaCollection.d.ts","sourceRoot":"","sources":["../../src/db/ProductMediaCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"ProductMediaCollection.d.ts","sourceRoot":"","sources":["../../src/db/ProductMediaCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAElF,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACpB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ,GAAG,eAAe,CAAC;AAEpB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,eAAe,CAAC;AAEpB,eAAO,MAAM,sBAAsB,OAAc,OAAO,CAAC,EAAE;;;EAmB1D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductMediaCollection.js","sourceRoot":"","sources":["../../src/db/ProductMediaCollection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProductMediaCollection.js","sourceRoot":"","sources":["../../src/db/ProductMediaCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,EAAmB,MAAM,wBAAwB,CAAC;AAmBlF,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EAAE,EAAc,EAAE,EAAE;IAC7D,MAAM,aAAa,GAAG,EAAE,CAAC,UAAU,CAAe,eAAe,CAAC,CAAC;IACnE,MAAM,iBAAiB,GAAG,EAAE,CAAC,UAAU,CAAmB,qBAAqB,CAAC,CAAC;IAEjF,uBAAuB;IACvB,MAAM,cAAc,CAAC,aAAa,EAAE;QAClC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;QACzB,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;QACvC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;QAClC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;KACjD,CAAC,CAAC;IAEH,4BAA4B;IAC5B,MAAM,cAAc,CAAC,iBAAiB,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAEtG,OAAO;QACL,aAAa;QACb,iBAAiB;KAClB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
import { ProductPriceRate } from '../types.js';
|
|
2
1
|
import { mongodb } from '@unchainedshop/mongodb';
|
|
2
|
+
export type ProductPriceRate = {
|
|
3
|
+
baseCurrency: string;
|
|
4
|
+
quoteCurrency: string;
|
|
5
|
+
rate: number;
|
|
6
|
+
expiresAt: Date;
|
|
7
|
+
timestamp: Date;
|
|
8
|
+
};
|
|
3
9
|
export declare const ProductPriceRates: (db: mongodb.Db) => Promise<{
|
|
4
10
|
ProductRates: mongodb.Collection<ProductPriceRate>;
|
|
5
11
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductPriceRates.d.ts","sourceRoot":"","sources":["../../src/db/ProductPriceRates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ProductPriceRates.d.ts","sourceRoot":"","sources":["../../src/db/ProductPriceRates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,wBAAwB,CAAC;AAEjE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,iBAAiB,OAAc,OAAO,CAAC,EAAE;;EAcrD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductPriceRates.js","sourceRoot":"","sources":["../../src/db/ProductPriceRates.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProductPriceRates.js","sourceRoot":"","sources":["../../src/db/ProductPriceRates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAUjE,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,EAAc,EAAE,EAAE;IACxD,MAAM,YAAY,GAAG,EAAE,CAAC,UAAU,CAAmB,eAAe,CAAC,CAAC;IACtE,uBAAuB;IACvB,yCAAyC;IACzC,MAAM,cAAc,CAAC,YAAY,EAAE;QACjC,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;QAC9B,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE;QAC/B,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;QAC1C,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE;KAC3E,CAAC,CAAC;IAEH,OAAO;QACL,YAAY;KACb,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,5 +1,25 @@
|
|
|
1
|
-
import { mongodb } from '@unchainedshop/mongodb';
|
|
2
|
-
|
|
1
|
+
import { mongodb, TimestampFields } from '@unchainedshop/mongodb';
|
|
2
|
+
export declare enum ProductReviewVoteType {
|
|
3
|
+
UPVOTE = "UPVOTE",
|
|
4
|
+
DOWNVOTE = "DOWNVOTE",
|
|
5
|
+
REPORT = "REPORT"
|
|
6
|
+
}
|
|
7
|
+
export interface ProductVote {
|
|
8
|
+
meta?: any;
|
|
9
|
+
timestamp?: Date;
|
|
10
|
+
type: ProductReviewVoteType;
|
|
11
|
+
userId?: string;
|
|
12
|
+
}
|
|
13
|
+
export type ProductReview = {
|
|
14
|
+
_id?: string;
|
|
15
|
+
productId: string;
|
|
16
|
+
authorId: string;
|
|
17
|
+
rating: number;
|
|
18
|
+
title?: string;
|
|
19
|
+
review?: string;
|
|
20
|
+
meta?: any;
|
|
21
|
+
votes: Array<ProductVote>;
|
|
22
|
+
} & TimestampFields;
|
|
3
23
|
export declare const ProductReviewsCollection: (db: mongodb.Db) => Promise<{
|
|
4
24
|
ProductReviews: mongodb.Collection<ProductReview>;
|
|
5
25
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductReviewsCollection.d.ts","sourceRoot":"","sources":["../../src/db/ProductReviewsCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"ProductReviewsCollection.d.ts","sourceRoot":"","sources":["../../src/db/ProductReviewsCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAElF,oBAAY,qBAAqB;IAC/B,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,IAAI,EAAE,qBAAqB,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;CAC3B,GAAG,eAAe,CAAC;AAEpB,eAAO,MAAM,wBAAwB,OAAc,OAAO,CAAC,EAAE;;EAwB5D,CAAC"}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { buildDbIndexes } from '@unchainedshop/mongodb';
|
|
2
|
+
export var ProductReviewVoteType;
|
|
3
|
+
(function (ProductReviewVoteType) {
|
|
4
|
+
ProductReviewVoteType["UPVOTE"] = "UPVOTE";
|
|
5
|
+
ProductReviewVoteType["DOWNVOTE"] = "DOWNVOTE";
|
|
6
|
+
ProductReviewVoteType["REPORT"] = "REPORT";
|
|
7
|
+
})(ProductReviewVoteType || (ProductReviewVoteType = {}));
|
|
2
8
|
export const ProductReviewsCollection = async (db) => {
|
|
3
9
|
const ProductReviews = db.collection('product_reviews');
|
|
4
10
|
await buildDbIndexes(ProductReviews, [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductReviewsCollection.js","sourceRoot":"","sources":["../../src/db/ProductReviewsCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,
|
|
1
|
+
{"version":3,"file":"ProductReviewsCollection.js","sourceRoot":"","sources":["../../src/db/ProductReviewsCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,EAAmB,MAAM,wBAAwB,CAAC;AAElF,MAAM,CAAN,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,0CAAiB,CAAA;IACjB,8CAAqB,CAAA;IACrB,0CAAiB,CAAA;AACnB,CAAC,EAJW,qBAAqB,KAArB,qBAAqB,QAIhC;AAoBD,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAAE,EAAc,EAAE,EAAE;IAC/D,MAAM,cAAc,GAAG,EAAE,CAAC,UAAU,CAAgB,iBAAiB,CAAC,CAAC;IAEvE,MAAM,cAAc,CAAC,cAAc,EAAE;QACnC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE;QAC3B,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;QAC1B;YACE,KAAK,EAAE;gBACL,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,MAAM;aACf;YACD,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,CAAC;iBACV;gBACD,IAAI,EAAE,+BAA+B;aACtC;SACF;KACF,CAAC,CAAC;IAEH,OAAO;QACL,cAAc;KACf,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,5 +1,29 @@
|
|
|
1
|
-
import { mongodb } from '@unchainedshop/mongodb';
|
|
2
|
-
|
|
1
|
+
import { mongodb, TimestampFields } from '@unchainedshop/mongodb';
|
|
2
|
+
export declare enum ProductVariationType {
|
|
3
|
+
COLOR = "COLOR",
|
|
4
|
+
TEXT = "TEXT"
|
|
5
|
+
}
|
|
6
|
+
export type ProductVariation = {
|
|
7
|
+
_id?: string;
|
|
8
|
+
key?: string;
|
|
9
|
+
tags?: string[];
|
|
10
|
+
options: Array<string>;
|
|
11
|
+
productId: string;
|
|
12
|
+
type?: string;
|
|
13
|
+
} & TimestampFields;
|
|
14
|
+
export type ProductVariationText = {
|
|
15
|
+
_id?: string;
|
|
16
|
+
locale: string;
|
|
17
|
+
productVariationId: string;
|
|
18
|
+
productVariationOptionValue?: string;
|
|
19
|
+
subtitle?: string;
|
|
20
|
+
title?: string;
|
|
21
|
+
} & TimestampFields;
|
|
22
|
+
export type ProductVariationOption = {
|
|
23
|
+
_id: string;
|
|
24
|
+
texts: ProductVariationText;
|
|
25
|
+
value: string;
|
|
26
|
+
};
|
|
3
27
|
export declare const ProductVariationsCollection: (db: mongodb.Db) => Promise<{
|
|
4
28
|
ProductVariations: mongodb.Collection<ProductVariation>;
|
|
5
29
|
ProductVariationTexts: mongodb.Collection<ProductVariationText>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductVariationsCollection.d.ts","sourceRoot":"","sources":["../../src/db/ProductVariationsCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"ProductVariationsCollection.d.ts","sourceRoot":"","sources":["../../src/db/ProductVariationsCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAElF,oBAAY,oBAAoB;IAC9B,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,eAAe,CAAC;AAEpB,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,eAAe,CAAC;AAEpB,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,oBAAoB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AACF,eAAO,MAAM,2BAA2B,OAAc,OAAO,CAAC,EAAE;;;EAe/D,CAAC"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { buildDbIndexes } from '@unchainedshop/mongodb';
|
|
2
|
+
export var ProductVariationType;
|
|
3
|
+
(function (ProductVariationType) {
|
|
4
|
+
ProductVariationType["COLOR"] = "COLOR";
|
|
5
|
+
ProductVariationType["TEXT"] = "TEXT";
|
|
6
|
+
})(ProductVariationType || (ProductVariationType = {}));
|
|
2
7
|
export const ProductVariationsCollection = async (db) => {
|
|
3
8
|
const ProductVariations = db.collection('product_variations');
|
|
4
9
|
const ProductVariationTexts = db.collection('product_variation_texts');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductVariationsCollection.js","sourceRoot":"","sources":["../../src/db/ProductVariationsCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,
|
|
1
|
+
{"version":3,"file":"ProductVariationsCollection.js","sourceRoot":"","sources":["../../src/db/ProductVariationsCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,EAAmB,MAAM,wBAAwB,CAAC;AAElF,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,uCAAe,CAAA;IACf,qCAAa,CAAA;AACf,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B;AAyBD,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,EAAE,EAAc,EAAE,EAAE;IAClE,MAAM,iBAAiB,GAAG,EAAE,CAAC,UAAU,CAAmB,oBAAoB,CAAC,CAAC;IAChF,MAAM,qBAAqB,GAAG,EAAE,CAAC,UAAU,CAAuB,yBAAyB,CAAC,CAAC;IAE7F,MAAM,cAAc,CAAC,iBAAiB,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAEvE,MAAM,cAAc,CAAC,qBAAqB,EAAE;QAC1C,EAAE,KAAK,EAAE,EAAE,kBAAkB,EAAE,CAAC,EAAE,EAAE;QACpC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;KACzB,CAAC,CAAC;IAEH,OAAO;QACL,iBAAiB;QACjB,qBAAqB;KACtB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,5 +1,112 @@
|
|
|
1
|
-
import { mongodb } from '@unchainedshop/mongodb';
|
|
2
|
-
|
|
1
|
+
import { mongodb, TimestampFields } from '@unchainedshop/mongodb';
|
|
2
|
+
export declare enum ProductStatus {
|
|
3
|
+
DRAFT = "DRAFT",
|
|
4
|
+
ACTIVE = "ACTIVE",
|
|
5
|
+
DELETED = "DELETED"
|
|
6
|
+
}
|
|
7
|
+
export declare enum ProductTypes {
|
|
8
|
+
SimpleProduct = "SIMPLE_PRODUCT",
|
|
9
|
+
ConfigurableProduct = "CONFIGURABLE_PRODUCT",
|
|
10
|
+
BundleProduct = "BUNDLE_PRODUCT",
|
|
11
|
+
PlanProduct = "PLAN_PRODUCT",
|
|
12
|
+
TokenizedProduct = "TOKENIZED_PRODUCT"
|
|
13
|
+
}
|
|
14
|
+
export interface ProductContractConfiguration {
|
|
15
|
+
tokenId?: string;
|
|
16
|
+
supply?: number;
|
|
17
|
+
ercMetadataProperties?: Record<string, any>;
|
|
18
|
+
}
|
|
19
|
+
export interface ProductAssignment {
|
|
20
|
+
vector: any;
|
|
21
|
+
productId: string;
|
|
22
|
+
}
|
|
23
|
+
export interface ProductProxy {
|
|
24
|
+
assignments: Array<ProductAssignment>;
|
|
25
|
+
}
|
|
26
|
+
export interface ProductSupply {
|
|
27
|
+
weightInGram?: number;
|
|
28
|
+
heightInMillimeters?: number;
|
|
29
|
+
lengthInMillimeters?: number;
|
|
30
|
+
widthInMillimeters?: number;
|
|
31
|
+
}
|
|
32
|
+
export declare enum ProductContractStandard {
|
|
33
|
+
ERC721 = "ERC721",
|
|
34
|
+
ERC1155 = "ERC1155"
|
|
35
|
+
}
|
|
36
|
+
export interface ProductConfiguration {
|
|
37
|
+
key: string;
|
|
38
|
+
value: string;
|
|
39
|
+
}
|
|
40
|
+
export interface ProductBundleItem {
|
|
41
|
+
productId: string;
|
|
42
|
+
quantity: number;
|
|
43
|
+
configuration: Array<ProductConfiguration>;
|
|
44
|
+
}
|
|
45
|
+
export interface ProductPrice {
|
|
46
|
+
isTaxable?: boolean;
|
|
47
|
+
isNetPrice?: boolean;
|
|
48
|
+
countryCode?: string;
|
|
49
|
+
currencyCode: string;
|
|
50
|
+
amount: number;
|
|
51
|
+
maxQuantity?: number;
|
|
52
|
+
}
|
|
53
|
+
export interface ProductPriceRange {
|
|
54
|
+
minPrice: ProductPrice;
|
|
55
|
+
maxPrice: ProductPrice;
|
|
56
|
+
}
|
|
57
|
+
export interface ProductCommerce {
|
|
58
|
+
salesUnit?: string;
|
|
59
|
+
salesQuantityPerUnit?: string;
|
|
60
|
+
defaultOrderQuantity?: number;
|
|
61
|
+
pricing: Array<ProductPrice>;
|
|
62
|
+
}
|
|
63
|
+
export interface ProductTokenization {
|
|
64
|
+
contractAddress: string;
|
|
65
|
+
contractStandard: ProductContractStandard;
|
|
66
|
+
tokenId: string;
|
|
67
|
+
supply: number;
|
|
68
|
+
ercMetadataProperties?: Record<string, any>;
|
|
69
|
+
}
|
|
70
|
+
export interface ProductPlan {
|
|
71
|
+
billingInterval?: string;
|
|
72
|
+
billingIntervalCount?: number;
|
|
73
|
+
usageCalculationType?: string;
|
|
74
|
+
trialInterval?: string;
|
|
75
|
+
trialIntervalCount?: number;
|
|
76
|
+
}
|
|
77
|
+
export interface ProductWarehousing {
|
|
78
|
+
baseUnit?: string;
|
|
79
|
+
sku?: string;
|
|
80
|
+
}
|
|
81
|
+
export type Product = {
|
|
82
|
+
_id?: string;
|
|
83
|
+
bundleItems: Array<ProductBundleItem>;
|
|
84
|
+
commerce?: ProductCommerce;
|
|
85
|
+
meta?: any;
|
|
86
|
+
plan: ProductPlan;
|
|
87
|
+
proxy: ProductProxy;
|
|
88
|
+
published?: Date;
|
|
89
|
+
sequence: number;
|
|
90
|
+
slugs: Array<string>;
|
|
91
|
+
status?: string;
|
|
92
|
+
supply: ProductSupply;
|
|
93
|
+
tags?: Array<string>;
|
|
94
|
+
type: string;
|
|
95
|
+
warehousing?: ProductWarehousing;
|
|
96
|
+
tokenization?: ProductTokenization;
|
|
97
|
+
} & TimestampFields;
|
|
98
|
+
export type ProductText = {
|
|
99
|
+
_id?: string;
|
|
100
|
+
productId: string;
|
|
101
|
+
description?: string;
|
|
102
|
+
locale: string;
|
|
103
|
+
slug?: string;
|
|
104
|
+
subtitle?: string;
|
|
105
|
+
title?: string;
|
|
106
|
+
brand?: string;
|
|
107
|
+
vendor?: string;
|
|
108
|
+
labels?: Array<string>;
|
|
109
|
+
} & TimestampFields;
|
|
3
110
|
export declare const ProductsCollection: (db: mongodb.Db) => Promise<{
|
|
4
111
|
Products: mongodb.Collection<Product>;
|
|
5
112
|
ProductTexts: mongodb.Collection<ProductText>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductsCollection.d.ts","sourceRoot":"","sources":["../../src/db/ProductsCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"ProductsCollection.d.ts","sourceRoot":"","sources":["../../src/db/ProductsCollection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,23 @@
|
|
|
1
1
|
import { buildDbIndexes } from '@unchainedshop/mongodb';
|
|
2
|
+
export var ProductStatus;
|
|
3
|
+
(function (ProductStatus) {
|
|
4
|
+
ProductStatus["DRAFT"] = "DRAFT";
|
|
5
|
+
ProductStatus["ACTIVE"] = "ACTIVE";
|
|
6
|
+
ProductStatus["DELETED"] = "DELETED";
|
|
7
|
+
})(ProductStatus || (ProductStatus = {}));
|
|
8
|
+
export var ProductTypes;
|
|
9
|
+
(function (ProductTypes) {
|
|
10
|
+
ProductTypes["SimpleProduct"] = "SIMPLE_PRODUCT";
|
|
11
|
+
ProductTypes["ConfigurableProduct"] = "CONFIGURABLE_PRODUCT";
|
|
12
|
+
ProductTypes["BundleProduct"] = "BUNDLE_PRODUCT";
|
|
13
|
+
ProductTypes["PlanProduct"] = "PLAN_PRODUCT";
|
|
14
|
+
ProductTypes["TokenizedProduct"] = "TOKENIZED_PRODUCT";
|
|
15
|
+
})(ProductTypes || (ProductTypes = {}));
|
|
16
|
+
export var ProductContractStandard;
|
|
17
|
+
(function (ProductContractStandard) {
|
|
18
|
+
ProductContractStandard["ERC721"] = "ERC721";
|
|
19
|
+
ProductContractStandard["ERC1155"] = "ERC1155";
|
|
20
|
+
})(ProductContractStandard || (ProductContractStandard = {}));
|
|
2
21
|
export const ProductsCollection = async (db) => {
|
|
3
22
|
const Products = db.collection('products');
|
|
4
23
|
const ProductTexts = db.collection('product_texts');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductsCollection.js","sourceRoot":"","sources":["../../src/db/ProductsCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,
|
|
1
|
+
{"version":3,"file":"ProductsCollection.js","sourceRoot":"","sources":["../../src/db/ProductsCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,EAAmB,MAAM,wBAAwB,CAAC;AAElF,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,gCAAe,CAAA;IACf,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;AACrB,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAED,MAAM,CAAN,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,gDAAgC,CAAA;IAChC,4DAA4C,CAAA;IAC5C,gDAAgC,CAAA;IAChC,4CAA4B,CAAA;IAC5B,sDAAsC,CAAA;AACxC,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB;AAuBD,MAAM,CAAN,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,4CAAiB,CAAA;IACjB,8CAAmB,CAAA;AACrB,CAAC,EAHW,uBAAuB,KAAvB,uBAAuB,QAGlC;AAuFD,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,EAAc,EAAE,EAAE;IACzD,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAU,UAAU,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,EAAE,CAAC,UAAU,CAAc,eAAe,CAAC,CAAC;IAEjE,kBAAkB;IAClB,MAAM,cAAc,CAAC,QAAQ,EAAE;QAC7B,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;QAC1B,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACvB,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;QACxB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;QACtB,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,CAAC,EAAE,EAAE;QACnC;YACE,KAAK,EAAE,EAAE,iBAAiB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YACnD,OAAO,EAAE;gBACP,IAAI,EAAE,0BAA0B;aACjC;SACK;KACT,CAAC,CAAC;IAEH,uBAAuB;IACvB,MAAM,cAAc,CAAC,YAAY,EAAE;QACjC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE;QAC3B,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;QACxB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;QACtB,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE;QACtC;YACE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YACzE,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,KAAK,EAAE,CAAC;oBACR,QAAQ,EAAE,CAAC;oBACX,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,CAAC;iBACT;gBACD,IAAI,EAAE,+BAA+B;aACtC;SACF;KACF,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ;QACR,YAAY;KACb,CAAC;AACJ,CAAC,CAAC"}
|
package/lib/mock/product.d.ts
CHANGED
|
@@ -3,13 +3,10 @@ declare const _default: {
|
|
|
3
3
|
type: string;
|
|
4
4
|
status: string;
|
|
5
5
|
sequence: number;
|
|
6
|
-
authorId: string;
|
|
7
6
|
tags: any[];
|
|
8
7
|
created: Date;
|
|
9
|
-
createdBy: string;
|
|
10
8
|
slugs: string[];
|
|
11
9
|
updated: Date;
|
|
12
|
-
updatedBy: string;
|
|
13
10
|
commerce: {
|
|
14
11
|
pricing: {
|
|
15
12
|
amount: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product.d.ts","sourceRoot":"","sources":["../../src/mock/product.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"product.d.ts","sourceRoot":"","sources":["../../src/mock/product.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,wBA8CE"}
|
package/lib/mock/product.js
CHANGED
|
@@ -3,13 +3,10 @@ export default {
|
|
|
3
3
|
type: 'SIMPLE_PRODUCT',
|
|
4
4
|
status: 'ACTIVE',
|
|
5
5
|
sequence: 10,
|
|
6
|
-
authorId: 'PKve0k9fLCUzn2EUi',
|
|
7
6
|
tags: [],
|
|
8
7
|
created: new Date('2022-10-28T10:41:13.346Z'),
|
|
9
|
-
createdBy: 'PKve0k9fLCUzn2EUi',
|
|
10
8
|
slugs: ['test'],
|
|
11
9
|
updated: new Date('2022-12-04T13:50:24.245Z'),
|
|
12
|
-
updatedBy: 'PKve0k9fLCUzn2EUi',
|
|
13
10
|
commerce: {
|
|
14
11
|
pricing: [
|
|
15
12
|
{
|
package/lib/mock/product.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product.js","sourceRoot":"","sources":["../../src/mock/product.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,GAAG,EAAE,0BAA0B;IAC/B,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,EAAE;IACZ,
|
|
1
|
+
{"version":3,"file":"product.js","sourceRoot":"","sources":["../../src/mock/product.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,GAAG,EAAE,0BAA0B;IAC/B,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC;IAC7C,KAAK,EAAE,CAAC,MAAM,CAAC;IACf,OAAO,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC;IAC7C,QAAQ,EAAE;QACR,OAAO,EAAE;YACP;gBACE,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,IAAI;gBACjB,SAAS,EAAE,KAAK;gBAChB,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE,KAAK;gBACnB,WAAW,EAAE,IAAI;aAClB;YACD;gBACE,MAAM,EAAE,KAAK;gBACb,WAAW,EAAE,CAAC;gBACd,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,IAAI;gBAChB,YAAY,EAAE,KAAK;gBACnB,WAAW,EAAE,IAAI;aAClB;YACD;gBACE,MAAM,EAAE,CAAC;gBACT,WAAW,EAAE,CAAC;gBACd,SAAS,EAAE,KAAK;gBAChB,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE,KAAK;gBACnB,WAAW,EAAE,IAAI;aAClB;YACD;gBACE,MAAM,EAAE,GAAG;gBACX,WAAW,EAAE,CAAC;gBACd,SAAS,EAAE,KAAK;gBAChB,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE,KAAK;gBACnB,WAAW,EAAE,IAAI;aAClB;SACF;KACF;IACD,SAAS,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC;CAChD,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { ProductMedia, ProductMediaText } from '../types.js';
|
|
2
1
|
import { ModuleInput } from '@unchainedshop/mongodb';
|
|
3
2
|
import { mongodb } from '@unchainedshop/mongodb';
|
|
3
|
+
import { ProductMedia, ProductMediaText } from '../db/ProductMediaCollection.js';
|
|
4
4
|
export type ProductMediaModule = {
|
|
5
5
|
findProductMedia: (params: {
|
|
6
6
|
productMediaId: string;
|
|
7
7
|
}) => Promise<ProductMedia>;
|
|
8
8
|
findProductMedias: (params: {
|
|
9
|
-
productId?:
|
|
9
|
+
productId?: mongodb.Filter<ProductMedia>['assortmentId'];
|
|
10
10
|
limit?: number;
|
|
11
11
|
offset?: number;
|
|
12
12
|
tags?: Array<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureProductMediaModule.d.ts","sourceRoot":"","sources":["../../src/module/configureProductMediaModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"configureProductMediaModule.d.ts","sourceRoot":"","sources":["../../src/module/configureProductMediaModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAIL,OAAO,EACR,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAA0B,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEzG,MAAM,MAAM,kBAAkB,GAAG;IAE/B,gBAAgB,EAAE,CAAC,MAAM,EAAE;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAEhF,iBAAiB,EAAE,CACjB,MAAM,EAAE;QACN,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,CAAC;QACzD,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;KACtB,EACD,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,KAC1B,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IAGlC,MAAM,EAAE,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAEhF,MAAM,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACpD,gBAAgB,EAAE,CAAC,MAAM,EAAE;QACzB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,kBAAkB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACnC,uBAAuB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;KACzC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAEtB,MAAM,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACtF,iBAAiB,EAAE,CAAC,MAAM,EAAE;QAC1B,QAAQ,EAAE,KAAK,CAAC;YACd,cAAc,EAAE,MAAM,CAAC;YACvB,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC,CAAC;KACJ,KAAK,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnC,KAAK,EAAE;QAEL,cAAc,EAAE,CACd,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,EACvC,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,KAC1B,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAEtC,sBAAsB,EAAE,CAAC,KAAK,EAAE;YAC9B,cAAc,EAAE,MAAM,CAAC;YACvB,MAAM,EAAE,MAAM,CAAC;SAChB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAGhC,gBAAgB,EAAE,CAChB,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,KACnD,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;KACvC,CAAC;CACH,CAAC;AASF,eAAO,MAAM,2BAA2B,YAErC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,KAAG,OAAO,CAAC,kBAAkB,CAgNjE,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { emit, registerEvents } from '@unchainedshop/events';
|
|
2
2
|
import { findLocalizedText, generateDbFilterById, generateDbObjectId, } from '@unchainedshop/mongodb';
|
|
3
|
-
import { FileDirector } from '@unchainedshop/file-upload';
|
|
4
3
|
import { ProductMediaCollection } from '../db/ProductMediaCollection.js';
|
|
5
4
|
const PRODUCT_MEDIA_EVENTS = [
|
|
6
5
|
'PRODUCT_ADD_MEDIA',
|
|
@@ -151,10 +150,4 @@ export const configureProductMediaModule = async ({ db, }) => {
|
|
|
151
150
|
},
|
|
152
151
|
};
|
|
153
152
|
};
|
|
154
|
-
FileDirector.registerFileUploadCallback('product-media', async (file, { modules }) => {
|
|
155
|
-
await modules.products.media.create({
|
|
156
|
-
productId: file.meta?.productId,
|
|
157
|
-
mediaId: file._id,
|
|
158
|
-
});
|
|
159
|
-
});
|
|
160
153
|
//# sourceMappingURL=configureProductMediaModule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureProductMediaModule.js","sourceRoot":"","sources":["../../src/module/configureProductMediaModule.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"configureProductMediaModule.js","sourceRoot":"","sources":["../../src/module/configureProductMediaModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Currency } from '@unchainedshop/core-currencies';
|
|
1
|
+
import { ProductPriceRate } from '../db/ProductPriceRates.js';
|
|
3
2
|
import { ProductsModule } from '../products-index.js';
|
|
3
|
+
import { Product, ProductConfiguration } from '../db/ProductsCollection.js';
|
|
4
4
|
export declare const getDecimals: (originDecimals: any) => any;
|
|
5
|
-
export declare const normalizeRate: (baseCurrency:
|
|
5
|
+
export declare const normalizeRate: (baseCurrency: {
|
|
6
|
+
decimals?: number;
|
|
7
|
+
isoCode: string;
|
|
8
|
+
}, quoteCurrency: {
|
|
9
|
+
decimals?: number;
|
|
10
|
+
isoCode: string;
|
|
11
|
+
}, rateRecord: ProductPriceRate) => any;
|
|
6
12
|
export declare const configureProductPricesModule: ({ proxyProducts, db, }: {
|
|
7
13
|
proxyProducts: (product: Product, vectors: Array<ProductConfiguration>, options: {
|
|
8
14
|
includeInactive?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureProductPrices.d.ts","sourceRoot":"","sources":["../../src/module/configureProductPrices.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"configureProductPrices.d.ts","sourceRoot":"","sources":["../../src/module/configureProductPrices.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAqB,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAE5E,eAAO,MAAM,WAAW,8BAUvB,CAAC;AAEF,eAAO,MAAM,aAAa,iBACV;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,iBACc;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,cACW,gBAAgB,QAY7B,CAAC;AAEF,eAAO,MAAM,4BAA4B,2BAGtC;IACD,aAAa,EAAE,CACb,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,KAAK,CAAC,oBAAoB,CAAC,EACpC,OAAO,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,KACnC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7B,EAAE,EAAE,GAAG,CAAC;CACT,KAAG,cAAc,CAAC,QAAQ,CAyM1B,CAAC"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import crypto from 'crypto';
|
|
2
|
-
import { ProductPricingDirector } from '../director/ProductPricingDirector.js';
|
|
3
1
|
import { getPriceLevels } from './utils/getPriceLevels.js';
|
|
4
2
|
import { getPriceRange } from './utils/getPriceRange.js';
|
|
5
3
|
import { ProductPriceRates } from '../db/ProductPriceRates.js';
|
|
@@ -44,54 +42,15 @@ export const configureProductPricesModule = ({ proxyProducts, db, }) => {
|
|
|
44
42
|
...foundPrice,
|
|
45
43
|
};
|
|
46
44
|
if (normalizedPrice.amount !== undefined && normalizedPrice.amount !== null) {
|
|
47
|
-
return
|
|
48
|
-
_id: crypto
|
|
49
|
-
.createHash('sha256')
|
|
50
|
-
.update([product._id, normalizedPrice.countryCode, normalizedPrice.currencyCode].join(''))
|
|
51
|
-
.digest('hex'),
|
|
52
|
-
...normalizedPrice,
|
|
53
|
-
};
|
|
45
|
+
return normalizedPrice;
|
|
54
46
|
}
|
|
55
47
|
return null;
|
|
56
48
|
};
|
|
57
|
-
const userPrice = async (product, { quantity = 1, country, currency, useNetPrice, userId, configuration }, unchainedAPI) => {
|
|
58
|
-
const user = await unchainedAPI.modules.users.findUserById(userId);
|
|
59
|
-
const pricingDirector = await ProductPricingDirector.actions({
|
|
60
|
-
product,
|
|
61
|
-
user,
|
|
62
|
-
country,
|
|
63
|
-
currency,
|
|
64
|
-
quantity,
|
|
65
|
-
configuration,
|
|
66
|
-
}, unchainedAPI);
|
|
67
|
-
const calculated = await pricingDirector.calculate();
|
|
68
|
-
if (!calculated || !calculated.length)
|
|
69
|
-
return null;
|
|
70
|
-
const pricing = pricingDirector.calculationSheet();
|
|
71
|
-
const unitPrice = pricing.unitPrice({ useNetPrice });
|
|
72
|
-
return {
|
|
73
|
-
_id: crypto
|
|
74
|
-
.createHash('sha256')
|
|
75
|
-
.update([product._id, country, quantity, useNetPrice, user ? user._id : 'ANONYMOUS'].join(''))
|
|
76
|
-
.digest('hex'),
|
|
77
|
-
...unitPrice,
|
|
78
|
-
isNetPrice: useNetPrice,
|
|
79
|
-
isTaxable: pricing.taxSum() > 0,
|
|
80
|
-
currencyCode: pricing.currency,
|
|
81
|
-
};
|
|
82
|
-
};
|
|
83
49
|
return {
|
|
84
50
|
price: catalogPrice,
|
|
85
|
-
|
|
86
|
-
catalogPrices
|
|
87
|
-
|
|
88
|
-
return prices.map((price) => ({
|
|
89
|
-
_id: crypto
|
|
90
|
-
.createHash('sha256')
|
|
91
|
-
.update([product._id, price.countryCode, price.currencyCode, price.maxQuantity, price.amount].join(''))
|
|
92
|
-
.digest('hex'),
|
|
93
|
-
...price,
|
|
94
|
-
}));
|
|
51
|
+
priceRange: getPriceRange,
|
|
52
|
+
async catalogPrices(product) {
|
|
53
|
+
return (product.commerce && product.commerce.pricing) || [];
|
|
95
54
|
},
|
|
96
55
|
catalogPriceRange: async (product, { quantity = 0, vectors = [], includeInactive = false, country, currency }) => {
|
|
97
56
|
const products = await proxyProducts(product, vectors, {
|
|
@@ -109,50 +68,6 @@ export const configureProductPricesModule = ({ proxyProducts, db, }) => {
|
|
|
109
68
|
prices: filteredPrices,
|
|
110
69
|
});
|
|
111
70
|
return {
|
|
112
|
-
_id: crypto
|
|
113
|
-
.createHash('sha256')
|
|
114
|
-
.update([
|
|
115
|
-
product._id,
|
|
116
|
-
Math.random(),
|
|
117
|
-
minPrice.amount,
|
|
118
|
-
minPrice.currencyCode,
|
|
119
|
-
maxPrice.amount,
|
|
120
|
-
maxPrice.currencyCode,
|
|
121
|
-
].join(''))
|
|
122
|
-
.digest('hex'),
|
|
123
|
-
minPrice,
|
|
124
|
-
maxPrice,
|
|
125
|
-
};
|
|
126
|
-
},
|
|
127
|
-
simulatedPriceRange: async (product, { userId, country, currency, includeInactive = false, quantity, useNetPrice = false, vectors = [], }, unchainedAPI) => {
|
|
128
|
-
const products = await proxyProducts(product, vectors, {
|
|
129
|
-
includeInactive,
|
|
130
|
-
});
|
|
131
|
-
const filteredPrices = (await Promise.all(products.map((proxyProduct) => userPrice(proxyProduct, {
|
|
132
|
-
quantity,
|
|
133
|
-
currency,
|
|
134
|
-
country,
|
|
135
|
-
userId,
|
|
136
|
-
useNetPrice,
|
|
137
|
-
}, unchainedAPI)))).filter(Boolean);
|
|
138
|
-
if (!filteredPrices.length)
|
|
139
|
-
return null;
|
|
140
|
-
const { minPrice, maxPrice } = getPriceRange({
|
|
141
|
-
productId: product._id,
|
|
142
|
-
prices: filteredPrices,
|
|
143
|
-
});
|
|
144
|
-
return {
|
|
145
|
-
_id: crypto
|
|
146
|
-
.createHash('sha256')
|
|
147
|
-
.update([
|
|
148
|
-
product._id,
|
|
149
|
-
Math.random(),
|
|
150
|
-
minPrice.amount,
|
|
151
|
-
minPrice.currencyCode,
|
|
152
|
-
maxPrice.amount,
|
|
153
|
-
maxPrice.currencyCode,
|
|
154
|
-
].join(''))
|
|
155
|
-
.digest('hex'),
|
|
156
71
|
minPrice,
|
|
157
72
|
maxPrice,
|
|
158
73
|
};
|
|
@@ -164,7 +79,7 @@ export const configureProductPricesModule = ({ proxyProducts, db, }) => {
|
|
|
164
79
|
currencyCode,
|
|
165
80
|
countryCode,
|
|
166
81
|
});
|
|
167
|
-
return filteredAndSortedPriceLevels.map((priceLevel, i) => {
|
|
82
|
+
return Promise.all(filteredAndSortedPriceLevels.map(async (priceLevel, i) => {
|
|
168
83
|
const max = priceLevel.maxQuantity || null;
|
|
169
84
|
const min = previousMax ? previousMax + 1 : 0;
|
|
170
85
|
previousMax = priceLevel.maxQuantity;
|
|
@@ -172,17 +87,13 @@ export const configureProductPricesModule = ({ proxyProducts, db, }) => {
|
|
|
172
87
|
minQuantity: min,
|
|
173
88
|
maxQuantity: i === 0 && priceLevel.maxQuantity > 0 ? priceLevel.maxQuantity : max,
|
|
174
89
|
price: {
|
|
175
|
-
_id: crypto
|
|
176
|
-
.createHash('sha256')
|
|
177
|
-
.update([product._id, priceLevel.amount, currencyCode].join(''))
|
|
178
|
-
.digest('hex'),
|
|
179
90
|
isTaxable: !!priceLevel.isTaxable,
|
|
180
91
|
isNetPrice: !!priceLevel.isNetPrice,
|
|
181
92
|
amount: priceLevel.amount,
|
|
182
93
|
currencyCode,
|
|
183
94
|
},
|
|
184
95
|
};
|
|
185
|
-
});
|
|
96
|
+
}));
|
|
186
97
|
},
|
|
187
98
|
rates: {
|
|
188
99
|
getRate: async (baseCurrency, quoteCurrency, referenceDate = new Date()) => {
|