@codee-sh/medusa-plugin-notification-emails 0.2.1 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.medusa/server/emails-previews/contact-form.js +5 -4
- package/.medusa/server/emails-previews/inventory-level.js +5 -4
- package/.medusa/server/emails-previews/order-completed.js +5 -4
- package/.medusa/server/emails-previews/order-placed.js +5 -4
- package/.medusa/server/medusa-config.js +20 -0
- package/.medusa/server/src/admin/index.js +17284 -2259
- package/.medusa/server/src/admin/index.mjs +17135 -2127
- package/.medusa/server/src/api/admin/mpn/available-templates/route.js +14 -0
- package/.medusa/server/src/api/admin/mpn/events/route.js +20 -0
- package/.medusa/server/src/api/admin/mpn/notifications/route.js +31 -0
- package/.medusa/server/src/api/admin/mpn/render-template/route.js +36 -0
- package/.medusa/server/src/api/admin/mpn/templates/[id]/blocks/route.js +119 -0
- package/.medusa/server/src/api/admin/mpn/templates/route.js +72 -0
- package/.medusa/server/src/api/admin/mpn/templates/types/[type]/services/[service]/templates/route.js +18 -0
- package/.medusa/server/src/api/admin/mpn/templates/types/[type]/services/route.js +16 -0
- package/.medusa/server/src/api/admin/mpn/templates/types/route.js +13 -0
- package/.medusa/server/src/api/middlewares.js +69 -3
- package/.medusa/server/src/hooks/api/available-templates/available-templates.js +37 -0
- package/.medusa/server/src/hooks/api/available-templates/index.js +18 -0
- package/.medusa/server/src/hooks/api/events.js +3 -3
- package/.medusa/server/src/hooks/api/notifications.js +4 -4
- package/.medusa/server/src/hooks/api/orders.js +3 -6
- package/.medusa/server/src/hooks/api/preview.js +6 -6
- package/.medusa/server/src/hooks/api/templates/blocks/blocks.js +49 -0
- package/.medusa/server/src/hooks/api/templates/blocks/index.js +18 -0
- package/.medusa/server/src/hooks/api/templates/index.js +18 -0
- package/.medusa/server/src/hooks/api/templates/services/index.js +18 -0
- package/.medusa/server/src/hooks/api/templates/services/services.js +36 -0
- package/.medusa/server/src/hooks/api/templates/services/templates/index.js +18 -0
- package/.medusa/server/src/hooks/api/templates/services/templates/templates.js +38 -0
- package/.medusa/server/src/hooks/api/templates/templates.js +74 -0
- package/.medusa/server/src/hooks/api/templates/types/index.js +18 -0
- package/.medusa/server/src/hooks/api/templates/types/types.js +34 -0
- package/.medusa/server/src/modules/mpn-builder/index.js +13 -0
- package/.medusa/server/src/modules/mpn-builder/migrations/Migration20260126192907.js +23 -0
- package/.medusa/server/src/modules/mpn-builder/migrations/Migration20260129194255.js +20 -0
- package/.medusa/server/src/modules/mpn-builder/migrations/Migration20260202123904.js +14 -0
- package/.medusa/server/src/modules/mpn-builder/models/builder_template.js +32 -0
- package/.medusa/server/src/modules/mpn-builder/models/builder_template_block.js +30 -0
- package/.medusa/server/src/modules/mpn-builder/models/index.js +11 -0
- package/.medusa/server/src/modules/mpn-builder/service.js +167 -0
- package/.medusa/server/src/modules/mpn-builder/services-local/base-template-service.js +123 -0
- package/.medusa/server/src/modules/mpn-builder/services-local/email-template-service.js +402 -0
- package/.medusa/server/src/modules/mpn-builder/services-local/index.js +13 -0
- package/.medusa/server/src/modules/mpn-builder/services-local/slack-template-service.js +452 -0
- package/.medusa/server/src/modules/mpn-builder/types/constants.js +14 -0
- package/.medusa/server/src/modules/mpn-builder/types/index.js +24 -0
- package/.medusa/server/src/modules/mpn-builder/types/interfaces.js +3 -0
- package/.medusa/server/src/modules/mpn-builder/types/template-service-interface.js +3 -0
- package/.medusa/server/src/{templates/emails/blocks → modules/mpn-builder/types}/types.js +1 -1
- package/.medusa/server/src/subscribers/order-completed.js +17 -14
- package/.medusa/server/src/subscribers/order-placed.js +29 -17
- package/.medusa/server/src/templates/emails/base-template/index.js +1 -1
- package/.medusa/server/src/templates/emails/base-template/template.js +2 -2
- package/.medusa/server/src/templates/emails/blocks/components/group.js +14 -0
- package/.medusa/server/src/templates/emails/blocks/components/heading.js +1 -1
- package/.medusa/server/src/templates/emails/blocks/components/product-item.js +4 -3
- package/.medusa/server/src/templates/emails/blocks/components/repeater.js +1 -1
- package/.medusa/server/src/templates/emails/blocks/components/row.js +4 -2
- package/.medusa/server/src/templates/emails/blocks/components/section.js +1 -1
- package/.medusa/server/src/templates/emails/blocks/components/separator.js +2 -2
- package/.medusa/server/src/templates/emails/blocks/components/text.js +2 -2
- package/.medusa/server/src/templates/emails/blocks/index.js +5 -2
- package/.medusa/server/src/templates/emails/contact-form/config.js +4 -4
- package/.medusa/server/src/templates/emails/contact-form/index.js +1 -1
- package/.medusa/server/src/templates/emails/index.js +1 -10
- package/.medusa/server/src/templates/emails/inventory-level/config.js +4 -4
- package/.medusa/server/src/templates/emails/inventory-level/index.js +1 -1
- package/.medusa/server/src/templates/emails/inventory-level/translations/index.js +1 -1
- package/.medusa/server/src/templates/emails/order/completed/config.js +7 -7
- package/.medusa/server/src/templates/emails/order/completed/index.js +1 -1
- package/.medusa/server/src/templates/emails/order/completed/translations/index.js +1 -1
- package/.medusa/server/src/templates/emails/order/placed/config.js +7 -7
- package/.medusa/server/src/templates/emails/order/placed/index.js +1 -1
- package/.medusa/server/src/templates/emails/order/placed/translations/index.js +1 -1
- package/.medusa/server/src/templates/emails/order/updated/config.js +7 -7
- package/.medusa/server/src/templates/emails/order/updated/index.js +1 -1
- package/.medusa/server/src/templates/emails/order/updated/translations/index.js +1 -1
- package/.medusa/server/src/templates/emails/types/index.js +18 -0
- package/.medusa/server/src/templates/emails/types/types.js +12 -0
- package/.medusa/server/src/templates/shared/abstract-template-service.js +4 -2
- package/.medusa/server/src/templates/shared/theme/index.js +1 -1
- package/.medusa/server/src/templates/shared/theme/presets/default/index.js +1 -1
- package/.medusa/server/src/templates/shared/utils/index.js +1 -1
- package/.medusa/server/src/templates/slack/index.js +1 -10
- package/.medusa/server/src/templates/slack/inventory-level/config.js +5 -5
- package/.medusa/server/src/templates/slack/inventory-level/index.js +1 -1
- package/.medusa/server/src/templates/slack/order/archived/config.js +1 -1
- package/.medusa/server/src/templates/slack/order/archived/index.js +1 -1
- package/.medusa/server/src/templates/slack/order/archived/translations/index.js +1 -1
- package/.medusa/server/src/templates/slack/order/canceled/config.js +1 -1
- package/.medusa/server/src/templates/slack/order/canceled/index.js +1 -1
- package/.medusa/server/src/templates/slack/order/canceled/translations/index.js +1 -1
- package/.medusa/server/src/templates/slack/order/completed/config.js +1 -1
- package/.medusa/server/src/templates/slack/order/completed/index.js +1 -1
- package/.medusa/server/src/templates/slack/order/completed/translations/index.js +1 -1
- package/.medusa/server/src/templates/slack/order/placed/config.js +1 -1
- package/.medusa/server/src/templates/slack/order/placed/index.js +1 -1
- package/.medusa/server/src/templates/slack/order/placed/translations/index.js +1 -1
- package/.medusa/server/src/templates/slack/order/updated/config.js +1 -1
- package/.medusa/server/src/templates/slack/order/updated/index.js +1 -1
- package/.medusa/server/src/templates/slack/order/updated/translations/index.js +1 -1
- package/.medusa/server/src/templates/slack/product/config.js +2 -2
- package/.medusa/server/src/templates/slack/product/index.js +1 -1
- package/.medusa/server/src/templates/slack/product-variant/config.js +2 -2
- package/.medusa/server/src/templates/slack/product-variant/index.js +1 -1
- package/.medusa/server/src/templates/slack/types/index.js +18 -0
- package/.medusa/server/src/templates/slack/types/types.js +15 -0
- package/.medusa/server/src/utils/addresses.js +4 -2
- package/.medusa/server/src/utils/data/countries.js +1 -1
- package/.medusa/server/src/utils/data/country-states.js +1 -1
- package/.medusa/server/src/utils/data/modules/inventory/inventory.js +6 -2
- package/.medusa/server/src/utils/data/modules/order/order.js +43 -42
- package/.medusa/server/src/utils/data/modules/product/helpers.js +1 -1
- package/.medusa/server/src/utils/data/modules/product/product.js +27 -7
- package/.medusa/server/src/utils/data/modules/product-category/product-category.js +19 -5
- package/.medusa/server/src/utils/data/modules/product-tag/product-tag.js +16 -4
- package/.medusa/server/src/utils/data/modules/product-type/product-type.js +16 -4
- package/.medusa/server/src/utils/data/modules/product-variant/product-variant.js +19 -5
- package/.medusa/server/src/utils/dnd/handle-drag-end.js +22 -0
- package/.medusa/server/src/utils/dnd/index.js +6 -0
- package/.medusa/server/src/utils/i18n/i18n.js +6 -5
- package/.medusa/server/src/utils/index.js +4 -1
- package/.medusa/server/src/utils/money-amount-helpers.js +9 -4
- package/.medusa/server/src/utils/omit.js +1 -1
- package/.medusa/server/src/utils/payment.js +1 -1
- package/.medusa/server/src/utils/pick-value-from-object.js +4 -2
- package/.medusa/server/src/utils/plugins.js +4 -2
- package/.medusa/server/src/utils/string-helpers.js +21 -0
- package/.medusa/server/src/utils/transforms/index.js +2 -2
- package/.medusa/server/src/utils/transforms/order-transformer.js +22 -8
- package/.medusa/server/src/utils/tree.js +34 -0
- package/.medusa/server/src/workflows/mpn-builder/create-template.js +24 -0
- package/.medusa/server/src/workflows/mpn-builder/delete-template.js +24 -0
- package/.medusa/server/src/workflows/mpn-builder/edit-template-blocks.js +26 -0
- package/.medusa/server/src/workflows/mpn-builder/edit-template.js +25 -0
- package/.medusa/server/src/workflows/mpn-builder/get-blocks-by-template-id.js +23 -0
- package/.medusa/server/src/workflows/mpn-builder/get-services-types-templates.js +23 -0
- package/.medusa/server/src/workflows/mpn-builder/get-template.js +28 -0
- package/.medusa/server/src/workflows/mpn-builder/get-templates-by-type-service.js +22 -0
- package/.medusa/server/src/workflows/mpn-builder/get-templates-services.js +21 -0
- package/.medusa/server/src/workflows/mpn-builder/get-templates-types.js +19 -0
- package/.medusa/server/src/workflows/mpn-builder/index.js +21 -0
- package/.medusa/server/src/workflows/mpn-builder/steps/create-template.js +28 -0
- package/.medusa/server/src/workflows/mpn-builder/steps/delete-template.js +22 -0
- package/.medusa/server/src/workflows/mpn-builder/steps/edit-template-blocks.js +128 -0
- package/.medusa/server/src/workflows/mpn-builder/steps/edit-template.js +29 -0
- package/.medusa/server/src/workflows/mpn-builder/steps/get-blocks-by-template-id.js +61 -0
- package/.medusa/server/src/workflows/mpn-builder/steps/get-services-types-templates.js +53 -0
- package/.medusa/server/src/workflows/mpn-builder/steps/get-template-services.js +24 -0
- package/.medusa/server/src/workflows/mpn-builder/steps/get-template-types.js +22 -0
- package/.medusa/server/src/workflows/mpn-builder/steps/get-template.js +71 -0
- package/.medusa/server/src/workflows/mpn-builder/steps/get-templates-by-type-service.js +45 -0
- package/.medusa/server/src/workflows/mpn-builder/steps/index.js +21 -0
- package/.medusa/server/src/workflows/mpn-builder-services/email-service.js +32 -0
- package/.medusa/server/src/workflows/mpn-builder-services/slack-service.js +33 -0
- package/.medusa/server/src/workflows/mpn-builder-services/steps/email-service.js +69 -0
- package/.medusa/server/src/workflows/mpn-builder-services/steps/slack-service.js +67 -0
- package/.medusa/server/src/workflows/order/steps/get-order-by-id.js +1 -1
- package/.medusa/server/src/workflows/region/get-region-by-id.js +25 -0
- package/.medusa/server/src/workflows/region/index.js +18 -0
- package/.medusa/server/src/workflows/region/steps/get-region-by-id.js +26 -0
- package/.medusa/server/src/workflows/region/steps/index.js +18 -0
- package/.medusa/server/src/workflows/steps/log-step.js +16 -0
- package/.medusa/server/src/workflows/store/get-store-by-id.js +23 -0
- package/.medusa/server/src/workflows/store/index.js +18 -0
- package/.medusa/server/src/workflows/store/steps/get-store-by-id.js +25 -0
- package/.medusa/server/src/workflows/store/steps/index.js +18 -0
- package/README.md +40 -103
- package/package.json +21 -8
- package/.medusa/server/src/api/admin/notification-plugin/events/route.js +0 -20
- package/.medusa/server/src/api/admin/notification-plugin/notifications/route.js +0 -31
- package/.medusa/server/src/api/admin/notification-plugin/render-template/route.js +0 -33
- package/.medusa/server/src/templates/emails/email-template-service.js +0 -210
- package/.medusa/server/src/templates/emails/types.js +0 -12
- package/.medusa/server/src/templates/slack/slack-template-service.js +0 -219
- package/.medusa/server/src/templates/slack/types.js +0 -15
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GET = GET;
|
|
4
|
-
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
-
async function GET(req, res) {
|
|
6
|
-
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
7
|
-
const { resource_id, resource_type } = req.query;
|
|
8
|
-
const filters = {};
|
|
9
|
-
if (resource_id) {
|
|
10
|
-
filters.resource_id = {
|
|
11
|
-
$eq: resource_id,
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
if (resource_type) {
|
|
15
|
-
filters.resource_type = {
|
|
16
|
-
$eq: resource_type,
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
const { data: notifications, metadata: { count, take, skip } = {} } = await query.graph({
|
|
20
|
-
entity: "notification",
|
|
21
|
-
filters: filters,
|
|
22
|
-
...req.queryConfig
|
|
23
|
-
});
|
|
24
|
-
res.json({
|
|
25
|
-
notifications: notifications,
|
|
26
|
-
count: count || 0,
|
|
27
|
-
limit: take || 15,
|
|
28
|
-
offset: skip || 0,
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL25vdGlmaWNhdGlvbi1wbHVnaW4vbm90aWZpY2F0aW9ucy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBLGtCQWdDQztBQWxDRCxxREFBa0Y7QUFFM0UsS0FBSyxVQUFVLEdBQUcsQ0FDdkIsR0FBdUIsRUFDdkIsR0FBbUI7SUFFbkIsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEUsTUFBTSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFBO0lBQ2hELE1BQU0sT0FBTyxHQUFRLEVBQUUsQ0FBQTtJQUV2QixJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2hCLE9BQU8sQ0FBQyxXQUFXLEdBQUc7WUFDcEIsR0FBRyxFQUFFLFdBQVc7U0FDakIsQ0FBQTtJQUNILENBQUM7SUFFRCxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ2xCLE9BQU8sQ0FBQyxhQUFhLEdBQUc7WUFDdEIsR0FBRyxFQUFFLGFBQWE7U0FDbkIsQ0FBQTtJQUNILENBQUM7SUFFRCxNQUFNLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN0RixNQUFNLEVBQUUsY0FBYztRQUN0QixPQUFPLEVBQUUsT0FBTztRQUNoQixHQUFHLEdBQUcsQ0FBQyxXQUFXO0tBQ25CLENBQUMsQ0FBQTtJQUVGLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDUCxhQUFhLEVBQUUsYUFBYTtRQUM1QixLQUFLLEVBQUUsS0FBSyxJQUFJLENBQUM7UUFDakIsS0FBSyxFQUFFLElBQUksSUFBSSxFQUFFO1FBQ2pCLE1BQU0sRUFBRSxJQUFJLElBQUksQ0FBQztLQUNsQixDQUFDLENBQUE7QUFDSixDQUFDIn0=
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.POST = POST;
|
|
4
|
-
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
-
const theme_1 = require("../../../../templates/shared/theme");
|
|
6
|
-
const emails_1 = require("../../../../templates/emails");
|
|
7
|
-
const transforms_1 = require("../../../../utils/transforms");
|
|
8
|
-
const plugins_1 = require("../../../../utils/plugins");
|
|
9
|
-
async function POST(req, res) {
|
|
10
|
-
const pluginOptions = (0, plugins_1.getPluginOptions)(req.scope, "@codee-sh/medusa-plugin-notification");
|
|
11
|
-
const templateName = req.body?.templateName;
|
|
12
|
-
const context = req.body?.context;
|
|
13
|
-
const contextType = req.body?.contextType;
|
|
14
|
-
const locale = req.body?.locale || "pl";
|
|
15
|
-
if (!templateName || !context || !locale) {
|
|
16
|
-
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_ARGUMENT, "Template name, template data and locale are required");
|
|
17
|
-
}
|
|
18
|
-
const transformedTemplateData = (0, transforms_1.transformContext)(contextType, context, locale);
|
|
19
|
-
const { html, text } = await emails_1.emailService.render({
|
|
20
|
-
templateName,
|
|
21
|
-
data: transformedTemplateData,
|
|
22
|
-
options: {
|
|
23
|
-
locale: locale,
|
|
24
|
-
theme: pluginOptions?.theme || theme_1.defaultTheme,
|
|
25
|
-
translations: pluginOptions?.customTranslations?.[templateName]
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
res.status(200).json({
|
|
29
|
-
html,
|
|
30
|
-
text,
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL25vdGlmaWNhdGlvbi1wbHVnaW4vcmVuZGVyLXRlbXBsYXRlL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBT0Esb0JBZ0NDO0FBdENELHFEQUF1RDtBQUN2RCw4REFBaUU7QUFDakUseURBQTRFO0FBQzVFLDZEQUErRDtBQUMvRCx1REFBNEQ7QUFFckQsS0FBSyxVQUFVLElBQUksQ0FDeEIsR0FBNEYsRUFDNUYsR0FBbUI7SUFFbkIsTUFBTSxhQUFhLEdBQUcsSUFBQSwwQkFBZ0IsRUFBQyxHQUFHLENBQUMsS0FBSyxFQUFFLHNDQUFzQyxDQUFDLENBQUE7SUFFekYsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxZQUFZLENBQUE7SUFDM0MsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUE7SUFDakMsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUE7SUFFekMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLElBQUksSUFBSSxDQUFBO0lBRXZDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN6QyxNQUFNLElBQUksbUJBQVcsQ0FBQyxtQkFBVyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxzREFBc0QsQ0FBQyxDQUFBO0lBQ25ILENBQUM7SUFFRCxNQUFNLHVCQUF1QixHQUFHLElBQUEsNkJBQWdCLEVBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUU5RSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0scUJBQVksQ0FBQyxNQUFNLENBQUM7UUFDL0MsWUFBWTtRQUNaLElBQUksRUFBRSx1QkFBdUI7UUFDN0IsT0FBTyxFQUFFO1lBQ1AsTUFBTSxFQUFFLE1BQU07WUFDZCxLQUFLLEVBQUUsYUFBYSxFQUFFLEtBQUssSUFBSSxvQkFBWTtZQUMzQyxZQUFZLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLENBQUMsWUFBWSxDQUFDO1NBQ2hFO0tBQ0YsQ0FBQyxDQUFBO0lBRUYsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDbkIsSUFBSTtRQUNKLElBQUk7S0FDTCxDQUFDLENBQUE7QUFDSixDQUFDIn0=
|
|
@@ -1,210 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EmailTemplateService = void 0;
|
|
4
|
-
const abstract_template_service_1 = require("../shared/abstract-template-service");
|
|
5
|
-
const utils_1 = require("../../utils");
|
|
6
|
-
const base_template_1 = require("./base-template");
|
|
7
|
-
const contact_form_1 = require("./contact-form");
|
|
8
|
-
const inventory_level_1 = require("./inventory-level");
|
|
9
|
-
const placed_1 = require("./order/placed");
|
|
10
|
-
const completed_1 = require("./order/completed");
|
|
11
|
-
const updated_1 = require("./order/updated");
|
|
12
|
-
const types_1 = require("./types");
|
|
13
|
-
/**
|
|
14
|
-
* Email template service
|
|
15
|
-
* Handles registration and rendering of email templates
|
|
16
|
-
*/
|
|
17
|
-
class EmailTemplateService extends abstract_template_service_1.AbstractTemplateService {
|
|
18
|
-
constructor() {
|
|
19
|
-
super();
|
|
20
|
-
this.baseTemplateConfig = {
|
|
21
|
-
getHtml: async (data, options) => {
|
|
22
|
-
return await (0, base_template_1.getBaseTemplateHtml)(data, options);
|
|
23
|
-
},
|
|
24
|
-
getText: async (data, options) => {
|
|
25
|
-
return await (0, base_template_1.getBaseTemplateText)(data, options);
|
|
26
|
-
},
|
|
27
|
-
getReactNode: (data, options) => {
|
|
28
|
-
return (0, base_template_1.getBaseTemplateReactNode)(data, options);
|
|
29
|
-
},
|
|
30
|
-
};
|
|
31
|
-
this.interpolateFunction = this.interpolateBlocks.bind(this);
|
|
32
|
-
// Register base template
|
|
33
|
-
this.registerTemplate(types_1.TEMPLATES_NAMES.BASE_TEMPLATE, this.baseTemplateConfig);
|
|
34
|
-
// Initialize default templates
|
|
35
|
-
this.initializeDefaultTemplates();
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Initialize default email templates
|
|
39
|
-
*/
|
|
40
|
-
initializeDefaultTemplates() {
|
|
41
|
-
// Contact form template
|
|
42
|
-
this.registerTemplate(types_1.TEMPLATES_NAMES.CONTACT_FORM, {
|
|
43
|
-
...this.baseTemplateConfig,
|
|
44
|
-
getConfig: () => {
|
|
45
|
-
return {
|
|
46
|
-
blocks: contact_form_1.templateBlocks,
|
|
47
|
-
translations: contact_form_1.translations,
|
|
48
|
-
};
|
|
49
|
-
},
|
|
50
|
-
});
|
|
51
|
-
// Order placed template
|
|
52
|
-
this.registerTemplate(types_1.TEMPLATES_NAMES.ORDER_PLACED, {
|
|
53
|
-
...this.baseTemplateConfig,
|
|
54
|
-
getConfig: () => {
|
|
55
|
-
return {
|
|
56
|
-
blocks: placed_1.templateBlocks,
|
|
57
|
-
translations: placed_1.translations,
|
|
58
|
-
};
|
|
59
|
-
},
|
|
60
|
-
});
|
|
61
|
-
// Order completed template
|
|
62
|
-
this.registerTemplate(types_1.TEMPLATES_NAMES.ORDER_COMPLETED, {
|
|
63
|
-
...this.baseTemplateConfig,
|
|
64
|
-
getConfig: () => {
|
|
65
|
-
return {
|
|
66
|
-
blocks: completed_1.templateBlocks,
|
|
67
|
-
translations: completed_1.translations,
|
|
68
|
-
};
|
|
69
|
-
},
|
|
70
|
-
});
|
|
71
|
-
// Order updated template
|
|
72
|
-
this.registerTemplate(types_1.TEMPLATES_NAMES.ORDER_UPDATED, {
|
|
73
|
-
...this.baseTemplateConfig,
|
|
74
|
-
getConfig: () => {
|
|
75
|
-
return {
|
|
76
|
-
blocks: updated_1.templateBlocks,
|
|
77
|
-
translations: updated_1.translations,
|
|
78
|
-
};
|
|
79
|
-
},
|
|
80
|
-
});
|
|
81
|
-
// Inventory level template
|
|
82
|
-
this.registerTemplate(types_1.TEMPLATES_NAMES.INVENTORY_LEVEL, {
|
|
83
|
-
...this.baseTemplateConfig,
|
|
84
|
-
getConfig: () => {
|
|
85
|
-
return {
|
|
86
|
-
blocks: inventory_level_1.templateBlocks,
|
|
87
|
-
translations: inventory_level_1.translations,
|
|
88
|
-
};
|
|
89
|
-
},
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Recursively interpolate text in blocks using the multiInterpolate function
|
|
94
|
-
* Processes props.[property] in each block and nested blocks
|
|
95
|
-
*
|
|
96
|
-
* @param blocks - Blocks to interpolate
|
|
97
|
-
* @param data - Data object for interpolation
|
|
98
|
-
* @param translator - Translator instance with t method (created using createTranslator function)
|
|
99
|
-
* @param config - Configuration object
|
|
100
|
-
* @returns Interpolated blocks
|
|
101
|
-
*
|
|
102
|
-
* @example
|
|
103
|
-
*
|
|
104
|
-
* const blocks = [ { type: "text", props: { value: "Order {{data.order.id}} - {{translations.headerTitle}}" } } ]
|
|
105
|
-
* const data = { order: { id: "123" } }
|
|
106
|
-
* const translator = translator instance (created using createTranslator function)
|
|
107
|
-
* const config = {}
|
|
108
|
-
*
|
|
109
|
-
* const interpolatedBlocks = interpolateBlocks(blocks, data, translator, config)
|
|
110
|
-
*
|
|
111
|
-
* Return: [ { type: "text", props: { value: "Order 123 - Order Confirmation" } } ]
|
|
112
|
-
*
|
|
113
|
-
*/
|
|
114
|
-
interpolateBlocks(blocks, data, translator, config) {
|
|
115
|
-
return blocks.map((block) => {
|
|
116
|
-
const processedBlock = { ...block };
|
|
117
|
-
// Process all string properties in props
|
|
118
|
-
if (processedBlock.props && typeof processedBlock.props === "object") {
|
|
119
|
-
const processedProps = { ...processedBlock.props };
|
|
120
|
-
// Iterate over all properties in props
|
|
121
|
-
for (const [key, value] of Object.entries(processedProps)) {
|
|
122
|
-
// Skip non-string values and special properties (blocks, itemBlocks, separator, arrayPath)
|
|
123
|
-
if (typeof value === "string" &&
|
|
124
|
-
key !== "blocks" &&
|
|
125
|
-
key !== "itemBlocks" &&
|
|
126
|
-
key !== "arrayPath") {
|
|
127
|
-
processedProps[key] = (0, utils_1.multiInterpolate)(value, data, translator, config);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
processedBlock.props = processedProps;
|
|
131
|
-
}
|
|
132
|
-
// Recursively process nested blocks
|
|
133
|
-
if (processedBlock.props?.blocks &&
|
|
134
|
-
Array.isArray(processedBlock.props.blocks)) {
|
|
135
|
-
processedBlock.props = {
|
|
136
|
-
...processedBlock.props,
|
|
137
|
-
blocks: this.interpolateBlocks(processedBlock.props.blocks, data, translator),
|
|
138
|
-
};
|
|
139
|
-
}
|
|
140
|
-
if (processedBlock.type === "repeater") {
|
|
141
|
-
const { arrayPath, itemBlocks } = processedBlock.props || {};
|
|
142
|
-
if (arrayPath && itemBlocks) {
|
|
143
|
-
const array = (0, utils_1.pickValueFromObject)(arrayPath, data);
|
|
144
|
-
if (Array.isArray(array) && array.length > 0) {
|
|
145
|
-
const interpolatedItemBlocks = array.map((item) => this.interpolateBlocks(itemBlocks, item, translator, {
|
|
146
|
-
arrayPath: arrayPath,
|
|
147
|
-
})[0]);
|
|
148
|
-
processedBlock.props = {
|
|
149
|
-
...processedBlock.props,
|
|
150
|
-
itemBlocks: interpolatedItemBlocks,
|
|
151
|
-
};
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
return processedBlock;
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Render email template
|
|
160
|
-
*
|
|
161
|
-
* @param params - Render parameters
|
|
162
|
-
* @returns Rendered email with html, text, and subject
|
|
163
|
-
*/
|
|
164
|
-
async render(params) {
|
|
165
|
-
if (!params.templateName) {
|
|
166
|
-
throw new Error("Template name is required");
|
|
167
|
-
}
|
|
168
|
-
const { template, blocks, translator } = this.prepareData({
|
|
169
|
-
templateName: params.templateName,
|
|
170
|
-
data: params.data,
|
|
171
|
-
options: params.options,
|
|
172
|
-
});
|
|
173
|
-
const options = {
|
|
174
|
-
...params.options,
|
|
175
|
-
blocks,
|
|
176
|
-
};
|
|
177
|
-
return {
|
|
178
|
-
html: await template.getHtml(params.data, options),
|
|
179
|
-
text: await template.getText(params.data, options),
|
|
180
|
-
subject: (0, utils_1.multiInterpolate)("{{translations.headerTitle}}", params.data, translator),
|
|
181
|
-
};
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Render email template synchronously (for previews)
|
|
185
|
-
*
|
|
186
|
-
* @param params - Render parameters
|
|
187
|
-
* @returns React node
|
|
188
|
-
*/
|
|
189
|
-
renderSync(params) {
|
|
190
|
-
if (!params.templateName) {
|
|
191
|
-
throw new Error("Template name is required");
|
|
192
|
-
}
|
|
193
|
-
const { template, blocks } = this.prepareData({
|
|
194
|
-
templateName: params.templateName,
|
|
195
|
-
data: params.data,
|
|
196
|
-
options: params.options,
|
|
197
|
-
});
|
|
198
|
-
const options = {
|
|
199
|
-
...params.options,
|
|
200
|
-
blocks,
|
|
201
|
-
};
|
|
202
|
-
return {
|
|
203
|
-
reactNode: template.getReactNode
|
|
204
|
-
? template.getReactNode(params.data, options)
|
|
205
|
-
: undefined,
|
|
206
|
-
};
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
exports.EmailTemplateService = EmailTemplateService;
|
|
210
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtdGVtcGxhdGUtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy90ZW1wbGF0ZXMvZW1haWxzL2VtYWlsLXRlbXBsYXRlLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbUZBRzRDO0FBQzVDLHVDQUdvQjtBQUNwQixtREFJd0I7QUFDeEIsaURBR3VCO0FBQ3ZCLHVEQUcwQjtBQUMxQiwyQ0FHdUI7QUFDdkIsaURBRzBCO0FBQzFCLDZDQUd3QjtBQUN4QixtQ0FJZ0I7QUFFaEI7OztHQUdHO0FBQ0gsTUFBYSxvQkFBcUIsU0FBUSxtREFBNEI7SUFDcEU7UUFDRSxLQUFLLEVBQUUsQ0FBQTtRQUVQLElBQUksQ0FBQyxrQkFBa0IsR0FBRztZQUN4QixPQUFPLEVBQUUsS0FBSyxFQUNaLElBQVMsRUFDVCxPQUE2QixFQUNaLEVBQUU7Z0JBQ25CLE9BQU8sTUFBTSxJQUFBLG1DQUFtQixFQUFDLElBQUksRUFBRSxPQUFjLENBQUMsQ0FBQTtZQUN4RCxDQUFDO1lBQ0QsT0FBTyxFQUFFLEtBQUssRUFDWixJQUFTLEVBQ1QsT0FBNkIsRUFDWixFQUFFO2dCQUNuQixPQUFPLE1BQU0sSUFBQSxtQ0FBbUIsRUFBQyxJQUFJLEVBQUUsT0FBYyxDQUFDLENBQUE7WUFDeEQsQ0FBQztZQUNELFlBQVksRUFBRSxDQUNaLElBQVMsRUFDVCxPQUE2QixFQUNaLEVBQUU7Z0JBQ25CLE9BQU8sSUFBQSx3Q0FBd0IsRUFBQyxJQUFJLEVBQUUsT0FBYyxDQUFDLENBQUE7WUFDdkQsQ0FBQztTQUNGLENBQUE7UUFFRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUU1RCx5QkFBeUI7UUFDekIsSUFBSSxDQUFDLGdCQUFnQixDQUNuQix1QkFBZSxDQUFDLGFBQWEsRUFDN0IsSUFBSSxDQUFDLGtCQUFrQixDQUN4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
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TEMPLATES_NAMES = void 0;
|
|
4
|
-
exports.TEMPLATES_NAMES = {
|
|
5
|
-
BASE_TEMPLATE: "base-template",
|
|
6
|
-
INVENTORY_LEVEL: "inventory-level",
|
|
7
|
-
ORDER_PLACED: "order-placed",
|
|
8
|
-
ORDER_COMPLETED: "order-completed",
|
|
9
|
-
ORDER_UPDATED: "order-updated",
|
|
10
|
-
CONTACT_FORM: "contact-form",
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdGVtcGxhdGVzL2VtYWlscy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFYSxRQUFBLGVBQWUsR0FBRztJQUM3QixhQUFhLEVBQUUsZUFBZTtJQUM5QixlQUFlLEVBQUUsaUJBQWlCO0lBQ2xDLFlBQVksRUFBRSxjQUFjO0lBQzVCLGVBQWUsRUFBRSxpQkFBaUI7SUFDbEMsYUFBYSxFQUFFLGVBQWU7SUFDOUIsWUFBWSxFQUFFLGNBQWM7Q0FDcEIsQ0FBQyJ9
|
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SlackTemplateService = void 0;
|
|
4
|
-
const abstract_template_service_1 = require("../shared/abstract-template-service");
|
|
5
|
-
const utils_1 = require("../../utils");
|
|
6
|
-
const inventory_level_1 = require("./inventory-level");
|
|
7
|
-
const product_1 = require("./product");
|
|
8
|
-
const product_variant_1 = require("./product-variant");
|
|
9
|
-
const placed_1 = require("./order/placed");
|
|
10
|
-
const completed_1 = require("./order/completed");
|
|
11
|
-
const updated_1 = require("./order/updated");
|
|
12
|
-
const canceled_1 = require("./order/canceled");
|
|
13
|
-
const archived_1 = require("./order/archived");
|
|
14
|
-
const types_1 = require("./types");
|
|
15
|
-
/**
|
|
16
|
-
* Slack template service
|
|
17
|
-
* Handles registration and rendering of Slack templates
|
|
18
|
-
*/
|
|
19
|
-
class SlackTemplateService extends abstract_template_service_1.AbstractTemplateService {
|
|
20
|
-
constructor() {
|
|
21
|
-
super();
|
|
22
|
-
this.baseTemplateConfig = {
|
|
23
|
-
getBlocks: async () => {
|
|
24
|
-
// Base template for Slack returns an empty array
|
|
25
|
-
return [];
|
|
26
|
-
},
|
|
27
|
-
};
|
|
28
|
-
this.interpolateFunction = this.interpolateSlackBlocks.bind(this);
|
|
29
|
-
// Register base template
|
|
30
|
-
this.registerTemplate(types_1.TEMPLATES_NAMES.BASE_TEMPLATE, this.baseTemplateConfig);
|
|
31
|
-
// Initialize default templates
|
|
32
|
-
this.initializeDefaultTemplates();
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Initialize default Slack templates
|
|
36
|
-
*/
|
|
37
|
-
initializeDefaultTemplates() {
|
|
38
|
-
// Inventory level template
|
|
39
|
-
this.registerTemplate(types_1.TEMPLATES_NAMES.INVENTORY_LEVEL, {
|
|
40
|
-
...this.baseTemplateConfig,
|
|
41
|
-
getConfig: () => {
|
|
42
|
-
return {
|
|
43
|
-
blocks: inventory_level_1.templateBlocks,
|
|
44
|
-
translations: inventory_level_1.translations,
|
|
45
|
-
};
|
|
46
|
-
},
|
|
47
|
-
});
|
|
48
|
-
// Product template
|
|
49
|
-
this.registerTemplate(types_1.TEMPLATES_NAMES.PRODUCT, {
|
|
50
|
-
...this.baseTemplateConfig,
|
|
51
|
-
getConfig: () => {
|
|
52
|
-
return {
|
|
53
|
-
blocks: product_1.templateBlocks,
|
|
54
|
-
translations: product_1.translations,
|
|
55
|
-
};
|
|
56
|
-
},
|
|
57
|
-
});
|
|
58
|
-
// Product variant template
|
|
59
|
-
this.registerTemplate(types_1.TEMPLATES_NAMES.PRODUCT_VARIANT, {
|
|
60
|
-
...this.baseTemplateConfig,
|
|
61
|
-
getConfig: () => {
|
|
62
|
-
return {
|
|
63
|
-
blocks: product_variant_1.templateBlocks,
|
|
64
|
-
translations: product_variant_1.translations,
|
|
65
|
-
};
|
|
66
|
-
},
|
|
67
|
-
});
|
|
68
|
-
// Order placed template
|
|
69
|
-
this.registerTemplate(types_1.TEMPLATES_NAMES.ORDER_PLACED, {
|
|
70
|
-
...this.baseTemplateConfig,
|
|
71
|
-
getConfig: () => {
|
|
72
|
-
return {
|
|
73
|
-
blocks: placed_1.templateBlocks,
|
|
74
|
-
translations: placed_1.translations,
|
|
75
|
-
};
|
|
76
|
-
},
|
|
77
|
-
});
|
|
78
|
-
// Order completed template
|
|
79
|
-
this.registerTemplate(types_1.TEMPLATES_NAMES.ORDER_COMPLETED, {
|
|
80
|
-
...this.baseTemplateConfig,
|
|
81
|
-
getConfig: () => {
|
|
82
|
-
return {
|
|
83
|
-
blocks: completed_1.templateBlocks,
|
|
84
|
-
translations: completed_1.translations,
|
|
85
|
-
};
|
|
86
|
-
},
|
|
87
|
-
});
|
|
88
|
-
// Order updated template
|
|
89
|
-
this.registerTemplate(types_1.TEMPLATES_NAMES.ORDER_UPDATED, {
|
|
90
|
-
...this.baseTemplateConfig,
|
|
91
|
-
getConfig: () => {
|
|
92
|
-
return {
|
|
93
|
-
blocks: updated_1.templateBlocks,
|
|
94
|
-
translations: updated_1.translations,
|
|
95
|
-
};
|
|
96
|
-
},
|
|
97
|
-
});
|
|
98
|
-
// Order canceled template
|
|
99
|
-
this.registerTemplate(types_1.TEMPLATES_NAMES.ORDER_CANCELED, {
|
|
100
|
-
...this.baseTemplateConfig,
|
|
101
|
-
getConfig: () => {
|
|
102
|
-
return {
|
|
103
|
-
blocks: canceled_1.templateBlocks,
|
|
104
|
-
translations: canceled_1.translations,
|
|
105
|
-
};
|
|
106
|
-
},
|
|
107
|
-
});
|
|
108
|
-
// Order archived template
|
|
109
|
-
this.registerTemplate(types_1.TEMPLATES_NAMES.ORDER_ARCHIVED, {
|
|
110
|
-
...this.baseTemplateConfig,
|
|
111
|
-
getConfig: () => {
|
|
112
|
-
return {
|
|
113
|
-
blocks: archived_1.templateBlocks,
|
|
114
|
-
translations: archived_1.translations,
|
|
115
|
-
};
|
|
116
|
-
},
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Recursively interpolate text in SlackBlock[] structure
|
|
121
|
-
* Finds all "text" properties in the entire tree and interpolates them
|
|
122
|
-
*/
|
|
123
|
-
interpolateSlackBlocks(blocks, data, translator, config) {
|
|
124
|
-
return blocks.map((block) => {
|
|
125
|
-
// Create fields array if fieldTemplate and fieldsPath is provided and array is not empty
|
|
126
|
-
if (block.type === "section" && block?.fieldTemplate) {
|
|
127
|
-
const { fieldsPath, fieldTemplate } = block || {};
|
|
128
|
-
if (fieldsPath && fieldTemplate) {
|
|
129
|
-
const array = (0, utils_1.pickValueFromObject)(fieldsPath, data);
|
|
130
|
-
if (Array.isArray(array) && array.length > 0) {
|
|
131
|
-
const interpolatedFieldBlocks = array.map((item) => {
|
|
132
|
-
return this.recursivelyInterpolateText(fieldTemplate, item, translator, {
|
|
133
|
-
arrayPath: fieldsPath,
|
|
134
|
-
});
|
|
135
|
-
});
|
|
136
|
-
block = {
|
|
137
|
-
...(0, utils_1.omit)(block, "fieldsPath", "fieldTemplate"),
|
|
138
|
-
fields: interpolatedFieldBlocks,
|
|
139
|
-
};
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
return this.recursivelyInterpolateText(block, data, translator, config);
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Recursively interpolate all "text" / "url" properties in an object
|
|
148
|
-
*/
|
|
149
|
-
recursivelyInterpolateText(node, data, translator, config) {
|
|
150
|
-
// If it's a string, interpolate it
|
|
151
|
-
if (typeof node === "string") {
|
|
152
|
-
return (0, utils_1.multiInterpolate)(node, data, translator, config);
|
|
153
|
-
}
|
|
154
|
-
// If it's an array, process each element recursively
|
|
155
|
-
if (Array.isArray(node)) {
|
|
156
|
-
return node.map((item) => {
|
|
157
|
-
return this.recursivelyInterpolateText(item, data, translator, config);
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
// If it's an object, process all properties
|
|
161
|
-
if (node && typeof node === "object") {
|
|
162
|
-
const processed = {};
|
|
163
|
-
for (const [key, value] of Object.entries(node)) {
|
|
164
|
-
// If key is "text" and value is a string, interpolate it
|
|
165
|
-
if ((key === "text" || key === "url") && typeof value === "string") {
|
|
166
|
-
processed[key] = (0, utils_1.multiInterpolate)(value, data, translator, config);
|
|
167
|
-
}
|
|
168
|
-
// If key is "text" and value is an object (e.g., { type: "plain_text", text: "..." })
|
|
169
|
-
else if (key === "text" && value && typeof value === "object") {
|
|
170
|
-
// Recursively process the text object (will interpolate text.text)
|
|
171
|
-
processed[key] = this.recursivelyInterpolateText(value, data, translator, config);
|
|
172
|
-
}
|
|
173
|
-
// If key is "elements" and value is an array
|
|
174
|
-
else if (key === "elements" && Array.isArray(value)) {
|
|
175
|
-
processed[key] = value.map((item) => {
|
|
176
|
-
return this.recursivelyInterpolateText(item, data, translator, config);
|
|
177
|
-
});
|
|
178
|
-
}
|
|
179
|
-
// For all other properties, recursively process them
|
|
180
|
-
else {
|
|
181
|
-
processed[key] = this.recursivelyInterpolateText(value, data, translator, config);
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
return processed;
|
|
185
|
-
}
|
|
186
|
-
return node;
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Render Slack template
|
|
190
|
-
*
|
|
191
|
-
* @param params - Render parameters
|
|
192
|
-
* @returns Rendered Slack blocks
|
|
193
|
-
*/
|
|
194
|
-
async render(params) {
|
|
195
|
-
if (!params.templateName) {
|
|
196
|
-
throw new Error("Template name is required");
|
|
197
|
-
}
|
|
198
|
-
// Add backendUrl to data for interpolation
|
|
199
|
-
const dataWithOptions = {
|
|
200
|
-
...params.data,
|
|
201
|
-
backendUrl: params.options?.backendUrl || "",
|
|
202
|
-
};
|
|
203
|
-
const { template, translator, blocks } = this.prepareData({
|
|
204
|
-
templateName: params.templateName,
|
|
205
|
-
data: dataWithOptions,
|
|
206
|
-
options: params.options,
|
|
207
|
-
});
|
|
208
|
-
const options = {
|
|
209
|
-
...params.options,
|
|
210
|
-
blocks,
|
|
211
|
-
};
|
|
212
|
-
// Get blocks from template
|
|
213
|
-
return {
|
|
214
|
-
blocks: options.blocks,
|
|
215
|
-
};
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
exports.SlackTemplateService = SlackTemplateService;
|
|
219
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xhY2stdGVtcGxhdGUtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy90ZW1wbGF0ZXMvc2xhY2svc2xhY2stdGVtcGxhdGUtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRkFHNEM7QUFDNUMsdUNBSW9CO0FBQ3BCLHVEQUcwQjtBQUMxQix1Q0FHa0I7QUFDbEIsdURBRzBCO0FBQzFCLDJDQUd1QjtBQUN2QixpREFHMEI7QUFDMUIsNkNBR3dCO0FBQ3hCLCtDQUd5QjtBQUN6QiwrQ0FHeUI7QUFDekIsbUNBQXlDO0FBRXpDOzs7R0FHRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsbURBQTRCO0lBQ3BFO1FBQ0UsS0FBSyxFQUFFLENBQUE7UUFFUCxJQUFJLENBQUMsa0JBQWtCLEdBQUc7WUFDeEIsU0FBUyxFQUFFLEtBQUssSUFBb0IsRUFBRTtnQkFDcEMsaURBQWlEO2dCQUNqRCxPQUFPLEVBQUUsQ0FBQTtZQUNYLENBQUM7U0FDRixDQUFBO1FBRUQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFFakUseUJBQXlCO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FDbkIsdUJBQWUsQ0FBQyxhQUFhLEVBQzdCLElBQUksQ0FBQyxrQkFBa0IsQ0FDeEIsQ0FBQTtRQUVELCtCQUErQjtRQUMvQixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQTtJQUNuQyxDQUFDO0lBRUQ7O09BRUc7SUFDTywwQkFBMEI7UUFDbEMsMkJBQTJCO1FBQzNCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyx1QkFBZSxDQUFDLGVBQWUsRUFBRTtZQUNyRCxHQUFHLElBQUksQ0FBQyxrQkFBa0I7WUFDMUIsU0FBUyxFQUFFLEdBQVEsRUFBRTtnQkFDbkIsT0FBTztvQkFDTCxNQUFNLEVBQUUsZ0NBQTRCO29CQUNwQyxZQUFZLEVB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
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TEMPLATES_NAMES = void 0;
|
|
4
|
-
exports.TEMPLATES_NAMES = {
|
|
5
|
-
BASE_TEMPLATE: "base-template",
|
|
6
|
-
INVENTORY_LEVEL: "inventory-level",
|
|
7
|
-
PRODUCT: "product",
|
|
8
|
-
PRODUCT_VARIANT: "product-variant",
|
|
9
|
-
ORDER_PLACED: "order-placed",
|
|
10
|
-
ORDER_COMPLETED: "order-completed",
|
|
11
|
-
ORDER_UPDATED: "order-updated",
|
|
12
|
-
ORDER_CANCELED: "order-canceled",
|
|
13
|
-
ORDER_ARCHIVED: "order-archived",
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdGVtcGxhdGVzL3NsYWNrL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVhLFFBQUEsZUFBZSxHQUFHO0lBQzdCLGFBQWEsRUFBRSxlQUFlO0lBQzlCLGVBQWUsRUFBRSxpQkFBaUI7SUFDbEMsT0FBTyxFQUFFLFNBQVM7SUFDbEIsZUFBZSxFQUFFLGlCQUFpQjtJQUNsQyxZQUFZLEVBQUUsY0FBYztJQUM1QixlQUFlLEVBQUUsaUJBQWlCO0lBQ2xDLGFBQWEsRUFBRSxlQUFlO0lBQzlCLGNBQWMsRUFBRSxnQkFBZ0I7SUFDaEMsY0FBYyxFQUFFLGdCQUFnQjtDQUN4QixDQUFDIn0=
|