@unchainedshop/platform 3.0.0-rc8 → 3.0.0
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/startPlatform.d.ts.map +1 -1
- package/lib/startPlatform.js +2 -2
- package/lib/startPlatform.js.map +1 -1
- package/lib/templates/order-parser/index.d.ts +3 -2
- package/lib/templates/order-parser/index.d.ts.map +1 -1
- package/lib/templates/order-parser/index.js +3 -4
- package/lib/templates/order-parser/index.js.map +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.map +1 -1
- package/lib/templates/resolveEnrollmentStatusTemplate.js +4 -3
- package/lib/templates/resolveEnrollmentStatusTemplate.js.map +1 -1
- package/lib/templates/resolveErrorReportTemplate.d.ts.map +1 -1
- package/lib/templates/resolveErrorReportTemplate.js +8 -7
- package/lib/templates/resolveErrorReportTemplate.js.map +1 -1
- package/lib/templates/resolveForwardDeliveryTemplate.d.ts.map +1 -1
- package/lib/templates/resolveForwardDeliveryTemplate.js +4 -3
- package/lib/templates/resolveForwardDeliveryTemplate.js.map +1 -1
- 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.map +1 -1
- package/lib/templates/resolveOrderRejectionTemplate.js +4 -3
- package/lib/templates/resolveOrderRejectionTemplate.js.map +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 +14 -12
- package/src/startPlatform.ts +4 -2
- package/src/templates/order-parser/index.ts +16 -11
- package/src/templates/resolveAccountActionTemplate.ts +13 -7
- package/src/templates/resolveEnrollmentStatusTemplate.ts +13 -8
- package/src/templates/resolveErrorReportTemplate.ts +13 -7
- package/src/templates/resolveForwardDeliveryTemplate.ts +12 -6
- package/src/templates/resolveOrderConfirmationTemplate.ts +12 -6
- package/src/templates/resolveOrderRejectionTemplate.ts +12 -6
- package/src/templates/resolveQuotationStatusTemplate.ts +13 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startPlatform.d.ts","sourceRoot":"","sources":["../src/startPlatform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAY,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAU,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,EAAE,iBAAiB,EAA6B,MAAM,uCAAuC,CAAC;AAIrG,OAAO,EAAE,iBAAiB,EAAc,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAkB,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAkB,MAAM,2BAA2B,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,CAAC,EAAE;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;KAC9C,CAAC;IACF,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,gBAAgB,CAAC,EAAE,qBAAqB,GAAG,iBAAiB,GAAG;QAAE,yBAAyB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACxG,GAAG,IAAI,CAAC,oBAAoB,EAAE,cAAc,GAAG,qBAAqB,GAAG,IAAI,CAAC,GAC3E,IAAI,CAAC,sBAAsB,EAAE,OAAO,GAAG,cAAc,GAAG,WAAW,GAAG,QAAQ,CAAC,CAAC;AA2BlF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,GAAG,CAAM,CAAC;AAE3C,eAAO,MAAM,aAAa,0IAQvB,eAAe,KAAG,OAAO,CAAC;IAC3B,YAAY,EAAE,aAAa,CAAC;IAC5B,cAAc,EAAE,GAAG,CAAC;IACpB,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;CAChB,
|
|
1
|
+
{"version":3,"file":"startPlatform.d.ts","sourceRoot":"","sources":["../src/startPlatform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAY,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAU,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,EAAE,iBAAiB,EAA6B,MAAM,uCAAuC,CAAC;AAIrG,OAAO,EAAE,iBAAiB,EAAc,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAkB,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAkB,MAAM,2BAA2B,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,CAAC,EAAE;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;KAC9C,CAAC;IACF,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,gBAAgB,CAAC,EAAE,qBAAqB,GAAG,iBAAiB,GAAG;QAAE,yBAAyB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACxG,GAAG,IAAI,CAAC,oBAAoB,EAAE,cAAc,GAAG,qBAAqB,GAAG,IAAI,CAAC,GAC3E,IAAI,CAAC,sBAAsB,EAAE,OAAO,GAAG,cAAc,GAAG,WAAW,GAAG,QAAQ,CAAC,CAAC;AA2BlF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,GAAG,CAAM,CAAC;AAE3C,eAAO,MAAM,aAAa,0IAQvB,eAAe,KAAG,OAAO,CAAC;IAC3B,YAAY,EAAE,aAAa,CAAC;IAC5B,cAAc,EAAE,GAAG,CAAC;IACpB,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;CAChB,CA8DA,CAAC"}
|
package/lib/startPlatform.js
CHANGED
|
@@ -37,6 +37,8 @@ const checkWorkQueueEnabled = (options) => {
|
|
|
37
37
|
export const queueWorkers = [];
|
|
38
38
|
export const startPlatform = async ({ modules, services, options, rolesOptions = {}, bulkImporter: bulkImporterOptions, workQueueOptions, ...arbitraryAPIServerConfiguration }) => {
|
|
39
39
|
exitOnMissingEnvironmentVariables();
|
|
40
|
+
const isWorkQueueEnabled = checkWorkQueueEnabled(workQueueOptions);
|
|
41
|
+
const configuredRoles = roles.configureRoles(rolesOptions);
|
|
40
42
|
// Configure database
|
|
41
43
|
const db = await initDb();
|
|
42
44
|
// Prepare Migrations
|
|
@@ -51,11 +53,9 @@ export const startPlatform = async ({ modules, services, options, rolesOptions =
|
|
|
51
53
|
services,
|
|
52
54
|
options,
|
|
53
55
|
});
|
|
54
|
-
const isWorkQueueEnabled = checkWorkQueueEnabled(workQueueOptions);
|
|
55
56
|
if (isWorkQueueEnabled) {
|
|
56
57
|
await runMigrations({ migrationRepository, unchainedAPI });
|
|
57
58
|
}
|
|
58
|
-
const configuredRoles = roles.configureRoles(rolesOptions);
|
|
59
59
|
const configuredEvents = getRegisteredEvents();
|
|
60
60
|
const configuredWorkTypes = WorkerDirector.getActivePluginTypes();
|
|
61
61
|
// Setup accountsjs specific extensions and event handlers
|
package/lib/startPlatform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startPlatform.js","sourceRoot":"","sources":["../src/startPlatform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,EAA0B,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAwB,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAW,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAqB,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AACrG,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAqB,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAyB,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAGhF,OAAO,EAAE,YAAY,EAAE,CAAC;AAWxB,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;AAEzC,MAAM,sBAAsB,GAAG;IAC7B,oBAAoB;IACpB,mBAAmB;IACnB,YAAY;IACZ,UAAU;IACV,wBAAwB;CACzB,CAAC;AAEF,MAAM,EAAE,wBAAwB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAEjD,MAAM,iCAAiC,GAAG,GAAG,EAAE;IAC7C,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,KAAK,CAAC,wDAAwD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,OAA8B,EAAE,EAAE;IAC/D,IAAI,OAAO,EAAE,aAAa;QAAE,OAAO,KAAK,CAAC;IACzC,OAAO,CAAC,wBAAwB,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAe,EAAE,CAAC;AAE3C,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,EAClC,OAAO,EACP,QAAQ,EACR,OAAO,EACP,YAAY,GAAG,EAAE,EACjB,YAAY,EAAE,mBAAmB,EACjC,gBAAgB,EAChB,GAAG,+BAA+B,EAClB,EAIf,EAAE;IACH,iCAAiC,EAAE,CAAC;IAEpC,qBAAqB;IACrB,MAAM,EAAE,GAAG,MAAM,MAAM,EAAE,CAAC;IAE1B,qBAAqB;IACrB,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,EAAE,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,yBAAyB,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC;IAExE,yCAAyC;IACzC,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC;QAClC,EAAE;QACF,mBAAmB;QACnB,YAAY;QACZ,OAAO;QACP,QAAQ;QACR,OAAO;KACR,CAAC,CAAC;IAEH,
|
|
1
|
+
{"version":3,"file":"startPlatform.js","sourceRoot":"","sources":["../src/startPlatform.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { Order } from '@unchainedshop/core-orders';
|
|
2
1
|
import { getOrderPositionsData } from './getOrderPositionsData.js';
|
|
3
2
|
import { getOrderSummaryData } from './getOrderSummaryData.js';
|
|
3
|
+
import { Order } from '@unchainedshop/core-orders';
|
|
4
|
+
import { UnchainedCore } from '@unchainedshop/core';
|
|
4
5
|
export declare const transformOrderToText: ({ order, locale }: {
|
|
5
6
|
order: Order;
|
|
6
7
|
locale: string;
|
|
7
|
-
}, context:
|
|
8
|
+
}, context: UnchainedCore) => Promise<string>;
|
|
8
9
|
export { getOrderPositionsData, getOrderSummaryData };
|
|
9
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":"AAAA,OAAO,EAAE,
|
|
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,14 +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
|
};
|
|
42
41
|
export { getOrderPositionsData, getOrderSummaryData };
|
|
43
42
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/order-parser/index.ts"],"names":[],"mappings":"
|
|
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,qBAAqB,CAAC;
|
|
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,qBAAqB,CAAC;AAcvD,eAAO,MAAM,+BAA+B,EAAE,
|
|
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,qBAAqB,CAAC;
|
|
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,4 +1,5 @@
|
|
|
1
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
|
|
@@ -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,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;
|
|
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,qBAAqB,CAAC;
|
|
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
25
|
orderDetails: await transformOrderToText({ order, locale: systemLocale.baseName }, context),
|
|
25
|
-
};
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveOrderConfirmationTemplate.d.ts","sourceRoot":"","sources":["../../src/templates/resolveOrderConfirmationTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;
|
|
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,qBAAqB,CAAC;
|
|
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,qBAAqB,CAAC;
|
|
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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unchainedshop/platform",
|
|
3
|
-
"version": "3.0.0
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"main": "lib/platform-index.js",
|
|
5
5
|
"types": "lib/platform-index.d.ts",
|
|
6
6
|
"type": "module",
|
|
@@ -34,21 +34,23 @@
|
|
|
34
34
|
"node": ">=22.0.0"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@unchainedshop/api": "^3.0.0
|
|
38
|
-
"@unchainedshop/core": "^3.0.0
|
|
39
|
-
"@unchainedshop/events": "^3.0.0
|
|
40
|
-
"@unchainedshop/file-upload": "^3.0.0
|
|
41
|
-
"@unchainedshop/logger": "^3.0.0
|
|
42
|
-
"@unchainedshop/mongodb": "^3.0.0
|
|
43
|
-
"@unchainedshop/plugins": "^3.0.0
|
|
44
|
-
"@unchainedshop/roles": "^3.0.0
|
|
45
|
-
"@unchainedshop/utils": "^3.0.0
|
|
37
|
+
"@unchainedshop/api": "^3.0.0",
|
|
38
|
+
"@unchainedshop/core": "^3.0.0",
|
|
39
|
+
"@unchainedshop/events": "^3.0.0",
|
|
40
|
+
"@unchainedshop/file-upload": "^3.0.0",
|
|
41
|
+
"@unchainedshop/logger": "^3.0.0",
|
|
42
|
+
"@unchainedshop/mongodb": "^3.0.0",
|
|
43
|
+
"@unchainedshop/plugins": "^3.0.0",
|
|
44
|
+
"@unchainedshop/roles": "^3.0.0",
|
|
45
|
+
"@unchainedshop/utils": "^3.0.0",
|
|
46
|
+
"mustache": "^4.2.0",
|
|
46
47
|
"safe-stable-stringify": "^2.5.0"
|
|
47
48
|
},
|
|
48
49
|
"devDependencies": {
|
|
49
|
-
"@types/
|
|
50
|
+
"@types/mustache": "^4.2.5",
|
|
51
|
+
"@types/node": "^22.10.5",
|
|
50
52
|
"jest": "^29.7.0",
|
|
51
53
|
"ts-jest": "^29.2.5",
|
|
52
|
-
"typescript": "^5.7.
|
|
54
|
+
"typescript": "^5.7.3"
|
|
53
55
|
}
|
|
54
56
|
}
|
package/src/startPlatform.ts
CHANGED
|
@@ -68,6 +68,10 @@ export const startPlatform = async ({
|
|
|
68
68
|
}> => {
|
|
69
69
|
exitOnMissingEnvironmentVariables();
|
|
70
70
|
|
|
71
|
+
const isWorkQueueEnabled = checkWorkQueueEnabled(workQueueOptions);
|
|
72
|
+
|
|
73
|
+
const configuredRoles = roles.configureRoles(rolesOptions);
|
|
74
|
+
|
|
71
75
|
// Configure database
|
|
72
76
|
const db = await initDb();
|
|
73
77
|
|
|
@@ -85,12 +89,10 @@ export const startPlatform = async ({
|
|
|
85
89
|
options,
|
|
86
90
|
});
|
|
87
91
|
|
|
88
|
-
const isWorkQueueEnabled = checkWorkQueueEnabled(workQueueOptions);
|
|
89
92
|
if (isWorkQueueEnabled) {
|
|
90
93
|
await runMigrations({ migrationRepository, unchainedAPI });
|
|
91
94
|
}
|
|
92
95
|
|
|
93
|
-
const configuredRoles = roles.configureRoles(rolesOptions);
|
|
94
96
|
const configuredEvents = getRegisteredEvents();
|
|
95
97
|
const configuredWorkTypes = WorkerDirector.getActivePluginTypes();
|
|
96
98
|
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import { Order } from '@unchainedshop/core-orders';
|
|
2
1
|
import { getOrderPositionsData } from './getOrderPositionsData.js';
|
|
3
2
|
import { getOrderSummaryData } from './getOrderSummaryData.js';
|
|
3
|
+
import { Order } from '@unchainedshop/core-orders';
|
|
4
|
+
import { UnchainedCore } from '@unchainedshop/core';
|
|
5
|
+
|
|
6
|
+
import mustache from 'mustache';
|
|
4
7
|
|
|
5
8
|
const textTemplate = `Order number: {{orderNumber}}
|
|
6
9
|
Ordered: {{orderDate}}
|
|
@@ -34,17 +37,19 @@ Total: {{summary.prices.gross}}
|
|
|
34
37
|
|
|
35
38
|
export const transformOrderToText = async (
|
|
36
39
|
{ order, locale }: { order: Order; locale: string },
|
|
37
|
-
context,
|
|
40
|
+
context: UnchainedCore,
|
|
38
41
|
) => {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
42
|
+
return mustache.render(
|
|
43
|
+
textTemplate,
|
|
44
|
+
{
|
|
45
|
+
orderDate: new Date(order.ordered).toLocaleString(),
|
|
46
|
+
orderNumber: order.orderNumber,
|
|
47
|
+
summary: await getOrderSummaryData(order, { locale }, context),
|
|
48
|
+
positions: await getOrderPositionsData(order, { locale }, context),
|
|
49
|
+
},
|
|
50
|
+
undefined,
|
|
51
|
+
{ escape: (t) => t },
|
|
52
|
+
);
|
|
48
53
|
};
|
|
49
54
|
|
|
50
55
|
export { getOrderPositionsData, getOrderSummaryData };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { TemplateResolver } from '@unchainedshop/core';
|
|
2
|
+
import mustache from 'mustache';
|
|
2
3
|
|
|
3
4
|
const { EMAIL_FROM, EMAIL_WEBSITE_URL, EMAIL_WEBSITE_NAME } = process.env;
|
|
4
5
|
|
|
@@ -96,12 +97,17 @@ export const resolveAccountActionTemplate: TemplateResolver = async (
|
|
|
96
97
|
const { url } = emailConfig[action];
|
|
97
98
|
const { subject, message, buttonText } = emailConfig[action][locale.language];
|
|
98
99
|
|
|
99
|
-
const
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
100
|
+
const text = mustache.render(
|
|
101
|
+
textTemplate,
|
|
102
|
+
{
|
|
103
|
+
buttonText,
|
|
104
|
+
message,
|
|
105
|
+
subject,
|
|
106
|
+
url: url(token),
|
|
107
|
+
},
|
|
108
|
+
undefined,
|
|
109
|
+
{ escape: (t) => t },
|
|
110
|
+
);
|
|
105
111
|
|
|
106
112
|
return [
|
|
107
113
|
{
|
|
@@ -110,7 +116,7 @@ export const resolveAccountActionTemplate: TemplateResolver = async (
|
|
|
110
116
|
from: EMAIL_FROM || 'noreply@unchained.local',
|
|
111
117
|
to: recipientEmail || modules.users.primaryEmail(user)?.address,
|
|
112
118
|
subject,
|
|
113
|
-
text
|
|
119
|
+
text,
|
|
114
120
|
},
|
|
115
121
|
},
|
|
116
122
|
];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TemplateResolver } from '@unchainedshop/core';
|
|
2
|
-
|
|
2
|
+
import mustache from 'mustache';
|
|
3
3
|
const { EMAIL_FROM, EMAIL_WEBSITE_NAME, EMAIL_WEBSITE_URL } = process.env;
|
|
4
4
|
|
|
5
5
|
const textTemplate = `
|
|
@@ -22,12 +22,17 @@ export const resolveEnrollmentStatusTemplate: TemplateResolver = async (
|
|
|
22
22
|
|
|
23
23
|
const subject = `${EMAIL_WEBSITE_NAME}: Updated Enrollment / ${enrollment.enrollmentNumber}`;
|
|
24
24
|
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
const text = mustache.render(
|
|
26
|
+
textTemplate,
|
|
27
|
+
{
|
|
28
|
+
enrollment,
|
|
29
|
+
locale,
|
|
30
|
+
subject,
|
|
31
|
+
url: `${EMAIL_WEBSITE_URL}/enrollment?_id=${enrollment._id}`,
|
|
32
|
+
},
|
|
33
|
+
undefined,
|
|
34
|
+
{ escape: (t) => t },
|
|
35
|
+
);
|
|
31
36
|
|
|
32
37
|
return [
|
|
33
38
|
{
|
|
@@ -36,7 +41,7 @@ export const resolveEnrollmentStatusTemplate: TemplateResolver = async (
|
|
|
36
41
|
from: EMAIL_FROM || 'noreply@unchained.local',
|
|
37
42
|
to: modules.users.primaryEmail(user)?.address,
|
|
38
43
|
subject,
|
|
39
|
-
text
|
|
44
|
+
text,
|
|
40
45
|
},
|
|
41
46
|
},
|
|
42
47
|
];
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TemplateResolver } from '@unchainedshop/core';
|
|
2
2
|
import { stringify } from 'safe-stable-stringify';
|
|
3
|
+
import mustache from 'mustache';
|
|
3
4
|
|
|
4
5
|
const {
|
|
5
6
|
EMAIL_FROM = 'noreply@unchained.local',
|
|
@@ -26,8 +27,17 @@ Shop Name: {{name}}
|
|
|
26
27
|
{{content}}
|
|
27
28
|
`;
|
|
28
29
|
|
|
29
|
-
const resolveErrorReportTemplate: TemplateResolver = async ({ workItems }
|
|
30
|
-
const
|
|
30
|
+
const resolveErrorReportTemplate: TemplateResolver = async ({ workItems }) => {
|
|
31
|
+
const text = mustache.render(
|
|
32
|
+
textTemplate,
|
|
33
|
+
{
|
|
34
|
+
endpoint: ROOT_URL,
|
|
35
|
+
content: formatWorkItems(workItems),
|
|
36
|
+
name: EMAIL_WEBSITE_NAME,
|
|
37
|
+
},
|
|
38
|
+
undefined,
|
|
39
|
+
{ escape: (t) => t },
|
|
40
|
+
);
|
|
31
41
|
|
|
32
42
|
return [
|
|
33
43
|
{
|
|
@@ -36,11 +46,7 @@ const resolveErrorReportTemplate: TemplateResolver = async ({ workItems }, conte
|
|
|
36
46
|
from: EMAIL_FROM || 'noreply@unchained.local',
|
|
37
47
|
to: EMAIL_ERROR_REPORT_RECIPIENT,
|
|
38
48
|
subject: `${EMAIL_WEBSITE_NAME}: Queue Errors`,
|
|
39
|
-
text
|
|
40
|
-
endpoint: ROOT_URL,
|
|
41
|
-
content: formatWorkItems(workItems),
|
|
42
|
-
name: EMAIL_WEBSITE_NAME,
|
|
43
|
-
}),
|
|
49
|
+
text,
|
|
44
50
|
},
|
|
45
51
|
},
|
|
46
52
|
];
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { TemplateResolver } from '@unchainedshop/core';
|
|
2
2
|
import { systemLocale } from '@unchainedshop/utils';
|
|
3
3
|
import { transformOrderToText } from './order-parser/index.js';
|
|
4
|
+
import mustache from 'mustache';
|
|
4
5
|
|
|
5
6
|
const { EMAIL_FROM, EMAIL_WEBSITE_NAME, EMAIL_WEBSITE_URL } = process.env;
|
|
6
7
|
|
|
@@ -25,11 +26,16 @@ export const resolveForwardDeliveryTemplate: TemplateResolver = async ({ config,
|
|
|
25
26
|
|
|
26
27
|
const subject = `${EMAIL_WEBSITE_NAME} Order ${order.orderNumber}`;
|
|
27
28
|
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
const text = mustache.render(
|
|
30
|
+
textTemplate,
|
|
31
|
+
{
|
|
32
|
+
shopName: EMAIL_WEBSITE_NAME,
|
|
33
|
+
shopUrl: EMAIL_WEBSITE_URL,
|
|
34
|
+
orderDetails: await transformOrderToText({ order, locale: systemLocale.baseName }, context),
|
|
35
|
+
},
|
|
36
|
+
undefined,
|
|
37
|
+
{ escape: (t) => t },
|
|
38
|
+
);
|
|
33
39
|
|
|
34
40
|
return [
|
|
35
41
|
{
|
|
@@ -39,7 +45,7 @@ export const resolveForwardDeliveryTemplate: TemplateResolver = async ({ config,
|
|
|
39
45
|
to: configObject.to || 'orders@unchained.local',
|
|
40
46
|
cc: configObject.cc,
|
|
41
47
|
subject,
|
|
42
|
-
text
|
|
48
|
+
text,
|
|
43
49
|
},
|
|
44
50
|
},
|
|
45
51
|
];
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TemplateResolver } from '@unchainedshop/core';
|
|
2
2
|
import { transformOrderToText } from './order-parser/index.js';
|
|
3
|
+
import mustache from 'mustache';
|
|
3
4
|
|
|
4
5
|
const { EMAIL_FROM, EMAIL_WEBSITE_NAME, EMAIL_WEBSITE_URL } = process.env;
|
|
5
6
|
|
|
@@ -24,11 +25,16 @@ export const resolveOrderConfirmationTemplate: TemplateResolver<{
|
|
|
24
25
|
|
|
25
26
|
const subject = `Order ${order.orderNumber}`;
|
|
26
27
|
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
const text = mustache.render(
|
|
29
|
+
textTemplate,
|
|
30
|
+
{
|
|
31
|
+
shopName: EMAIL_WEBSITE_NAME,
|
|
32
|
+
shopUrl: EMAIL_WEBSITE_URL,
|
|
33
|
+
orderDetails: await transformOrderToText({ order, locale }, context),
|
|
34
|
+
},
|
|
35
|
+
undefined,
|
|
36
|
+
{ escape: (t) => t },
|
|
37
|
+
);
|
|
32
38
|
|
|
33
39
|
return [
|
|
34
40
|
{
|
|
@@ -37,7 +43,7 @@ export const resolveOrderConfirmationTemplate: TemplateResolver<{
|
|
|
37
43
|
from: `${EMAIL_WEBSITE_NAME} <${EMAIL_FROM || 'noreply@unchained.local'}>`,
|
|
38
44
|
to: order.contact.emailAddress,
|
|
39
45
|
subject,
|
|
40
|
-
text
|
|
46
|
+
text,
|
|
41
47
|
},
|
|
42
48
|
},
|
|
43
49
|
];
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TemplateResolver } from '@unchainedshop/core';
|
|
2
2
|
import { transformOrderToText } from './order-parser/index.js';
|
|
3
|
+
import mustache from 'mustache';
|
|
3
4
|
|
|
4
5
|
const { EMAIL_FROM, EMAIL_WEBSITE_NAME, EMAIL_WEBSITE_URL } = process.env;
|
|
5
6
|
|
|
@@ -25,11 +26,16 @@ export const resolveOrderRejectionTemplate: TemplateResolver = async ({ orderId,
|
|
|
25
26
|
|
|
26
27
|
const subject = `Order rejected ${order.orderNumber}`;
|
|
27
28
|
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
const text = mustache.render(
|
|
30
|
+
textTemplate,
|
|
31
|
+
{
|
|
32
|
+
shopName: EMAIL_WEBSITE_NAME,
|
|
33
|
+
shopUrl: EMAIL_WEBSITE_URL,
|
|
34
|
+
orderDetails: await transformOrderToText({ order, locale }, context),
|
|
35
|
+
},
|
|
36
|
+
undefined,
|
|
37
|
+
{ escape: (t) => t },
|
|
38
|
+
);
|
|
33
39
|
|
|
34
40
|
return [
|
|
35
41
|
{
|
|
@@ -38,7 +44,7 @@ export const resolveOrderRejectionTemplate: TemplateResolver = async ({ orderId,
|
|
|
38
44
|
from: `${EMAIL_WEBSITE_NAME} <${EMAIL_FROM || 'noreply@unchained.local'}>`,
|
|
39
45
|
to: order.contact.emailAddress,
|
|
40
46
|
subject,
|
|
41
|
-
text
|
|
47
|
+
text,
|
|
42
48
|
},
|
|
43
49
|
},
|
|
44
50
|
];
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { TemplateResolver } from '@unchainedshop/core';
|
|
2
|
+
import mustache from 'mustache';
|
|
2
3
|
|
|
3
4
|
const { EMAIL_FROM, EMAIL_WEBSITE_NAME, EMAIL_WEBSITE_URL } = process.env;
|
|
4
5
|
|
|
@@ -32,12 +33,17 @@ export const resolveQuotationStatusTemplate: TemplateResolver = async (
|
|
|
32
33
|
|
|
33
34
|
const subject = `${EMAIL_WEBSITE_NAME}: Updated Quotation / ${quotation.quotationNumber}`;
|
|
34
35
|
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
36
|
+
const text = mustache.render(
|
|
37
|
+
textTemplate,
|
|
38
|
+
{
|
|
39
|
+
locale,
|
|
40
|
+
quotation,
|
|
41
|
+
subject,
|
|
42
|
+
url: `${EMAIL_WEBSITE_URL}/quotation?_id=${quotation._id}`,
|
|
43
|
+
},
|
|
44
|
+
undefined,
|
|
45
|
+
{ escape: (t) => t },
|
|
46
|
+
);
|
|
41
47
|
|
|
42
48
|
return [
|
|
43
49
|
{
|
|
@@ -46,7 +52,7 @@ export const resolveQuotationStatusTemplate: TemplateResolver = async (
|
|
|
46
52
|
from: EMAIL_FROM,
|
|
47
53
|
to: modules.users.primaryEmail(user)?.address,
|
|
48
54
|
subject,
|
|
49
|
-
text
|
|
55
|
+
text,
|
|
50
56
|
attachments,
|
|
51
57
|
},
|
|
52
58
|
},
|