@unchainedshop/platform 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/bulk-importer/createBulkImporter.d.ts +4 -1
- package/lib/bulk-importer/createBulkImporter.d.ts.map +1 -1
- package/lib/bulk-importer/createBulkImporter.js +13 -15
- package/lib/bulk-importer/createBulkImporter.js.map +1 -1
- package/lib/bulk-importer/handlers/filter/create.d.ts.map +1 -1
- package/lib/bulk-importer/handlers/filter/create.js +2 -2
- package/lib/bulk-importer/handlers/filter/create.js.map +1 -1
- package/lib/bulk-importer/handlers/filter/update.d.ts.map +1 -1
- package/lib/bulk-importer/handlers/filter/update.js +1 -1
- package/lib/bulk-importer/handlers/filter/update.js.map +1 -1
- package/lib/bulk-importer/handlers/product/remove.js +1 -1
- package/lib/bulk-importer/handlers/product/remove.js.map +1 -1
- package/lib/bulk-importer/upsertAsset.d.ts.map +1 -1
- package/lib/bulk-importer/upsertAsset.js +1 -1
- package/lib/bulk-importer/upsertAsset.js.map +1 -1
- package/lib/context/setAccessToken.js +2 -2
- package/lib/context/setAccessToken.js.map +1 -1
- package/lib/migrations/migrationRepository.js +1 -1
- package/lib/migrations/migrationRepository.js.map +1 -1
- package/lib/migrations/runMigrations.js +2 -2
- package/lib/migrations/runMigrations.js.map +1 -1
- package/lib/platform-index.d.ts +2 -0
- package/lib/platform-index.d.ts.map +1 -1
- package/lib/platform-index.js +2 -0
- package/lib/platform-index.js.map +1 -1
- package/lib/setup/setupCarts.d.ts.map +1 -1
- package/lib/setup/setupCarts.js +5 -2
- package/lib/setup/setupCarts.js.map +1 -1
- package/lib/setup/setupTemplates.d.ts.map +1 -1
- package/lib/setup/setupTemplates.js +4 -4
- package/lib/setup/setupTemplates.js.map +1 -1
- package/lib/setup/setupUploadHandlers.d.ts +3 -0
- package/lib/setup/setupUploadHandlers.d.ts.map +1 -0
- package/lib/setup/setupUploadHandlers.js +19 -0
- package/lib/setup/setupUploadHandlers.js.map +1 -0
- package/lib/setup/setupWorkqueue.d.ts +3 -2
- package/lib/setup/setupWorkqueue.d.ts.map +1 -1
- package/lib/setup/setupWorkqueue.js +3 -1
- package/lib/setup/setupWorkqueue.js.map +1 -1
- package/lib/startPlatform.d.ts.map +1 -1
- package/lib/startPlatform.js +5 -2
- package/lib/startPlatform.js.map +1 -1
- package/lib/templates/index.d.ts +9 -0
- package/lib/templates/index.d.ts.map +1 -0
- package/lib/templates/index.js +9 -0
- package/lib/templates/index.js.map +1 -0
- package/lib/templates/order-parser/getOrderPositionsData.d.ts +2 -6
- package/lib/templates/order-parser/getOrderPositionsData.d.ts.map +1 -1
- package/lib/templates/order-parser/getOrderPositionsData.js +8 -8
- package/lib/templates/order-parser/getOrderPositionsData.js.map +1 -1
- package/lib/templates/order-parser/getOrderSummaryData.d.ts +2 -2
- package/lib/templates/order-parser/getOrderSummaryData.d.ts.map +1 -1
- package/lib/templates/order-parser/getOrderSummaryData.js +9 -7
- package/lib/templates/order-parser/getOrderSummaryData.js.map +1 -1
- package/lib/templates/order-parser/index.d.ts +8 -3
- package/lib/templates/order-parser/index.d.ts.map +1 -1
- package/lib/templates/order-parser/index.js +4 -4
- package/lib/templates/order-parser/index.js.map +1 -1
- package/lib/templates/resolveAccountActionTemplate.d.ts +1 -1
- package/lib/templates/resolveAccountActionTemplate.d.ts.map +1 -1
- package/lib/templates/resolveAccountActionTemplate.js +4 -3
- package/lib/templates/resolveAccountActionTemplate.js.map +1 -1
- package/lib/templates/resolveEnrollmentStatusTemplate.d.ts +1 -1
- package/lib/templates/resolveEnrollmentStatusTemplate.d.ts.map +1 -1
- package/lib/templates/resolveEnrollmentStatusTemplate.js +4 -3
- package/lib/templates/resolveEnrollmentStatusTemplate.js.map +1 -1
- package/lib/templates/resolveErrorReportTemplate.d.ts +1 -1
- package/lib/templates/resolveErrorReportTemplate.d.ts.map +1 -1
- package/lib/templates/resolveErrorReportTemplate.js +10 -9
- package/lib/templates/resolveErrorReportTemplate.js.map +1 -1
- package/lib/templates/resolveForwardDeliveryTemplate.d.ts +1 -1
- package/lib/templates/resolveForwardDeliveryTemplate.d.ts.map +1 -1
- package/lib/templates/resolveForwardDeliveryTemplate.js +5 -4
- package/lib/templates/resolveForwardDeliveryTemplate.js.map +1 -1
- package/lib/templates/resolveOrderConfirmationTemplate.d.ts +5 -2
- package/lib/templates/resolveOrderConfirmationTemplate.d.ts.map +1 -1
- package/lib/templates/resolveOrderConfirmationTemplate.js +4 -3
- package/lib/templates/resolveOrderConfirmationTemplate.js.map +1 -1
- package/lib/templates/resolveOrderRejectionTemplate.d.ts +1 -1
- package/lib/templates/resolveOrderRejectionTemplate.d.ts.map +1 -1
- package/lib/templates/resolveOrderRejectionTemplate.js +4 -3
- package/lib/templates/resolveOrderRejectionTemplate.js.map +1 -1
- package/lib/templates/resolveQuotationStatusTemplate.d.ts +1 -1
- package/lib/templates/resolveQuotationStatusTemplate.d.ts.map +1 -1
- package/lib/templates/resolveQuotationStatusTemplate.js +4 -3
- package/lib/templates/resolveQuotationStatusTemplate.js.map +1 -1
- package/package.json +25 -23
- package/src/bulk-importer/createBulkImporter.ts +16 -21
- package/src/bulk-importer/handlers/filter/create.ts +9 -18
- package/src/bulk-importer/handlers/filter/update.ts +4 -9
- package/src/bulk-importer/handlers/product/remove.ts +1 -1
- package/src/bulk-importer/upsertAsset.ts +9 -12
- package/src/context/setAccessToken.ts +2 -2
- package/src/migrations/migrationRepository.ts +1 -1
- package/src/migrations/runMigrations.ts +2 -2
- package/src/platform-index.ts +2 -0
- package/src/setup/setupCarts.ts +10 -9
- package/src/setup/setupTemplates.ts +5 -6
- package/src/setup/setupUploadHandlers.ts +22 -0
- package/src/setup/setupWorkqueue.ts +5 -9
- package/src/startPlatform.ts +6 -2
- package/src/templates/index.ts +9 -0
- package/src/templates/order-parser/getOrderPositionsData.ts +10 -13
- package/src/templates/order-parser/getOrderSummaryData.ts +12 -9
- package/src/templates/order-parser/index.ts +21 -10
- package/src/templates/resolveAccountActionTemplate.ts +14 -8
- package/src/templates/resolveEnrollmentStatusTemplate.ts +14 -9
- package/src/templates/resolveErrorReportTemplate.ts +16 -10
- package/src/templates/resolveForwardDeliveryTemplate.ts +13 -7
- package/src/templates/resolveOrderConfirmationTemplate.ts +17 -11
- package/src/templates/resolveOrderRejectionTemplate.ts +13 -7
- package/src/templates/resolveQuotationStatusTemplate.ts +14 -8
- package/tsconfig.json +5 -7
- package/lib/templates/order-parser/formatAddress.d.ts +0 -3
- package/lib/templates/order-parser/formatAddress.d.ts.map +0 -1
- package/lib/templates/order-parser/formatAddress.js +0 -14
- package/lib/templates/order-parser/formatAddress.js.map +0 -1
- package/lib/templates/order-parser/formatPrice.d.ts +0 -6
- package/lib/templates/order-parser/formatPrice.d.ts.map +0 -1
- package/lib/templates/order-parser/formatPrice.js +0 -6
- package/lib/templates/order-parser/formatPrice.js.map +0 -1
- package/src/templates/order-parser/formatAddress.ts +0 -15
- package/src/templates/order-parser/formatPrice.ts +0 -6
|
@@ -5,7 +5,7 @@ type PriceFormatter = ({ amount, currency }: {
|
|
|
5
5
|
currency: string;
|
|
6
6
|
}) => string;
|
|
7
7
|
export declare const getOrderPositionsData: (order: Order, params: {
|
|
8
|
-
locale
|
|
8
|
+
locale: string;
|
|
9
9
|
useNetPrice?: boolean;
|
|
10
10
|
format?: PriceFormatter;
|
|
11
11
|
}, context: UnchainedCore) => Promise<{
|
|
@@ -14,14 +14,10 @@ export declare const getOrderPositionsData: (order: Order, params: {
|
|
|
14
14
|
key: string;
|
|
15
15
|
value: string;
|
|
16
16
|
}[];
|
|
17
|
-
originalProductTexts: import("@unchainedshop/core-products").ProductText;
|
|
18
17
|
productTexts: import("@unchainedshop/core-products").ProductText;
|
|
19
18
|
quantity: number;
|
|
20
19
|
rawPrices: {
|
|
21
|
-
unitPrice:
|
|
22
|
-
amount: number;
|
|
23
|
-
currency: string;
|
|
24
|
-
};
|
|
20
|
+
unitPrice: import("@unchainedshop/utils").Price;
|
|
25
21
|
total: {
|
|
26
22
|
amount: number;
|
|
27
23
|
currency: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOrderPositionsData.d.ts","sourceRoot":"","sources":["../../../src/templates/order-parser/getOrderPositionsData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"getOrderPositionsData.d.ts","sourceRoot":"","sources":["../../../src/templates/order-parser/getOrderPositionsData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAInD,KAAK,cAAc,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,KAAK,MAAM,CAAC;AAE7F,eAAO,MAAM,qBAAqB,UACzB,KAAK,UACJ;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,cAAc,CAAA;CAAE,WACjE,aAAa;;;;;;;;;;;;;;;;;IAuCvB,CAAC"}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ProductPricingSheet } from '@unchainedshop/core';
|
|
2
|
+
import { ch } from '@unchainedshop/utils';
|
|
2
3
|
export const getOrderPositionsData = async (order, params, context) => {
|
|
3
4
|
const { modules } = context;
|
|
4
|
-
const { useNetPrice, format =
|
|
5
|
+
const { useNetPrice, format = ch.priceToString } = params || {};
|
|
5
6
|
const orderPositions = await modules.orders.positions.findOrderPositions({
|
|
6
7
|
orderId: order._id,
|
|
7
8
|
});
|
|
8
9
|
return Promise.all(orderPositions.map(async (orderPosition) => {
|
|
9
10
|
const productTexts = await modules.products.texts.findLocalizedText({
|
|
10
11
|
productId: orderPosition.productId,
|
|
11
|
-
locale: params.locale
|
|
12
|
+
locale: params.locale,
|
|
12
13
|
});
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
const positionPricing = ProductPricingSheet({
|
|
15
|
+
calculation: orderPosition.calculation,
|
|
16
|
+
currency: order.currency,
|
|
17
|
+
quantity: orderPosition.quantity,
|
|
16
18
|
});
|
|
17
|
-
const positionPricing = modules.orders.positions.pricingSheet(orderPosition, order.currency, context);
|
|
18
19
|
const total = positionPricing.total({ useNetPrice });
|
|
19
20
|
const unitPrice = positionPricing.unitPrice({ useNetPrice });
|
|
20
21
|
const { quantity } = positionPricing;
|
|
21
22
|
return {
|
|
22
23
|
productId: orderPosition.productId,
|
|
23
24
|
configuration: orderPosition.configuration,
|
|
24
|
-
originalProductTexts,
|
|
25
25
|
productTexts,
|
|
26
26
|
quantity,
|
|
27
27
|
rawPrices: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOrderPositionsData.js","sourceRoot":"","sources":["../../../src/templates/order-parser/getOrderPositionsData.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"getOrderPositionsData.js","sourceRoot":"","sources":["../../../src/templates/order-parser/getOrderPositionsData.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAI1C,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EACxC,KAAY,EACZ,MAA0E,EAC1E,OAAsB,EACtB,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,EAAE,CAAC,aAAa,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;IAChE,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC;QACvE,OAAO,EAAE,KAAK,CAAC,GAAG;KACnB,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,GAAG,CAChB,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE;QACzC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC;YAClE,SAAS,EAAE,aAAa,CAAC,SAAS;YAClC,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,mBAAmB,CAAC;YAC1C,WAAW,EAAE,aAAa,CAAC,WAAW;YACtC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,aAAa,CAAC,QAAQ;SACjC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QAE7D,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC;QACrC,OAAO;YACL,SAAS,EAAE,aAAa,CAAC,SAAS;YAClC,aAAa,EAAE,aAAa,CAAC,aAAa;YAC1C,YAAY;YACZ,QAAQ;YACR,SAAS,EAAE;gBACT,SAAS;gBACT,KAAK;aACN;YACD,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;YAC5B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;SACrB,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { UnchainedCore } from '@unchainedshop/core';
|
|
2
1
|
import { Order } from '@unchainedshop/core-orders';
|
|
2
|
+
import { UnchainedCore } from '@unchainedshop/core';
|
|
3
3
|
type PriceFormatter = ({ amount, currency }: {
|
|
4
4
|
amount: number;
|
|
5
5
|
currency: string;
|
|
6
6
|
}) => string;
|
|
7
7
|
export declare const getOrderSummaryData: (order: Order, params: {
|
|
8
|
-
locale?:
|
|
8
|
+
locale?: string;
|
|
9
9
|
useNetPrice?: boolean;
|
|
10
10
|
format?: PriceFormatter;
|
|
11
11
|
}, context: UnchainedCore) => Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOrderSummaryData.d.ts","sourceRoot":"","sources":["../../../src/templates/order-parser/getOrderSummaryData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"getOrderSummaryData.d.ts","sourceRoot":"","sources":["../../../src/templates/order-parser/getOrderSummaryData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,aAAa,EAA8C,MAAM,qBAAqB,CAAC;AAGhG,KAAK,cAAc,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,KAAK,MAAM,CAAC;AAE7F,eAAO,MAAM,mBAAmB,UACvB,KAAK,UACJ;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,cAAc,CAAA;CAAE,WAClE,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuEvB,CAAC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { OrderPricingRowCategory } from '@unchainedshop/core
|
|
2
|
-
import
|
|
3
|
-
import { formatAddress } from './formatAddress.js';
|
|
1
|
+
import { OrderPricingSheet, OrderPricingRowCategory } from '@unchainedshop/core';
|
|
2
|
+
import { ch } from '@unchainedshop/utils';
|
|
4
3
|
export const getOrderSummaryData = async (order, params, context) => {
|
|
5
4
|
const { modules } = context;
|
|
6
|
-
const { useNetPrice, format =
|
|
5
|
+
const { useNetPrice, format = ch.priceToString } = params || {};
|
|
7
6
|
const orderDelivery = await modules.orders.deliveries.findDelivery({
|
|
8
7
|
orderDeliveryId: order.deliveryId,
|
|
9
8
|
});
|
|
@@ -16,9 +15,12 @@ export const getOrderSummaryData = async (order, params, context) => {
|
|
|
16
15
|
const deliveryProvider = await modules.delivery.findProvider({
|
|
17
16
|
deliveryProviderId: orderDelivery.deliveryProviderId,
|
|
18
17
|
});
|
|
19
|
-
const deliveryAddress =
|
|
20
|
-
const billingAddress =
|
|
21
|
-
const orderPricing =
|
|
18
|
+
const deliveryAddress = ch.addressToString(orderDelivery?.context?.deliveryAddress || order.billingAddress);
|
|
19
|
+
const billingAddress = ch.addressToString(order.billingAddress);
|
|
20
|
+
const orderPricing = OrderPricingSheet({
|
|
21
|
+
calculation: order.calculation,
|
|
22
|
+
currency: order.currency,
|
|
23
|
+
});
|
|
22
24
|
const paymentTotal = orderPricing.total({
|
|
23
25
|
category: OrderPricingRowCategory.Payment,
|
|
24
26
|
useNetPrice,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOrderSummaryData.js","sourceRoot":"","sources":["../../../src/templates/order-parser/getOrderSummaryData.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getOrderSummaryData.js","sourceRoot":"","sources":["../../../src/templates/order-parser/getOrderSummaryData.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAChG,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAI1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,KAAY,EACZ,MAA2E,EAC3E,OAAsB,EACtB,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,EAAE,CAAC,aAAa,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;IAChE,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;QACjE,eAAe,EAAE,KAAK,CAAC,UAAU;KAClC,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAClE,cAAc,EAAE,KAAK,CAAC,SAAS;KAChC,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC;QAC1E,iBAAiB,EAAE,YAAY,CAAC,iBAAiB;KAClD,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC3D,kBAAkB,EAAE,aAAa,CAAC,kBAAkB;KACrD,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,EAAE,CAAC,eAAe,CACxC,aAAa,EAAE,OAAO,EAAE,eAAe,IAAI,KAAK,CAAC,cAAc,CAChE,CAAC;IACF,MAAM,cAAc,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,iBAAiB,CAAC;QACrC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC;QACtC,QAAQ,EAAE,uBAAuB,CAAC,OAAO;QACzC,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC;QACvC,QAAQ,EAAE,uBAAuB,CAAC,QAAQ;QAC1C,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC;QACpC,QAAQ,EAAE,uBAAuB,CAAC,KAAK;QACvC,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC;QACpC,QAAQ,EAAE,uBAAuB,CAAC,KAAK;QACvC,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAElD,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC;IAC3C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,CAAC;IAE7C,OAAO;QACL,SAAS,EAAE;YACT,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,aAAa;YACvB,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,KAAK;SACb;QACD,MAAM,EAAE;YACN,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC;YACzB,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC;YACzB,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC;YAC/B,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC;YAC7B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;SACrB;QACD,OAAO;QACP,QAAQ;QACR,eAAe;QACf,cAAc;KACf,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
|
+
import { getOrderPositionsData } from './getOrderPositionsData.js';
|
|
2
|
+
import { getOrderSummaryData } from './getOrderSummaryData.js';
|
|
3
|
+
import { Order } from '@unchainedshop/core-orders';
|
|
4
|
+
import { UnchainedCore } from '@unchainedshop/core';
|
|
1
5
|
export declare const transformOrderToText: ({ order, locale }: {
|
|
2
|
-
order:
|
|
3
|
-
locale:
|
|
4
|
-
}, context:
|
|
6
|
+
order: Order;
|
|
7
|
+
locale: string;
|
|
8
|
+
}, context: UnchainedCore) => Promise<string>;
|
|
9
|
+
export { getOrderPositionsData, getOrderSummaryData };
|
|
5
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/order-parser/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/order-parser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAkCpD,eAAO,MAAM,oBAAoB,sBACZ;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,WAC1C,aAAa,oBAavB,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { getOrderPositionsData } from './getOrderPositionsData.js';
|
|
2
2
|
import { getOrderSummaryData } from './getOrderSummaryData.js';
|
|
3
|
+
import mustache from 'mustache';
|
|
3
4
|
const textTemplate = `Order number: {{orderNumber}}
|
|
4
5
|
Ordered: {{orderDate}}
|
|
5
6
|
Payment method: {{summary.payment}}
|
|
@@ -30,13 +31,12 @@ Total: {{summary.prices.gross}}
|
|
|
30
31
|
{{/summary.rawPrices.taxes.amount}}
|
|
31
32
|
`;
|
|
32
33
|
export const transformOrderToText = async ({ order, locale }, context) => {
|
|
33
|
-
|
|
34
|
-
const data = {
|
|
34
|
+
return mustache.render(textTemplate, {
|
|
35
35
|
orderDate: new Date(order.ordered).toLocaleString(),
|
|
36
36
|
orderNumber: order.orderNumber,
|
|
37
37
|
summary: await getOrderSummaryData(order, { locale }, context),
|
|
38
38
|
positions: await getOrderPositionsData(order, { locale }, context),
|
|
39
|
-
};
|
|
40
|
-
return modules.messaging.renderToText(textTemplate, data);
|
|
39
|
+
}, undefined, { escape: (t) => t });
|
|
41
40
|
};
|
|
41
|
+
export { getOrderPositionsData, getOrderSummaryData };
|
|
42
42
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/order-parser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/order-parser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAI/D,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BpB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACvC,EAAE,KAAK,EAAE,MAAM,EAAoC,EACnD,OAAsB,EACtB,EAAE;IACF,OAAO,QAAQ,CAAC,MAAM,CACpB,YAAY,EACZ;QACE,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE;QACnD,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,OAAO,EAAE,MAAM,mBAAmB,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC;QAC9D,SAAS,EAAE,MAAM,qBAAqB,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC;KACnE,EACD,SAAS,EACT,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CACrB,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveAccountActionTemplate.d.ts","sourceRoot":"","sources":["../../src/templates/resolveAccountActionTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"resolveAccountActionTemplate.d.ts","sourceRoot":"","sources":["../../src/templates/resolveAccountActionTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAuFvD,eAAO,MAAM,4BAA4B,EAAE,gBAmC1C,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import mustache from 'mustache';
|
|
1
2
|
const { EMAIL_FROM, EMAIL_WEBSITE_URL, EMAIL_WEBSITE_NAME } = process.env;
|
|
2
3
|
const verifyEmailEnglishConfig = {
|
|
3
4
|
buttonText: 'Verify email address',
|
|
@@ -84,12 +85,12 @@ export const resolveAccountActionTemplate = async ({ userId, action, recipientEm
|
|
|
84
85
|
const locale = modules.users.userLocale(user);
|
|
85
86
|
const { url } = emailConfig[action];
|
|
86
87
|
const { subject, message, buttonText } = emailConfig[action][locale.language];
|
|
87
|
-
const
|
|
88
|
+
const text = mustache.render(textTemplate, {
|
|
88
89
|
buttonText,
|
|
89
90
|
message,
|
|
90
91
|
subject,
|
|
91
92
|
url: url(token),
|
|
92
|
-
};
|
|
93
|
+
}, undefined, { escape: (t) => t });
|
|
93
94
|
return [
|
|
94
95
|
{
|
|
95
96
|
type: 'EMAIL',
|
|
@@ -97,7 +98,7 @@ export const resolveAccountActionTemplate = async ({ userId, action, recipientEm
|
|
|
97
98
|
from: EMAIL_FROM || 'noreply@unchained.local',
|
|
98
99
|
to: recipientEmail || modules.users.primaryEmail(user)?.address,
|
|
99
100
|
subject,
|
|
100
|
-
text
|
|
101
|
+
text,
|
|
101
102
|
},
|
|
102
103
|
},
|
|
103
104
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveAccountActionTemplate.js","sourceRoot":"","sources":["../../src/templates/resolveAccountActionTemplate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolveAccountActionTemplate.js","sourceRoot":"","sources":["../../src/templates/resolveAccountActionTemplate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveEnrollmentStatusTemplate.d.ts","sourceRoot":"","sources":["../../src/templates/resolveEnrollmentStatusTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"resolveEnrollmentStatusTemplate.d.ts","sourceRoot":"","sources":["../../src/templates/resolveEnrollmentStatusTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAcvD,eAAO,MAAM,+BAA+B,EAAE,gBAiC7C,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import mustache from 'mustache';
|
|
1
2
|
const { EMAIL_FROM, EMAIL_WEBSITE_NAME, EMAIL_WEBSITE_URL } = process.env;
|
|
2
3
|
const textTemplate = `
|
|
3
4
|
{{subject}}\n
|
|
@@ -13,12 +14,12 @@ export const resolveEnrollmentStatusTemplate = async ({ enrollmentId, locale },
|
|
|
13
14
|
const enrollment = await modules.enrollments.findEnrollment({ enrollmentId });
|
|
14
15
|
const user = await modules.users.findUserById(enrollment.userId);
|
|
15
16
|
const subject = `${EMAIL_WEBSITE_NAME}: Updated Enrollment / ${enrollment.enrollmentNumber}`;
|
|
16
|
-
const
|
|
17
|
+
const text = mustache.render(textTemplate, {
|
|
17
18
|
enrollment,
|
|
18
19
|
locale,
|
|
19
20
|
subject,
|
|
20
21
|
url: `${EMAIL_WEBSITE_URL}/enrollment?_id=${enrollment._id}`,
|
|
21
|
-
};
|
|
22
|
+
}, undefined, { escape: (t) => t });
|
|
22
23
|
return [
|
|
23
24
|
{
|
|
24
25
|
type: 'EMAIL',
|
|
@@ -26,7 +27,7 @@ export const resolveEnrollmentStatusTemplate = async ({ enrollmentId, locale },
|
|
|
26
27
|
from: EMAIL_FROM || 'noreply@unchained.local',
|
|
27
28
|
to: modules.users.primaryEmail(user)?.address,
|
|
28
29
|
subject,
|
|
29
|
-
text
|
|
30
|
+
text,
|
|
30
31
|
},
|
|
31
32
|
},
|
|
32
33
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveEnrollmentStatusTemplate.js","sourceRoot":"","sources":["../../src/templates/resolveEnrollmentStatusTemplate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolveEnrollmentStatusTemplate.js","sourceRoot":"","sources":["../../src/templates/resolveEnrollmentStatusTemplate.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAE1E,MAAM,YAAY,GAAG;;;;;;;;CAQpB,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAqB,KAAK,EACpE,EAAE,YAAY,EAAE,MAAM,EAAE,EACxB,OAAO,EACP,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAEjE,MAAM,OAAO,GAAG,GAAG,kBAAkB,0BAA0B,UAAU,CAAC,gBAAgB,EAAE,CAAC;IAE7F,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAC1B,YAAY,EACZ;QACE,UAAU;QACV,MAAM;QACN,OAAO;QACP,GAAG,EAAE,GAAG,iBAAiB,mBAAmB,UAAU,CAAC,GAAG,EAAE;KAC7D,EACD,SAAS,EACT,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CACrB,CAAC;IAEF,OAAO;QACL;YACE,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,UAAU,IAAI,yBAAyB;gBAC7C,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO;gBAC7C,OAAO;gBACP,IAAI;aACL;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveErrorReportTemplate.d.ts","sourceRoot":"","sources":["../../src/templates/resolveErrorReportTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"resolveErrorReportTemplate.d.ts","sourceRoot":"","sources":["../../src/templates/resolveErrorReportTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AA6BvD,QAAA,MAAM,0BAA0B,EAAE,gBAuBjC,CAAC;AAEF,OAAO,EAAE,0BAA0B,EAAE,CAAC;AAEtC,eAAe,0BAA0B,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { stringify } from 'safe-stable-stringify';
|
|
2
|
+
import mustache from 'mustache';
|
|
2
3
|
const { EMAIL_FROM = 'noreply@unchained.local', EMAIL_ERROR_REPORT_RECIPIENT = 'support@unchained.local', EMAIL_WEBSITE_NAME = 'Unchained', ROOT_URL, } = process.env;
|
|
3
4
|
const formatWorkItems = (workItems) => {
|
|
4
5
|
return workItems
|
|
5
6
|
.map(({ _id, type, started, error }) => {
|
|
6
|
-
const stringifiedErrors =
|
|
7
|
+
const stringifiedErrors = stringify(error, null, 2);
|
|
7
8
|
return `${new Date(started).toLocaleString()} ${type} (${_id}): ${stringifiedErrors}`;
|
|
8
9
|
})
|
|
9
10
|
.join('\n');
|
|
@@ -16,8 +17,12 @@ Shop Name: {{name}}
|
|
|
16
17
|
|
|
17
18
|
{{content}}
|
|
18
19
|
`;
|
|
19
|
-
const resolveErrorReportTemplate = async ({ workItems }
|
|
20
|
-
const
|
|
20
|
+
const resolveErrorReportTemplate = async ({ workItems }) => {
|
|
21
|
+
const text = mustache.render(textTemplate, {
|
|
22
|
+
endpoint: ROOT_URL,
|
|
23
|
+
content: formatWorkItems(workItems),
|
|
24
|
+
name: EMAIL_WEBSITE_NAME,
|
|
25
|
+
}, undefined, { escape: (t) => t });
|
|
21
26
|
return [
|
|
22
27
|
{
|
|
23
28
|
type: 'EMAIL',
|
|
@@ -25,11 +30,7 @@ const resolveErrorReportTemplate = async ({ workItems }, context) => {
|
|
|
25
30
|
from: EMAIL_FROM || 'noreply@unchained.local',
|
|
26
31
|
to: EMAIL_ERROR_REPORT_RECIPIENT,
|
|
27
32
|
subject: `${EMAIL_WEBSITE_NAME}: Queue Errors`,
|
|
28
|
-
text
|
|
29
|
-
endpoint: ROOT_URL,
|
|
30
|
-
content: formatWorkItems(workItems),
|
|
31
|
-
name: EMAIL_WEBSITE_NAME,
|
|
32
|
-
}),
|
|
33
|
+
text,
|
|
33
34
|
},
|
|
34
35
|
},
|
|
35
36
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveErrorReportTemplate.js","sourceRoot":"","sources":["../../src/templates/resolveErrorReportTemplate.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"resolveErrorReportTemplate.js","sourceRoot":"","sources":["../../src/templates/resolveErrorReportTemplate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,MAAM,EACJ,UAAU,GAAG,yBAAyB,EACtC,4BAA4B,GAAG,yBAAyB,EACxD,kBAAkB,GAAG,WAAW,EAChC,QAAQ,GACT,GAAG,OAAO,CAAC,GAAG,CAAC;AAEhB,MAAM,eAAe,GAAG,CAAC,SAAS,EAAE,EAAE;IACpC,OAAO,SAAS;SACb,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;QACrC,MAAM,iBAAiB,GAAG,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACpD,OAAO,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,IAAI,IAAI,KAAK,GAAG,MAAM,iBAAiB,EAAE,CAAC;IACxF,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG;;;;;;;CAOpB,CAAC;AAEF,MAAM,0BAA0B,GAAqB,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;IAC3E,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAC1B,YAAY,EACZ;QACE,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC;QACnC,IAAI,EAAE,kBAAkB;KACzB,EACD,SAAS,EACT,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CACrB,CAAC;IAEF,OAAO;QACL;YACE,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,UAAU,IAAI,yBAAyB;gBAC7C,EAAE,EAAE,4BAA4B;gBAChC,OAAO,EAAE,GAAG,kBAAkB,gBAAgB;gBAC9C,IAAI;aACL;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,0BAA0B,EAAE,CAAC;AAEtC,eAAe,0BAA0B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveForwardDeliveryTemplate.d.ts","sourceRoot":"","sources":["../../src/templates/resolveForwardDeliveryTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"resolveForwardDeliveryTemplate.d.ts","sourceRoot":"","sources":["../../src/templates/resolveForwardDeliveryTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAevD,eAAO,MAAM,8BAA8B,EAAE,gBAoC5C,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { systemLocale } from '@unchainedshop/utils';
|
|
2
2
|
import { transformOrderToText } from './order-parser/index.js';
|
|
3
|
+
import mustache from 'mustache';
|
|
3
4
|
const { EMAIL_FROM, EMAIL_WEBSITE_NAME, EMAIL_WEBSITE_URL } = process.env;
|
|
4
5
|
const textTemplate = `
|
|
5
6
|
New Order received:
|
|
@@ -18,11 +19,11 @@ export const resolveForwardDeliveryTemplate = async ({ config, orderId }, contex
|
|
|
18
19
|
};
|
|
19
20
|
}, {});
|
|
20
21
|
const subject = `${EMAIL_WEBSITE_NAME} Order ${order.orderNumber}`;
|
|
21
|
-
const
|
|
22
|
+
const text = mustache.render(textTemplate, {
|
|
22
23
|
shopName: EMAIL_WEBSITE_NAME,
|
|
23
24
|
shopUrl: EMAIL_WEBSITE_URL,
|
|
24
|
-
orderDetails: await transformOrderToText({ order, locale: systemLocale }, context),
|
|
25
|
-
};
|
|
25
|
+
orderDetails: await transformOrderToText({ order, locale: systemLocale.baseName }, context),
|
|
26
|
+
}, undefined, { escape: (t) => t });
|
|
26
27
|
return [
|
|
27
28
|
{
|
|
28
29
|
type: 'EMAIL',
|
|
@@ -31,7 +32,7 @@ export const resolveForwardDeliveryTemplate = async ({ config, orderId }, contex
|
|
|
31
32
|
to: configObject.to || 'orders@unchained.local',
|
|
32
33
|
cc: configObject.cc,
|
|
33
34
|
subject,
|
|
34
|
-
text
|
|
35
|
+
text,
|
|
35
36
|
},
|
|
36
37
|
},
|
|
37
38
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveForwardDeliveryTemplate.js","sourceRoot":"","sources":["../../src/templates/resolveForwardDeliveryTemplate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"resolveForwardDeliveryTemplate.js","sourceRoot":"","sources":["../../src/templates/resolveForwardDeliveryTemplate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAE1E,MAAM,YAAY,GAAG;;;;;;CAMpB,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAqB,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE;IACrG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAE1D,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;QACzD,OAAO;YACL,GAAG,GAAG;YACN,CAAC,GAAG,CAAC,EAAE,KAAK;SACb,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,OAAO,GAAG,GAAG,kBAAkB,UAAU,KAAK,CAAC,WAAW,EAAE,CAAC;IAEnE,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAC1B,YAAY,EACZ;QACE,QAAQ,EAAE,kBAAkB;QAC5B,OAAO,EAAE,iBAAiB;QAC1B,YAAY,EAAE,MAAM,oBAAoB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC;KAC5F,EACD,SAAS,EACT,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CACrB,CAAC;IAEF,OAAO;QACL;YACE,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,GAAG,kBAAkB,KAAK,YAAY,CAAC,IAAI,IAAI,UAAU,IAAI,yBAAyB,GAAG;gBAC/F,EAAE,EAAE,YAAY,CAAC,EAAE,IAAI,wBAAwB;gBAC/C,EAAE,EAAE,YAAY,CAAC,EAAE;gBACnB,OAAO;gBACP,IAAI;aACL;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
import { TemplateResolver } from '@unchainedshop/core
|
|
2
|
-
export declare const resolveOrderConfirmationTemplate: TemplateResolver
|
|
1
|
+
import { TemplateResolver } from '@unchainedshop/core';
|
|
2
|
+
export declare const resolveOrderConfirmationTemplate: TemplateResolver<{
|
|
3
|
+
orderId: string;
|
|
4
|
+
locale: string;
|
|
5
|
+
}>;
|
|
3
6
|
//# sourceMappingURL=resolveOrderConfirmationTemplate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveOrderConfirmationTemplate.d.ts","sourceRoot":"","sources":["../../src/templates/resolveOrderConfirmationTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"resolveOrderConfirmationTemplate.d.ts","sourceRoot":"","sources":["../../src/templates/resolveOrderConfirmationTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAcvD,eAAO,MAAM,gCAAgC,EAAE,gBAAgB,CAAC;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAgCA,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { transformOrderToText } from './order-parser/index.js';
|
|
2
|
+
import mustache from 'mustache';
|
|
2
3
|
const { EMAIL_FROM, EMAIL_WEBSITE_NAME, EMAIL_WEBSITE_URL } = process.env;
|
|
3
4
|
const textTemplate = `
|
|
4
5
|
Thank you very much for your order.
|
|
@@ -14,11 +15,11 @@ export const resolveOrderConfirmationTemplate = async ({ orderId, locale }, cont
|
|
|
14
15
|
return [];
|
|
15
16
|
}
|
|
16
17
|
const subject = `Order ${order.orderNumber}`;
|
|
17
|
-
const
|
|
18
|
+
const text = mustache.render(textTemplate, {
|
|
18
19
|
shopName: EMAIL_WEBSITE_NAME,
|
|
19
20
|
shopUrl: EMAIL_WEBSITE_URL,
|
|
20
21
|
orderDetails: await transformOrderToText({ order, locale }, context),
|
|
21
|
-
};
|
|
22
|
+
}, undefined, { escape: (t) => t });
|
|
22
23
|
return [
|
|
23
24
|
{
|
|
24
25
|
type: 'EMAIL',
|
|
@@ -26,7 +27,7 @@ export const resolveOrderConfirmationTemplate = async ({ orderId, locale }, cont
|
|
|
26
27
|
from: `${EMAIL_WEBSITE_NAME} <${EMAIL_FROM || 'noreply@unchained.local'}>`,
|
|
27
28
|
to: order.contact.emailAddress,
|
|
28
29
|
subject,
|
|
29
|
-
text
|
|
30
|
+
text,
|
|
30
31
|
},
|
|
31
32
|
},
|
|
32
33
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveOrderConfirmationTemplate.js","sourceRoot":"","sources":["../../src/templates/resolveOrderConfirmationTemplate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"resolveOrderConfirmationTemplate.js","sourceRoot":"","sources":["../../src/templates/resolveOrderConfirmationTemplate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAE1E,MAAM,YAAY,GAAG;;;;;;CAMpB,CAAC;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAGxC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE;IAC1C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAE1D,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,KAAK,CAAC,WAAW,EAAE,CAAC;IAE7C,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAC1B,YAAY,EACZ;QACE,QAAQ,EAAE,kBAAkB;QAC5B,OAAO,EAAE,iBAAiB;QAC1B,YAAY,EAAE,MAAM,oBAAoB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC;KACrE,EACD,SAAS,EACT,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CACrB,CAAC;IAEF,OAAO;QACL;YACE,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,GAAG,kBAAkB,KAAK,UAAU,IAAI,yBAAyB,GAAG;gBAC1E,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY;gBAC9B,OAAO;gBACP,IAAI;aACL;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveOrderRejectionTemplate.d.ts","sourceRoot":"","sources":["../../src/templates/resolveOrderRejectionTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"resolveOrderRejectionTemplate.d.ts","sourceRoot":"","sources":["../../src/templates/resolveOrderRejectionTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAkBvD,eAAO,MAAM,6BAA6B,EAAE,gBAgC3C,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { transformOrderToText } from './order-parser/index.js';
|
|
2
|
+
import mustache from 'mustache';
|
|
2
3
|
const { EMAIL_FROM, EMAIL_WEBSITE_NAME, EMAIL_WEBSITE_URL } = process.env;
|
|
3
4
|
const textTemplate = `
|
|
4
5
|
I'm sorry we can't confirm your order.
|
|
@@ -18,11 +19,11 @@ export const resolveOrderRejectionTemplate = async ({ orderId, locale }, context
|
|
|
18
19
|
return [];
|
|
19
20
|
}
|
|
20
21
|
const subject = `Order rejected ${order.orderNumber}`;
|
|
21
|
-
const
|
|
22
|
+
const text = mustache.render(textTemplate, {
|
|
22
23
|
shopName: EMAIL_WEBSITE_NAME,
|
|
23
24
|
shopUrl: EMAIL_WEBSITE_URL,
|
|
24
25
|
orderDetails: await transformOrderToText({ order, locale }, context),
|
|
25
|
-
};
|
|
26
|
+
}, undefined, { escape: (t) => t });
|
|
26
27
|
return [
|
|
27
28
|
{
|
|
28
29
|
type: 'EMAIL',
|
|
@@ -30,7 +31,7 @@ export const resolveOrderRejectionTemplate = async ({ orderId, locale }, context
|
|
|
30
31
|
from: `${EMAIL_WEBSITE_NAME} <${EMAIL_FROM || 'noreply@unchained.local'}>`,
|
|
31
32
|
to: order.contact.emailAddress,
|
|
32
33
|
subject,
|
|
33
|
-
text
|
|
34
|
+
text,
|
|
34
35
|
},
|
|
35
36
|
},
|
|
36
37
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveOrderRejectionTemplate.js","sourceRoot":"","sources":["../../src/templates/resolveOrderRejectionTemplate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"resolveOrderRejectionTemplate.js","sourceRoot":"","sources":["../../src/templates/resolveOrderRejectionTemplate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAE1E,MAAM,YAAY,GAAG;;;;;;;;;;CAUpB,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAqB,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE;IACpG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAE1D,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAChC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,kBAAkB,KAAK,CAAC,WAAW,EAAE,CAAC;IAEtD,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAC1B,YAAY,EACZ;QACE,QAAQ,EAAE,kBAAkB;QAC5B,OAAO,EAAE,iBAAiB;QAC1B,YAAY,EAAE,MAAM,oBAAoB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC;KACrE,EACD,SAAS,EACT,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CACrB,CAAC;IAEF,OAAO;QACL;YACE,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,GAAG,kBAAkB,KAAK,UAAU,IAAI,yBAAyB,GAAG;gBAC1E,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY;gBAC9B,OAAO;gBACP,IAAI;aACL;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveQuotationStatusTemplate.d.ts","sourceRoot":"","sources":["../../src/templates/resolveQuotationStatusTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"resolveQuotationStatusTemplate.d.ts","sourceRoot":"","sources":["../../src/templates/resolveQuotationStatusTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAevD,eAAO,MAAM,8BAA8B,EAAE,gBA4C5C,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import mustache from 'mustache';
|
|
1
2
|
const { EMAIL_FROM, EMAIL_WEBSITE_NAME, EMAIL_WEBSITE_URL } = process.env;
|
|
2
3
|
const textTemplate = `
|
|
3
4
|
{{subject}}\n
|
|
@@ -18,12 +19,12 @@ export const resolveQuotationStatusTemplate = async ({ quotationId, locale }, {
|
|
|
18
19
|
path: file.url,
|
|
19
20
|
}));
|
|
20
21
|
const subject = `${EMAIL_WEBSITE_NAME}: Updated Quotation / ${quotation.quotationNumber}`;
|
|
21
|
-
const
|
|
22
|
+
const text = mustache.render(textTemplate, {
|
|
22
23
|
locale,
|
|
23
24
|
quotation,
|
|
24
25
|
subject,
|
|
25
26
|
url: `${EMAIL_WEBSITE_URL}/quotation?_id=${quotation._id}`,
|
|
26
|
-
};
|
|
27
|
+
}, undefined, { escape: (t) => t });
|
|
27
28
|
return [
|
|
28
29
|
{
|
|
29
30
|
type: 'EMAIL',
|
|
@@ -31,7 +32,7 @@ export const resolveQuotationStatusTemplate = async ({ quotationId, locale }, {
|
|
|
31
32
|
from: EMAIL_FROM,
|
|
32
33
|
to: modules.users.primaryEmail(user)?.address,
|
|
33
34
|
subject,
|
|
34
|
-
text
|
|
35
|
+
text,
|
|
35
36
|
attachments,
|
|
36
37
|
},
|
|
37
38
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveQuotationStatusTemplate.js","sourceRoot":"","sources":["../../src/templates/resolveQuotationStatusTemplate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolveQuotationStatusTemplate.js","sourceRoot":"","sources":["../../src/templates/resolveQuotationStatusTemplate.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAE1E,MAAM,YAAY,GAAG;;;;;;;;CAQpB,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAqB,KAAK,EACnE,EAAE,WAAW,EAAE,MAAM,EAAE,EACvB,EAAE,OAAO,EAAE,EACX,EAAE;IACF,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG,CAClB,MAAM,OAAO,CAAC,KAAK,CAAC,SAAS,CAC3B,EAAE,kBAAkB,EAAE,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,EAC9D,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAC9B,CACF;SACE,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACd,QAAQ,EAAE,GAAG,SAAS,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,EAAE;QACrD,IAAI,EAAE,IAAI,CAAC,GAAG;KACf,CAAC,CAAC,CAAC;IAEN,MAAM,OAAO,GAAG,GAAG,kBAAkB,yBAAyB,SAAS,CAAC,eAAe,EAAE,CAAC;IAE1F,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAC1B,YAAY,EACZ;QACE,MAAM;QACN,SAAS;QACT,OAAO;QACP,GAAG,EAAE,GAAG,iBAAiB,kBAAkB,SAAS,CAAC,GAAG,EAAE;KAC3D,EACD,SAAS,EACT,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CACrB,CAAC;IAEF,OAAO;QACL;YACE,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO;gBAC7C,OAAO;gBACP,IAAI;gBACJ,WAAW;aACZ;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
|