@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
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.emailServiceStep = exports.emailServiceStepId = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const get_template_1 = require("../../mpn-builder/get-template");
|
|
6
|
+
const utils_1 = require("../../../utils");
|
|
7
|
+
const types_1 = require("../../../modules/mpn-builder/types");
|
|
8
|
+
exports.emailServiceStepId = "mpn-builder-email-service-step";
|
|
9
|
+
/**
|
|
10
|
+
* This step renders an email template using the email service.
|
|
11
|
+
*
|
|
12
|
+
* @param input - The input for the step.
|
|
13
|
+
* - template_id: Required - The ID of the template to render. It can be a system template or a database template.
|
|
14
|
+
* - data: Required - The data to render the template with.
|
|
15
|
+
* - options: Optional - The options to render the template with.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* const { html, text, subject } = emailServiceStep({
|
|
19
|
+
* template_id: "system_template_123", // or "123" - ID from the database template
|
|
20
|
+
* data: {
|
|
21
|
+
* name: "John Doe",
|
|
22
|
+
* },
|
|
23
|
+
* options: {
|
|
24
|
+
* locale: "en",
|
|
25
|
+
* },
|
|
26
|
+
* })
|
|
27
|
+
*
|
|
28
|
+
* @returns The HTML, text, and subject of the rendered template.
|
|
29
|
+
*/
|
|
30
|
+
exports.emailServiceStep = (0, workflows_sdk_1.createStep)(exports.emailServiceStepId, async (input, { container }) => {
|
|
31
|
+
const mpnBuilderService = container.resolve("mpnBuilder");
|
|
32
|
+
const templateEmailService = mpnBuilderService.getTemplateService("email")?.templateService;
|
|
33
|
+
const templateId = input.template_id;
|
|
34
|
+
const isSystemTemplateId = templateId?.startsWith(types_1.TEMPLATE_TYPES.SYSTEM_TEMPLATE);
|
|
35
|
+
const isExternalTemplateId = templateId?.startsWith(types_1.TEMPLATE_TYPES.EXTERNAL_TEMPLATE);
|
|
36
|
+
const isRegistryTemplate = isSystemTemplateId || isExternalTemplateId;
|
|
37
|
+
let blocks = [];
|
|
38
|
+
let template = {};
|
|
39
|
+
// If it's not a registry template, get the blocks from the database
|
|
40
|
+
if (!isRegistryTemplate) {
|
|
41
|
+
const { result: templateData } = await (0, get_template_1.getTemplateWorkflow)(container).run({
|
|
42
|
+
input: {
|
|
43
|
+
template_id: templateId,
|
|
44
|
+
fields: ["blocks.*"],
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
const blocksTree = (0, utils_1.buildTree)(templateData?.templates[0]?.blocks);
|
|
48
|
+
blocks = templateEmailService?.transformBlocksForRendering(blocksTree);
|
|
49
|
+
}
|
|
50
|
+
const { html, text, subject } = await templateEmailService.render({
|
|
51
|
+
templateName: isRegistryTemplate
|
|
52
|
+
? templateId
|
|
53
|
+
: "base-template",
|
|
54
|
+
data: input.data,
|
|
55
|
+
options: {
|
|
56
|
+
locale: input.options.locale,
|
|
57
|
+
theme: input.options.theme,
|
|
58
|
+
translations: input.options.translations,
|
|
59
|
+
blocks: blocks,
|
|
60
|
+
subject: template?.subject,
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
return new workflows_sdk_1.StepResponse({
|
|
64
|
+
html: html,
|
|
65
|
+
text: text,
|
|
66
|
+
subject: subject,
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvbXBuLWJ1aWxkZXItc2VydmljZXMvc3RlcHMvZW1haWwtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFHMEM7QUFDMUMsaUVBQW9FO0FBQ3BFLDBDQUEwQztBQUMxQyw4REFBbUU7QUFFdEQsUUFBQSxrQkFBa0IsR0FBRyxnQ0FBZ0MsQ0FBQTtBQUVsRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFDVSxRQUFBLGdCQUFnQixHQUFHLElBQUEsMEJBQVUsRUFDeEMsMEJBQWtCLEVBQ2xCLEtBQUssRUFDSCxLQUFVLEVBQ1YsRUFBRSxTQUFTLEVBQUUsRUFDZSxFQUFFO0lBQzlCLE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FDekMsWUFBWSxDQUNOLENBQUE7SUFFUixNQUFNLG9CQUFvQixHQUN4QixpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FDbEMsT0FBTyxDQUNSLEVBQUUsZUFBZSxDQUFBO0lBRXBCLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUE7SUFDcEMsTUFBTSxrQkFBa0IsR0FBRyxVQUFVLEVBQUUsVUFBVSxDQUFDLHNCQUFjLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDakYsTUFBTSxvQkFBb0IsR0FBRyxVQUFVLEVBQUUsVUFBVSxDQUFDLHNCQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUNyRixNQUFNLGtCQUFrQixHQUFHLGtCQUFrQixJQUFJLG9CQUFvQixDQUFBO0lBRXJFLElBQUksTUFBTSxHQUFVLEVBQUUsQ0FBQTtJQUN0QixJQUFJLFFBQVEsR0FBUSxFQUFFLENBQUE7SUFFdEIsb0VBQW9FO0lBQ3BFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsTUFBTSxJQUFBLGtDQUFtQixFQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUN4RSxLQUFLLEVBQUU7Z0JBQ0wsV0FBVyxFQUFFLFVBQVU7Z0JBQ3ZCLE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBQzthQUNyQjtTQUNGLENBQUMsQ0FBQTtRQUVGLE1BQU0sVUFBVSxHQUFHLElBQUEsaUJBQVMsRUFBQyxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBRWhFLE1BQU0sR0FBRyxvQkFBb0IsRUFBRSwyQkFBMkIsQ0FDeEQsVUFBVSxDQUNYLENBQUE7SUFDSCxDQUFDO0lBRUQsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQzNCLE1BQU0sb0JBQW9CLENBQUMsTUFBTSxDQUFDO1FBQ2hDLFlBQVksRUFBRSxrQkFBa0I7WUFDOUIsQ0FBQyxDQUFDLFVBQVU7WUFDWixDQUFDLENBQUMsZUFBZTtRQUNuQixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7UUFDaEIsT0FBTyxFQUFFO1lBQ1AsTUFBTSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUM1QixLQUFLLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLO1lBQzFCLFlBQVksRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVk7WUFDeEMsTUFBTSxFQUFFLE1BQU07WUFDZCxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU87U0FDM0I7S0FDRixDQUFDLENBQUE7SUFFSixPQUFPLElBQUksNEJBQVksQ0FBQztRQUN0QixJQUFJLEVBQUUsSUFBSTtRQUNWLElBQUksRUFBRSxJQUFJO1FBQ1YsT0FBTyxFQUFFLE9BQU87S0FDakIsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUNGLENBQUEifQ==
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.slackServiceStep = exports.slackServiceStepId = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const get_template_1 = require("../../mpn-builder/get-template");
|
|
6
|
+
const utils_1 = require("../../../utils");
|
|
7
|
+
const types_1 = require("../../../modules/mpn-builder/types");
|
|
8
|
+
exports.slackServiceStepId = "mpn-builder-slack-service-step";
|
|
9
|
+
/**
|
|
10
|
+
* This step renders a Slack template using the Slack service.
|
|
11
|
+
*
|
|
12
|
+
* @param input - The input for the step.
|
|
13
|
+
* - template_id: Required - The ID of the template to render. It can be a system template or a database template.
|
|
14
|
+
* - data: Required - The data to render the template with.
|
|
15
|
+
* - options: Optional - The options to render the template with.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* const { blocks } = slackServiceStep({
|
|
19
|
+
* template_id: "system_template_123", // or "123" - ID from the database template
|
|
20
|
+
* data: {
|
|
21
|
+
* name: "John Doe",
|
|
22
|
+
* },
|
|
23
|
+
* options: {
|
|
24
|
+
* locale: "en",
|
|
25
|
+
* },
|
|
26
|
+
* })
|
|
27
|
+
*
|
|
28
|
+
* @returns The blocks of the rendered template.
|
|
29
|
+
*/
|
|
30
|
+
exports.slackServiceStep = (0, workflows_sdk_1.createStep)(exports.slackServiceStepId, async (input, { container }) => {
|
|
31
|
+
const mpnBuilderService = container.resolve("mpnBuilder");
|
|
32
|
+
const templateSlackService = mpnBuilderService.getTemplateService("slack")?.templateService;
|
|
33
|
+
const templateId = input.template_id;
|
|
34
|
+
const isSystemTemplateId = templateId?.startsWith(types_1.TEMPLATE_TYPES.SYSTEM_TEMPLATE);
|
|
35
|
+
const isExternalTemplateId = templateId?.startsWith(types_1.TEMPLATE_TYPES.EXTERNAL_TEMPLATE);
|
|
36
|
+
const isRegistryTemplate = isSystemTemplateId || isExternalTemplateId;
|
|
37
|
+
let blocks = [];
|
|
38
|
+
// If it's not a registry template, get the blocks from the database
|
|
39
|
+
if (!isRegistryTemplate) {
|
|
40
|
+
const { result: templateData } = await (0, get_template_1.getTemplateWorkflow)(container).run({
|
|
41
|
+
input: {
|
|
42
|
+
template_id: templateId,
|
|
43
|
+
fields: ["blocks.*"],
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
const blocksTree = (0, utils_1.buildTree)(templateData?.templates[0]?.blocks);
|
|
47
|
+
blocks = templateSlackService?.transformBlocksForRendering(blocksTree);
|
|
48
|
+
}
|
|
49
|
+
// TODO CHECK WHY .config is undefined in the prepareData method when using external templates
|
|
50
|
+
const { blocks: renderedBlocks } = await templateSlackService.render({
|
|
51
|
+
templateName: isRegistryTemplate
|
|
52
|
+
? templateId
|
|
53
|
+
: "base-template",
|
|
54
|
+
data: input.data,
|
|
55
|
+
options: {
|
|
56
|
+
locale: input.options.locale,
|
|
57
|
+
theme: input.options.theme,
|
|
58
|
+
translations: input.options.translations,
|
|
59
|
+
blocks: blocks,
|
|
60
|
+
backendUrl: input.options.backendUrl,
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
return new workflows_sdk_1.StepResponse({
|
|
64
|
+
blocks: renderedBlocks,
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xhY2stc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvbXBuLWJ1aWxkZXItc2VydmljZXMvc3RlcHMvc2xhY2stc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFHMEM7QUFDMUMsaUVBQW9FO0FBQ3BFLDBDQUEwQztBQUMxQyw4REFBbUU7QUFFdEQsUUFBQSxrQkFBa0IsR0FBRyxnQ0FBZ0MsQ0FBQTtBQUVsRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFDVSxRQUFBLGdCQUFnQixHQUFHLElBQUEsMEJBQVUsRUFDeEMsMEJBQWtCLEVBQ2xCLEtBQUssRUFDSCxLQUFVLEVBQ1YsRUFBRSxTQUFTLEVBQUUsRUFDZSxFQUFFO0lBQzlCLE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FDekMsWUFBWSxDQUNOLENBQUE7SUFFUixNQUFNLG9CQUFvQixHQUN4QixpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FDbEMsT0FBTyxDQUNSLEVBQUUsZUFBZSxDQUFBO0lBRXBCLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUE7SUFDcEMsTUFBTSxrQkFBa0IsR0FBRyxVQUFVLEVBQUUsVUFBVSxDQUFDLHNCQUFjLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDakYsTUFBTSxvQkFBb0IsR0FBRyxVQUFVLEVBQUUsVUFBVSxDQUFDLHNCQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUNyRixNQUFNLGtCQUFrQixHQUFHLGtCQUFrQixJQUFJLG9CQUFvQixDQUFBO0lBRXJFLElBQUksTUFBTSxHQUFVLEVBQUUsQ0FBQTtJQUV0QixvRUFBb0U7SUFDcEUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDeEIsTUFBTSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxNQUFNLElBQUEsa0NBQW1CLEVBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ3hFLEtBQUssRUFBRTtnQkFDTCxXQUFXLEVBQUUsVUFBVTtnQkFDdkIsTUFBTSxFQUFFLENBQUMsVUFBVSxDQUFDO2FBQ3JCO1NBQ0YsQ0FBQyxDQUFBO1FBRUYsTUFBTSxVQUFVLEdBQUcsSUFBQSxpQkFBUyxFQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFFaEUsTUFBTSxHQUFHLG9CQUFvQixFQUFFLDJCQUEyQixDQUN4RCxVQUFVLENBQ1gsQ0FBQTtJQUNILENBQUM7SUFFRCw4RkFBOEY7SUFDOUYsTUFBTSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsR0FDOUIsTUFBTSxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7UUFDaEMsWUFBWSxFQUFFLGtCQUFrQjtZQUM5QixDQUFDLENBQUMsVUFBVTtZQUNaLENBQUMsQ0FBQyxlQUFlO1FBQ25CLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtRQUNoQixPQUFPLEVBQUU7WUFDUCxNQUFNLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQzVCLEtBQUssRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUs7WUFDMUIsWUFBWSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWTtZQUN4QyxNQUFNLEVBQUUsTUFBTTtZQUNkLFVBQVUsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVU7U0FDckM7S0FDRixDQUFDLENBQUE7SUFFSixPQUFPLElBQUksNEJBQVksQ0FBQztRQUN0QixNQUFNLEVBQUUsY0FBYztLQUN2QixDQUFDLENBQUE7QUFDSixDQUFDLENBQ0YsQ0FBQSJ9
|
|
@@ -37,4 +37,4 @@ exports.getOrderByIdStep = (0, workflows_sdk_1.createStep)(exports.getOrderByIdS
|
|
|
37
37
|
order: orders[0],
|
|
38
38
|
});
|
|
39
39
|
});
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW9yZGVyLWJ5LWlkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9vcmRlci9zdGVwcy9nZXQtb3JkZXItYnktaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEscURBR2tDO0FBQ2xDLHFFQUcwQztBQUMxQyw2REFBc0U7QUFDdEUsd0VBQTBFO0FBWTdELFFBQUEsa0JBQWtCLEdBQUcsaUJBQWlCLENBQUE7QUFFbkQ7Ozs7Ozs7R0FPRztBQUNVLFFBQUEsZ0JBQWdCLEdBQUcsSUFBQSwwQkFBVSxFQUN4QywwQkFBa0IsRUFDbEIsS0FBSyxFQUNILEtBQTRCLEVBQzVCLEVBQUUsU0FBUyxFQUFFLEVBQ2tDLEVBQUU7SUFDakQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FDN0IsaUNBQXlCLENBQUMsS0FBSyxDQUNoQyxDQUFBO0lBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNwQixNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQ2xDLHNCQUFzQixDQUN2QixDQUFBO0lBQ0gsQ0FBQztJQUVELDJHQUEyRztJQUMzRyxNQUFNLE1BQU0sR0FBRyxJQUFBLDJDQUF1QixFQUNwQywwQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUNyRCxPQUFPLENBQ1IsQ0FBQTtJQUVELE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3pDLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLE1BQU07UUFDZCxPQUFPLEVBQUU7WUFDUCxFQUFFLEVBQUU7Z0JBQ0YsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQzthQUN0QjtTQUNGO0tBQ0YsQ0FBQyxDQUFBO0lBRUYsSUFBSSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQzNCLGlCQUFpQixLQUFLLENBQUMsUUFBUSxZQUFZLENBQzVDLENBQUE7SUFDSCxDQUFDO0lBRUQsT0FBTyxJQUFJLDRCQUFZLENBQUM7UUFDdEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7S0FDakIsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUNGLENBQUEifQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getRegionWorkflow = exports.getRegionWorkflowName = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const get_region_by_id_1 = require("./steps/get-region-by-id");
|
|
6
|
+
exports.getRegionWorkflowName = "get-region";
|
|
7
|
+
/**
|
|
8
|
+
* Retrieves a region by ID with optional field selection.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* const { result } = await getRegionWorkflow(container).run({
|
|
12
|
+
* input: {
|
|
13
|
+
* region_id: "region_123",
|
|
14
|
+
* fields: ["id", "name", "currency_code"]
|
|
15
|
+
* }
|
|
16
|
+
* })
|
|
17
|
+
*/
|
|
18
|
+
exports.getRegionWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.getRegionWorkflowName, (input) => {
|
|
19
|
+
const region = (0, get_region_by_id_1.getRegionStep)({
|
|
20
|
+
region_id: input.region_id || "",
|
|
21
|
+
fields: input.fields || [],
|
|
22
|
+
});
|
|
23
|
+
return new workflows_sdk_1.WorkflowResponse(region);
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXJlZ2lvbi1ieS1pZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcmVnaW9uL2dldC1yZWdpb24tYnktaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSTBDO0FBQzFDLCtEQUF3RDtBQU8zQyxRQUFBLHFCQUFxQixHQUFHLFlBQVksQ0FBQTtBQUVqRDs7Ozs7Ozs7OztHQVVHO0FBQ1UsUUFBQSxpQkFBaUIsR0FBRyxJQUFBLDhCQUFjLEVBQzdDLDZCQUFxQixFQUNyQixDQUFDLEtBQTJDLEVBQUUsRUFBRTtJQUM5QyxNQUFNLE1BQU0sR0FBRyxJQUFBLGdDQUFhLEVBQUM7UUFDM0IsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLElBQUksRUFBRTtRQUNoQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sSUFBSSxFQUFFO0tBQzNCLENBQUMsQ0FBQTtJQUVGLE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQTtBQUNyQyxDQUFDLENBQ0YsQ0FBQSJ9
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./get-region-by-id"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3JlZ2lvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscURBQWtDIn0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getRegionStep = exports.getRegionStepName = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
exports.getRegionStepName = "get-region";
|
|
7
|
+
/**
|
|
8
|
+
* Retrieves a region by ID with optional field selection.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* const data = getRegionStep({
|
|
12
|
+
* region_id: "region_123",
|
|
13
|
+
* fields: ["id", "name", "currency_code"]
|
|
14
|
+
* })
|
|
15
|
+
*/
|
|
16
|
+
exports.getRegionStep = (0, workflows_sdk_1.createStep)(exports.getRegionStepName, async (input, { container }) => {
|
|
17
|
+
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
18
|
+
const { data: region } = await query.graph({
|
|
19
|
+
entity: "region",
|
|
20
|
+
fields: input.fields || [],
|
|
21
|
+
});
|
|
22
|
+
return new workflows_sdk_1.StepResponse({
|
|
23
|
+
region: region[0],
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXJlZ2lvbi1ieS1pZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcmVnaW9uL3N0ZXBzL2dldC1yZWdpb24tYnktaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEscURBR2tDO0FBQ2xDLHFFQUcwQztBQVk3QixRQUFBLGlCQUFpQixHQUFHLFlBQVksQ0FBQTtBQUU3Qzs7Ozs7Ozs7R0FRRztBQUNVLFFBQUEsYUFBYSxHQUFHLElBQUEsMEJBQVUsRUFDckMseUJBQWlCLEVBQ2pCLEtBQUssRUFDSCxLQUE2QixFQUM3QixFQUFFLFNBQVMsRUFBRSxFQUNtQyxFQUFFO0lBQ2xELE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQzdCLGlDQUF5QixDQUFDLEtBQUssQ0FDaEMsQ0FBQTtJQUVELE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3pDLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxJQUFJLEVBQUU7S0FDM0IsQ0FBQyxDQUFBO0lBRUYsT0FBTyxJQUFJLDRCQUFZLENBQUM7UUFDdEIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7S0FDbEIsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUNGLENBQUEifQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./get-region-by-id"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3JlZ2lvbi9zdGVwcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscURBQWtDIn0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.logStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const logStep = (0, workflows_sdk_1.createStep)({
|
|
6
|
+
name: "log-step",
|
|
7
|
+
}, function (input) {
|
|
8
|
+
console.log("log-step", JSON.stringify(input, null, 2));
|
|
9
|
+
return new workflows_sdk_1.StepResponse({
|
|
10
|
+
status: "success",
|
|
11
|
+
message: "Requested",
|
|
12
|
+
input: input,
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
exports.logStep = logStep;
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLXN0ZXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0ZXBzL2xvZy1zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUcwQztBQUUxQyxNQUFNLE9BQU8sR0FBRyxJQUFBLDBCQUFVLEVBQ3hCO0lBQ0UsSUFBSSxFQUFFLFVBQVU7Q0FDakIsRUFDRCxVQUFVLEtBQVU7SUFDbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFdkQsT0FBTyxJQUFJLDRCQUFZLENBQUM7UUFDdEIsTUFBTSxFQUFFLFNBQVM7UUFDakIsT0FBTyxFQUFFLFdBQVc7UUFDcEIsS0FBSyxFQUFFLEtBQUs7S0FDYixDQUFDLENBQUE7QUFDSixDQUFDLENBQ0YsQ0FBQTtBQUVRLDBCQUFPIn0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getStoreWorkflow = exports.getStoreWorkflowName = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const get_store_by_id_1 = require("./steps/get-store-by-id");
|
|
6
|
+
exports.getStoreWorkflowName = "get-store";
|
|
7
|
+
/**
|
|
8
|
+
* Retrieves store information by ID.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* const { result } = await getStoreWorkflow(container).run({
|
|
12
|
+
* input: {
|
|
13
|
+
* store_id: "store_123"
|
|
14
|
+
* }
|
|
15
|
+
* })
|
|
16
|
+
*/
|
|
17
|
+
exports.getStoreWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.getStoreWorkflowName, (input) => {
|
|
18
|
+
const store = (0, get_store_by_id_1.getStoreStep)({
|
|
19
|
+
store_id: input.store_id || "",
|
|
20
|
+
});
|
|
21
|
+
return new workflows_sdk_1.WorkflowResponse(store);
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXN0b3JlLWJ5LWlkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zdG9yZS9nZXQtc3RvcmUtYnktaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSTBDO0FBQzFDLDZEQUFzRDtBQU16QyxRQUFBLG9CQUFvQixHQUFHLFdBQVcsQ0FBQTtBQUUvQzs7Ozs7Ozs7O0dBU0c7QUFDVSxRQUFBLGdCQUFnQixHQUFHLElBQUEsOEJBQWMsRUFDNUMsNEJBQW9CLEVBQ3BCLENBQUMsS0FBMEMsRUFBRSxFQUFFO0lBQzdDLE1BQU0sS0FBSyxHQUFHLElBQUEsOEJBQVksRUFBQztRQUN6QixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsSUFBSSxFQUFFO0tBQy9CLENBQUMsQ0FBQTtJQUVGLE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUNwQyxDQUFDLENBQ0YsQ0FBQSJ9
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./get-store-by-id"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0b3JlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBaUMifQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getStoreStep = exports.getStoreStepName = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
exports.getStoreStepName = "get-store";
|
|
7
|
+
/**
|
|
8
|
+
* Retrieves store information by ID.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* const data = getStoreStep({
|
|
12
|
+
* store_id: "store_123"
|
|
13
|
+
* })
|
|
14
|
+
*/
|
|
15
|
+
exports.getStoreStep = (0, workflows_sdk_1.createStep)(exports.getStoreStepName, async (input, { container }) => {
|
|
16
|
+
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
17
|
+
const { data: store } = await query.graph({
|
|
18
|
+
entity: "store",
|
|
19
|
+
fields: ["id", "name", "default_sales_channel_id", "default_region_id", "default_location_id", "metadata"],
|
|
20
|
+
});
|
|
21
|
+
return new workflows_sdk_1.StepResponse({
|
|
22
|
+
store: store[0],
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXN0b3JlLWJ5LWlkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zdG9yZS9zdGVwcy9nZXQtc3RvcmUtYnktaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEscURBR2tDO0FBQ2xDLHFFQUcwQztBQVc3QixRQUFBLGdCQUFnQixHQUFHLFdBQVcsQ0FBQTtBQUUzQzs7Ozs7OztHQU9HO0FBQ1UsUUFBQSxZQUFZLEdBQUcsSUFBQSwwQkFBVSxFQUNwQyx3QkFBZ0IsRUFDaEIsS0FBSyxFQUNILEtBQTRCLEVBQzVCLEVBQUUsU0FBUyxFQUFFLEVBQ2tDLEVBQUU7SUFDakQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FDN0IsaUNBQXlCLENBQUMsS0FBSyxDQUNoQyxDQUFBO0lBRUQsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDeEMsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLDBCQUEwQixFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLFVBQVUsQ0FBQztLQUMzRyxDQUFDLENBQUE7SUFFRixPQUFPLElBQUksNEJBQVksQ0FBQztRQUN0QixLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztLQUNoQixDQUFDLENBQUE7QUFDSixDQUFDLENBQ0YsQ0FBQSJ9
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./get-store-by-id"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0b3JlL3N0ZXBzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBaUMifQ==
|
package/README.md
CHANGED
|
@@ -1,26 +1,21 @@
|
|
|
1
|
-
# Medusa plugin notification
|
|
1
|
+
# Medusa plugin notification
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Medusa v2 plugin for building and sending transactional notifications from one place.
|
|
4
|
+
It provides a template system, admin builder, and rendering workflows for email and Slack.
|
|
4
5
|
|
|
5
6
|
## Features
|
|
6
7
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
- **Internationalization**: Built-in support for multiple locales (Polish, English)
|
|
14
|
-
- **Customizable**: Override translations and customize templates without modifying core files
|
|
15
|
-
- **Integration**: Integrates with Medusa's notification module
|
|
16
|
-
- **Admin Panel**: Preview and test templates directly from Medusa Admin
|
|
17
|
-
- **Type-Safe**: Full TypeScript support with exported types
|
|
18
|
-
- **HTML & Plain Text**: Automatically generates both HTML and plain text versions of emails
|
|
8
|
+
- Build and manage notification templates for two channels: email and Slack
|
|
9
|
+
- Use three template sources: built-in (`system`), database-managed (`db`), and code-registered (`external`)
|
|
10
|
+
- Build templates quickly with a reusable block system instead of writing full markup from scratch
|
|
11
|
+
- Edit `db` templates in Medusa Admin using a block-based builder
|
|
12
|
+
- Render notifications through dedicated workflows and pass output to Medusa notification providers
|
|
13
|
+
- Customize translations and register external templates without changing core plugin code
|
|
19
14
|
|
|
20
15
|
## Compatibility
|
|
21
16
|
|
|
22
|
-
-
|
|
23
|
-
-
|
|
17
|
+
- Medusa: `>= 2.8.8`
|
|
18
|
+
- Node.js: `>= 20`
|
|
24
19
|
|
|
25
20
|
## Installation
|
|
26
21
|
|
|
@@ -30,110 +25,52 @@ npm install @codee-sh/medusa-plugin-notification-emails
|
|
|
30
25
|
yarn add @codee-sh/medusa-plugin-notification-emails
|
|
31
26
|
```
|
|
32
27
|
|
|
33
|
-
##
|
|
28
|
+
## Basic setup
|
|
34
29
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
Add to your `medusa-config.ts`:
|
|
30
|
+
Register plugin in `medusa-config.ts`:
|
|
38
31
|
|
|
39
32
|
```typescript
|
|
40
33
|
module.exports = defineConfig({
|
|
41
34
|
plugins: [
|
|
42
|
-
|
|
43
|
-
|
|
35
|
+
{
|
|
36
|
+
resolve: "@codee-sh/medusa-plugin-notification-emails",
|
|
37
|
+
options: {
|
|
38
|
+
customTranslations: {},
|
|
39
|
+
extend: {
|
|
40
|
+
services: [],
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
],
|
|
44
45
|
})
|
|
45
46
|
```
|
|
46
47
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
Set up a notification provider - see [Configuration Documentation](./docs/configuration.md) for details.
|
|
50
|
-
|
|
51
|
-
### 3. Use Templates
|
|
52
|
-
|
|
53
|
-
The plugin includes built-in subscribers that automatically send email notifications for various events. You can also use templates directly in your code:
|
|
54
|
-
|
|
55
|
-
#### Email Templates
|
|
56
|
-
|
|
57
|
-
```typescript
|
|
58
|
-
import { emailService, TEMPLATES_NAMES } from "@codee-sh/medusa-plugin-notification-emails/templates/emails"
|
|
59
|
-
|
|
60
|
-
const { html, text, subject } = await emailService.render({
|
|
61
|
-
templateName: TEMPLATES_NAMES.ORDER_PLACED,
|
|
62
|
-
data: templateData,
|
|
63
|
-
options: { locale: "pl" }
|
|
64
|
-
})
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
#### Slack Templates
|
|
68
|
-
|
|
69
|
-
```typescript
|
|
70
|
-
import { slackService, TEMPLATES_NAMES } from "@codee-sh/medusa-plugin-notification-emails/templates/slack"
|
|
71
|
-
|
|
72
|
-
const { blocks } = await slackService.render({
|
|
73
|
-
templateName: TEMPLATES_NAMES.INVENTORY_LEVEL,
|
|
74
|
-
data: templateData,
|
|
75
|
-
options: { locale: "en" }
|
|
76
|
-
})
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
**Note**: Templates use a block-based system where each template is defined as an array of blocks. The system automatically interpolates variables like `{{data.order.id}}` and `{{translations.headerTitle}}` throughout the blocks.
|
|
80
|
-
|
|
81
|
-
See [Templates Documentation](./docs/templates.md) for detailed usage examples.
|
|
82
|
-
|
|
83
|
-
## Available Templates
|
|
84
|
-
|
|
85
|
-
### Email Templates
|
|
86
|
-
|
|
87
|
-
- **[Order Placed](./docs/templates/order-placed.md)** (`order-placed`) - Order confirmation email template
|
|
88
|
-
- **Order Completed** (`order-completed`) - Order completion notification template
|
|
89
|
-
- **[Contact Form](./docs/templates/contact-form.md)** (`contact-form`) - Contact form submission email template
|
|
90
|
-
- **Order Updated** (`order-updated`) - Order update notification template
|
|
91
|
-
- **Inventory Level** (`inventory-level`) - Inventory level notification template
|
|
92
|
-
|
|
93
|
-
### Slack Templates
|
|
94
|
-
|
|
95
|
-
- **Inventory Level** (`inventory-level`) - Inventory level notification for Slack
|
|
96
|
-
- **Product** (`product`) - Product notification for Slack
|
|
97
|
-
- **Product Variant** (`product-variant`) - Product variant notification for Slack
|
|
98
|
-
|
|
99
|
-
See [Templates Documentation](./docs/templates.md) for general template information and [Blocks Documentation](./docs/blocks.md) for details on the block system.
|
|
100
|
-
|
|
101
|
-
## Built-in Subscribers
|
|
102
|
-
|
|
103
|
-
The plugin includes automatic email notifications for the following events:
|
|
104
|
-
|
|
105
|
-
- **`order.placed`** - Sends order confirmation email when an order is placed
|
|
106
|
-
- **`order.completed`** - Sends order completion notification when an order is completed
|
|
107
|
-
|
|
108
|
-
These subscribers automatically:
|
|
109
|
-
- Fetch order data from Medusa
|
|
110
|
-
- Render email templates using React Email
|
|
111
|
-
- Send notifications via Medusa's notification module
|
|
112
|
-
- Respect custom translations configured in plugin options
|
|
113
|
-
|
|
114
|
-
See [Configuration Documentation](./docs/configuration.md) for details on customizing subscriber behavior.
|
|
48
|
+
Then continue with configuration and usage guides in `docs/`.
|
|
115
49
|
|
|
116
|
-
|
|
50
|
+
Template IDs are resolved by prefix:
|
|
117
51
|
|
|
118
|
-
|
|
52
|
+
- IDs starting with `system` or `external` are rendered from the in-memory registry (no DB lookup).
|
|
53
|
+
- Other IDs are treated as DB templates and must exist in `mpn_builder_template`.
|
|
119
54
|
|
|
120
55
|
## Documentation
|
|
121
56
|
|
|
122
|
-
- [
|
|
123
|
-
- [
|
|
124
|
-
- [
|
|
125
|
-
- [
|
|
126
|
-
- [Admin
|
|
127
|
-
- [
|
|
57
|
+
- [Configuration](./docs/configuration.md)
|
|
58
|
+
- [Templates](./docs/templates.md)
|
|
59
|
+
- [Blocks](./docs/blocks.md)
|
|
60
|
+
- [Translations](./docs/translations.md)
|
|
61
|
+
- [Admin](./docs/admin.md)
|
|
62
|
+
- [Tests](./docs/tests.md)
|
|
63
|
+
- [Creating Templates](./docs/contributing/creating-templates.md)
|
|
128
64
|
|
|
129
65
|
## Exports
|
|
130
66
|
|
|
131
|
-
|
|
67
|
+
Public entrypoints:
|
|
132
68
|
|
|
133
|
-
- `@codee-sh/medusa-plugin-notification-emails/
|
|
134
|
-
- `@codee-sh/medusa-plugin-notification-emails/
|
|
135
|
-
- `@codee-sh/medusa-plugin-notification-emails/
|
|
136
|
-
- `@codee-sh/medusa-plugin-notification-emails/utils`
|
|
69
|
+
- `@codee-sh/medusa-plugin-notification-emails/workflows`
|
|
70
|
+
- `@codee-sh/medusa-plugin-notification-emails/modules/*`
|
|
71
|
+
- `@codee-sh/medusa-plugin-notification-emails/providers/*`
|
|
72
|
+
- `@codee-sh/medusa-plugin-notification-emails/utils`
|
|
73
|
+
- `@codee-sh/medusa-plugin-notification-emails/admin`
|
|
137
74
|
|
|
138
75
|
## License
|
|
139
76
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codee-sh/medusa-plugin-notification-emails",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Medusa plugin for notifications emails.",
|
|
5
5
|
"author": "Codee Team (https://codee.dev)",
|
|
6
6
|
"license": "MIT",
|
|
@@ -16,12 +16,6 @@
|
|
|
16
16
|
"./.medusa/server/src/modules/*": "./.medusa/server/src/modules/*/index.js",
|
|
17
17
|
"./modules/*": "./.medusa/server/src/modules/*/index.js",
|
|
18
18
|
"./providers/*": "./.medusa/server/src/providers/*/index.js",
|
|
19
|
-
"./templates/emails": "./.medusa/server/src/templates/emails/index.js",
|
|
20
|
-
"./templates/emails/*": "./.medusa/server/src/templates/emails/*/index.js",
|
|
21
|
-
"./templates/emails/types": "./.medusa/server/src/templates/emails/types.js",
|
|
22
|
-
"./templates/slack": "./.medusa/server/src/templates/slack/index.js",
|
|
23
|
-
"./templates/slack/*": "./.medusa/server/src/templates/slack/*/index.js",
|
|
24
|
-
"./templates/slack/types": "./.medusa/server/src/templates/slack/types.js",
|
|
25
19
|
"./utils": "./.medusa/server/src/utils/index.js",
|
|
26
20
|
"./*": "./.medusa/server/src/*.js",
|
|
27
21
|
"./admin": {
|
|
@@ -44,17 +38,31 @@
|
|
|
44
38
|
"publish-local": "npx medusa plugin:publish",
|
|
45
39
|
"publish-package": "dotenv npm publish --access public",
|
|
46
40
|
"email:dev": "email dev --dir emails-previews",
|
|
41
|
+
"test:unit": "TEST_TYPE=unit NODE_OPTIONS=--experimental-vm-modules jest --silent",
|
|
42
|
+
"test:integration:http": "TEST_TYPE=integration:http NODE_OPTIONS=--experimental-vm-modules jest --silent --runInBand --forceExit",
|
|
43
|
+
"test:integration:modules": "TEST_TYPE=integration:modules NODE_OPTIONS=--experimental-vm-modules jest --silent --runInBand --forceExit",
|
|
44
|
+
"test:db:up": "docker compose -f docker-compose.test.yml up -d",
|
|
45
|
+
"test:db:down": "docker compose -f docker-compose.test.yml down -v",
|
|
47
46
|
"format": "prettier --write \"src/**/*.{ts,tsx}\"",
|
|
48
47
|
"format:check": "prettier --check \"src/**/*.{ts,tsx}\"",
|
|
49
48
|
"changeset": "changeset",
|
|
50
49
|
"version": "changeset version",
|
|
51
50
|
"release": "changeset publish",
|
|
52
|
-
"release:manual": "npm
|
|
51
|
+
"release:manual": "npm publish --access public",
|
|
52
|
+
"prepare-release": "bash scripts/prepare-release.sh",
|
|
53
|
+
"pr:create": "bash scripts/create-pr.sh"
|
|
53
54
|
},
|
|
54
55
|
"dependencies": {
|
|
56
|
+
"@dnd-kit/core": "^6.3.1",
|
|
57
|
+
"@lexical/extension": "^0.39.0",
|
|
58
|
+
"@lexical/history": "^0.39.0",
|
|
59
|
+
"@lexical/html": "^0.39.0",
|
|
60
|
+
"@lexical/react": "^0.39.0",
|
|
61
|
+
"@lexical/rich-text": "^0.39.0",
|
|
55
62
|
"@react-email/components": "^0.5.7",
|
|
56
63
|
"@react-email/preview-server": "^4.3.1",
|
|
57
64
|
"@react-email/render": "^1.4.0",
|
|
65
|
+
"lexical": "^0.39.0",
|
|
58
66
|
"react-email": "^4.3.1"
|
|
59
67
|
},
|
|
60
68
|
"devDependencies": {
|
|
@@ -74,11 +82,16 @@
|
|
|
74
82
|
"@react-email/preview-server": "^4.3.1",
|
|
75
83
|
"@react-email/render": "^1.4.0",
|
|
76
84
|
"@swc/core": "1.5.7",
|
|
85
|
+
"@swc/jest": "^0.2.36",
|
|
86
|
+
"@types/jest": "^29.5.14",
|
|
87
|
+
"@types/lodash": "^4.17.23",
|
|
77
88
|
"@types/node": "^20.0.0",
|
|
78
89
|
"@types/react": "^18.3.2",
|
|
79
90
|
"@types/react-dom": "^18.2.25",
|
|
80
91
|
"awilix": "^8.0.1",
|
|
81
92
|
"dotenv": "^17.2.3",
|
|
93
|
+
"jest": "^29.7.0",
|
|
94
|
+
"prettier": "^3.0.0",
|
|
82
95
|
"prop-types": "^15.8.1",
|
|
83
96
|
"react": "^18.2.0",
|
|
84
97
|
"react-dom": "^18.2.0",
|
|
@@ -1,20 +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
|
-
async function POST(req, res) {
|
|
6
|
-
const eventModuleService = req.scope.resolve(utils_1.Modules.EVENT_BUS);
|
|
7
|
-
const name = req.body?.name;
|
|
8
|
-
const data = req.body?.data;
|
|
9
|
-
await eventModuleService.emit({
|
|
10
|
-
name: name,
|
|
11
|
-
data: data,
|
|
12
|
-
});
|
|
13
|
-
res.status(200).json({
|
|
14
|
-
success: true,
|
|
15
|
-
message: `Event ${name} was emitted`,
|
|
16
|
-
name,
|
|
17
|
-
data,
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL25vdGlmaWNhdGlvbi1wbHVnaW4vZXZlbnRzL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBR0Esb0JBb0JDO0FBdEJELHFEQUFnRTtBQUV6RCxLQUFLLFVBQVUsSUFBSSxDQUN4QixHQUFnRCxFQUNoRCxHQUFtQjtJQUVuQixNQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUUvRCxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQTtJQUMzQixNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQTtJQUUzQixNQUFNLGtCQUFrQixDQUFDLElBQUksQ0FBQztRQUM1QixJQUFJLEVBQUUsSUFBSTtRQUNWLElBQUksRUFBRSxJQUFJO0tBQ1gsQ0FBQyxDQUFBO0lBRUYsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDbkIsT0FBTyxFQUFFLElBQUk7UUFDYixPQUFPLEVBQUUsU0FBUyxJQUFJLGNBQWM7UUFDcEMsSUFBSTtRQUNKLElBQUk7S0FDTCxDQUFDLENBQUE7QUFDSixDQUFDIn0=
|