@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,21 @@
|
|
|
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("./create-template"), exports);
|
|
18
|
+
__exportStar(require("./edit-template"), exports);
|
|
19
|
+
__exportStar(require("./delete-template"), exports);
|
|
20
|
+
__exportStar(require("./get-template"), exports);
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL21wbi1idWlsZGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBaUM7QUFDakMsa0RBQStCO0FBQy9CLG9EQUFpQztBQUNqQyxpREFBOEIifQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createTemplateStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const mpn_builder_1 = require("../../../modules/mpn-builder");
|
|
6
|
+
const string_helpers_1 = require("../../../utils/string-helpers");
|
|
7
|
+
/**
|
|
8
|
+
* Creates new notification templates.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* const data = createTemplateStep({
|
|
12
|
+
* items: [{ name: "welcome", label: "Welcome Email", ... }]
|
|
13
|
+
* })
|
|
14
|
+
*/
|
|
15
|
+
exports.createTemplateStep = (0, workflows_sdk_1.createStep)("create-template", async ({ items }, { container }) => {
|
|
16
|
+
const mpnBuilderService = container.resolve(mpn_builder_1.MPN_BUILDER_MODULE);
|
|
17
|
+
const template = await mpnBuilderService.createMpnBuilderTemplates(items.map((item) => ({
|
|
18
|
+
name: (0, string_helpers_1.toKebabCase)(item.name),
|
|
19
|
+
description: item.description,
|
|
20
|
+
label: item.label,
|
|
21
|
+
channel: item.channel,
|
|
22
|
+
locale: item.locale,
|
|
23
|
+
subject: item.subject ?? null,
|
|
24
|
+
is_active: item.is_active,
|
|
25
|
+
})));
|
|
26
|
+
return new workflows_sdk_1.StepResponse(template, template);
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRlbXBsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9tcG4tYnVpbGRlci9zdGVwcy9jcmVhdGUtdGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBRzBDO0FBRTFDLDhEQUFpRTtBQUVqRSxrRUFBMkQ7QUFNM0Q7Ozs7Ozs7R0FPRztBQUNVLFFBQUEsa0JBQWtCLEdBQUcsSUFBQSwwQkFBVSxFQUMxQyxpQkFBaUIsRUFDakIsS0FBSyxFQUNILEVBQUUsS0FBSyxFQUEyQixFQUNsQyxFQUFFLFNBQVMsRUFBRSxFQUNiLEVBQUU7SUFDRixNQUFNLGlCQUFpQixHQUNyQixTQUFTLENBQUMsT0FBTyxDQUFDLGdDQUFrQixDQUFDLENBQUE7SUFFdkMsTUFBTSxRQUFRLEdBQ1osTUFBTSxpQkFBaUIsQ0FBQyx5QkFBeUIsQ0FDL0MsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuQixJQUFJLEVBQUUsSUFBQSw0QkFBVyxFQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDNUIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1FBQzdCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztRQUNqQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87UUFDckIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1FBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUk7UUFDN0IsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO0tBQzFCLENBQUMsQ0FBQyxDQUNKLENBQUE7SUFFSCxPQUFPLElBQUksNEJBQVksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUE7QUFDN0MsQ0FBQyxDQUNGLENBQUEifQ==
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteTemplateStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const mpn_builder_1 = require("../../../modules/mpn-builder");
|
|
6
|
+
/**
|
|
7
|
+
* Deletes a notification template by ID.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* const data = deleteTemplateStep({
|
|
11
|
+
* id: "template_123"
|
|
12
|
+
* })
|
|
13
|
+
*/
|
|
14
|
+
exports.deleteTemplateStep = (0, workflows_sdk_1.createStep)("delete-template", async ({ id }, { container }) => {
|
|
15
|
+
const mpnBuilderService = container.resolve(mpn_builder_1.MPN_BUILDER_MODULE);
|
|
16
|
+
// Delete the trigger (cascade delete will handle related rules, states, and actions)
|
|
17
|
+
await mpnBuilderService.deleteMpnBuilderTemplates([
|
|
18
|
+
id,
|
|
19
|
+
]);
|
|
20
|
+
return new workflows_sdk_1.StepResponse({ id, deleted: true }, { id, deleted: true });
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLXRlbXBsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9tcG4tYnVpbGRlci9zdGVwcy9kZWxldGUtdGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUUscUVBR3dDO0FBRTFDLDhEQUFpRTtBQU1qRTs7Ozs7OztHQU9HO0FBQ1UsUUFBQSxrQkFBa0IsR0FBRyxJQUFBLDBCQUFVLEVBQzFDLGlCQUFpQixFQUNqQixLQUFLLEVBQ0gsRUFBRSxFQUFFLEVBQTJCLEVBQy9CLEVBQUUsU0FBUyxFQUFFLEVBQ2IsRUFBRTtJQUNGLE1BQU0saUJBQWlCLEdBQ3JCLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0NBQWtCLENBQUMsQ0FBQTtJQUV2QyxxRkFBcUY7SUFDckYsTUFBTSxpQkFBaUIsQ0FBQyx5QkFBeUIsQ0FBQztRQUNoRCxFQUFFO0tBQ0gsQ0FBQyxDQUFBO0lBRUYsT0FBTyxJQUFJLDRCQUFZLENBQ3JCLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFDckIsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUN0QixDQUFBO0FBQ0gsQ0FBQyxDQUNGLENBQUEifQ==
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.editTemplateBlocksStep = void 0;
|
|
7
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
8
|
+
const mpn_builder_1 = require("../../../modules/mpn-builder");
|
|
9
|
+
const flatMapDeep_1 = __importDefault(require("lodash/flatMapDeep"));
|
|
10
|
+
const configWithUndefined = (config) => {
|
|
11
|
+
return config
|
|
12
|
+
? Object.entries(config).reduce((acc, [key, value]) => {
|
|
13
|
+
if (value === "") {
|
|
14
|
+
acc[key] = undefined;
|
|
15
|
+
}
|
|
16
|
+
else if (value !== null &&
|
|
17
|
+
value !== undefined) {
|
|
18
|
+
acc[key] = value;
|
|
19
|
+
}
|
|
20
|
+
return acc;
|
|
21
|
+
}, {})
|
|
22
|
+
: null;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Updates template blocks for a notification template.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* const data = editTemplateBlocksStep({
|
|
29
|
+
* template_id: "template_123",
|
|
30
|
+
* blocks: [{ type: "text", content: "Hello" }]
|
|
31
|
+
* })
|
|
32
|
+
*/
|
|
33
|
+
exports.editTemplateBlocksStep = (0, workflows_sdk_1.createStep)("edit-template-blocks", async ({ template_id, blocks }, { container }) => {
|
|
34
|
+
const MpnBuilderService = container.resolve(mpn_builder_1.MPN_BUILDER_MODULE);
|
|
35
|
+
// Flatten the blocks and children
|
|
36
|
+
const flatBlocks = (0, flatMapDeep_1.default)(blocks, (node) => [
|
|
37
|
+
node,
|
|
38
|
+
...(node.children || []),
|
|
39
|
+
]);
|
|
40
|
+
// Get existing blocks for this template
|
|
41
|
+
const existingBlocks = await MpnBuilderService.listMpnBuilderTemplateBlocks({
|
|
42
|
+
template_id: template_id,
|
|
43
|
+
});
|
|
44
|
+
// Get the existing block ids
|
|
45
|
+
const existingBlockIds = existingBlocks.map((block) => block.id);
|
|
46
|
+
// Get the incoming block ids
|
|
47
|
+
const incomingBlockIds = flatBlocks
|
|
48
|
+
.filter((block) => block.id)
|
|
49
|
+
.map((block) => block.id);
|
|
50
|
+
// Find blocks to delete (existing but not in incoming data)
|
|
51
|
+
const blocksToDelete = existingBlockIds.filter((id) => !incomingBlockIds.includes(id));
|
|
52
|
+
// Delete actions that are no longer in the incoming data
|
|
53
|
+
if (blocksToDelete.length > 0) {
|
|
54
|
+
await MpnBuilderService.deleteMpnBuilderTemplateBlocks(blocksToDelete);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Create a new block
|
|
58
|
+
* @param block - The block to create
|
|
59
|
+
* @returns The created block
|
|
60
|
+
*/
|
|
61
|
+
const createBlock = async (block) => {
|
|
62
|
+
const blockData = {
|
|
63
|
+
template_id: template_id,
|
|
64
|
+
type: block.type,
|
|
65
|
+
position: block.position,
|
|
66
|
+
metadata: configWithUndefined(block.metadata),
|
|
67
|
+
parent_id: block.parent_id,
|
|
68
|
+
};
|
|
69
|
+
const newBlock = await MpnBuilderService.createMpnBuilderTemplateBlocks([blockData]);
|
|
70
|
+
return newBlock[0];
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Update a block
|
|
74
|
+
* @param block - The block to update
|
|
75
|
+
* @returns The updated block
|
|
76
|
+
*/
|
|
77
|
+
const updateBlock = async (block) => {
|
|
78
|
+
const existingBlock = existingBlocks.find((b) => b.id === block.id);
|
|
79
|
+
if (!existingBlock) {
|
|
80
|
+
throw new Error(`Block with id ${block.id} does not exist`);
|
|
81
|
+
}
|
|
82
|
+
const updatedBlock = await MpnBuilderService.updateMpnBuilderTemplateBlocks([
|
|
83
|
+
{
|
|
84
|
+
id: block.id,
|
|
85
|
+
template_id: template_id,
|
|
86
|
+
parent_id: block.parent_id,
|
|
87
|
+
position: block.position,
|
|
88
|
+
metadata: configWithUndefined(block.metadata),
|
|
89
|
+
},
|
|
90
|
+
]);
|
|
91
|
+
return updatedBlock[0];
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Mutate a block
|
|
95
|
+
* @param block - The block to mutate
|
|
96
|
+
* @returns The mutated block
|
|
97
|
+
*/
|
|
98
|
+
const mutateBlock = async (block) => {
|
|
99
|
+
if (block?.id && !block.virtual) {
|
|
100
|
+
return await updateBlock(block);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
return await createBlock(block);
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
// Update or create blocks
|
|
107
|
+
const updatedBlocks = await Promise.all(blocks.map(async (block) => {
|
|
108
|
+
const children = block.children;
|
|
109
|
+
if (children && children.length > 0) {
|
|
110
|
+
let block_id = null;
|
|
111
|
+
let savedBlock;
|
|
112
|
+
savedBlock = await mutateBlock(block);
|
|
113
|
+
block_id = savedBlock.id;
|
|
114
|
+
const updatedChildrenBlocks = await Promise.all(children.map(async (child) => {
|
|
115
|
+
return await mutateBlock({
|
|
116
|
+
...child,
|
|
117
|
+
parent_id: block_id,
|
|
118
|
+
});
|
|
119
|
+
}));
|
|
120
|
+
return updatedChildrenBlocks;
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
return await mutateBlock(block);
|
|
124
|
+
}
|
|
125
|
+
}));
|
|
126
|
+
return new workflows_sdk_1.StepResponse(updatedBlocks, updatedBlocks);
|
|
127
|
+
});
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC10ZW1wbGF0ZS1ibG9ja3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL21wbi1idWlsZGVyL3N0ZXBzL2VkaXQtdGVtcGxhdGUtYmxvY2tzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHFFQUcwQztBQUUxQyw4REFBaUU7QUFDakUscUVBQTRDO0FBUTVDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxNQUFXLEVBQUUsRUFBRTtJQUMxQyxPQUFPLE1BQU07UUFDWCxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQzNCLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDcEIsSUFBSSxLQUFLLEtBQUssRUFBRSxFQUFFLENBQUM7Z0JBQ2pCLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUE7WUFDdEIsQ0FBQztpQkFBTSxJQUNMLEtBQUssS0FBSyxJQUFJO2dCQUNkLEtBQUssS0FBSyxTQUFTLEVBQ25CLENBQUM7Z0JBQ0QsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQTtZQUNsQixDQUFDO1lBQ0QsT0FBTyxHQUFHLENBQUE7UUFDWixDQUFDLEVBQ0QsRUFBeUIsQ0FDMUI7UUFDSCxDQUFDLENBQUMsSUFBSSxDQUFBO0FBQ1YsQ0FBQyxDQUFBO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDVSxRQUFBLHNCQUFzQixHQUFHLElBQUEsMEJBQVUsRUFDOUMsc0JBQXNCLEVBQ3RCLEtBQUssRUFDSCxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQStCLEVBQ3BELEVBQUUsU0FBUyxFQUFFLEVBQ2IsRUFBRTtJQUNGLE1BQU0saUJBQWlCLEdBQ3JCLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0NBQWtCLENBQUMsQ0FBQTtJQUV2QyxrQ0FBa0M7SUFDbEMsTUFBTSxVQUFVLEdB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
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.editTemplateStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const mpn_builder_1 = require("../../../modules/mpn-builder");
|
|
6
|
+
const string_helpers_1 = require("../../../utils/string-helpers");
|
|
7
|
+
/**
|
|
8
|
+
* Updates existing notification templates.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* const data = editTemplateStep({
|
|
12
|
+
* items: [{ id: "template_123", name: "updated", ... }]
|
|
13
|
+
* })
|
|
14
|
+
*/
|
|
15
|
+
exports.editTemplateStep = (0, workflows_sdk_1.createStep)("edit-template", async ({ items }, { container }) => {
|
|
16
|
+
const mpnBuilderService = container.resolve(mpn_builder_1.MPN_BUILDER_MODULE);
|
|
17
|
+
const template = await mpnBuilderService.updateMpnBuilderTemplates(items.map((item) => ({
|
|
18
|
+
id: item.id,
|
|
19
|
+
name: (0, string_helpers_1.toKebabCase)(item.name),
|
|
20
|
+
description: item.description,
|
|
21
|
+
label: item.label,
|
|
22
|
+
channel: item.channel,
|
|
23
|
+
locale: item.locale,
|
|
24
|
+
subject: item.subject ?? null,
|
|
25
|
+
is_active: item.is_active
|
|
26
|
+
})));
|
|
27
|
+
return new workflows_sdk_1.StepResponse(template, template);
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC10ZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvbXBuLWJ1aWxkZXIvc3RlcHMvZWRpdC10ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFHMEM7QUFFMUMsOERBQWlFO0FBRWpFLGtFQUEyRDtBQU0zRDs7Ozs7OztHQU9HO0FBQ1UsUUFBQSxnQkFBZ0IsR0FBRyxJQUFBLDBCQUFVLEVBQ3hDLGVBQWUsRUFDZixLQUFLLEVBQ0gsRUFBRSxLQUFLLEVBQXlCLEVBQ2hDLEVBQUUsU0FBUyxFQUFFLEVBQ2IsRUFBRTtJQUNGLE1BQU0saUJBQWlCLEdBQ3JCLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0NBQWtCLENBQUMsQ0FBQTtJQUV2QyxNQUFNLFFBQVEsR0FDWixNQUFNLGlCQUFpQixDQUFDLHlCQUF5QixDQUMvQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ25CLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtRQUNYLElBQUksRUFBRSxJQUFBLDRCQUFXLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM1QixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7UUFDN0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1FBQ2pCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztRQUNyQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07UUFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSTtRQUM3QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7S0FDMUIsQ0FBQyxDQUFDLENBQ0osQ0FBQTtJQUVILE9BQU8sSUFBSSw0QkFBWSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQTtBQUM3QyxDQUFDLENBQ0YsQ0FBQSJ9
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getBlocksByTemplateStep = exports.getBlocksByTemplateStepId = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
exports.getBlocksByTemplateStepId = "get-blocks-by-template";
|
|
7
|
+
function buildTree(items) {
|
|
8
|
+
const byId = new Map();
|
|
9
|
+
const roots = [];
|
|
10
|
+
// 1) utwórz "node" dla każdego rekordu (bez relacji)
|
|
11
|
+
for (const b of items) {
|
|
12
|
+
byId.set(b.id, { ...b, children: [] });
|
|
13
|
+
}
|
|
14
|
+
// 2) podepnij do rodzica albo wrzuć do rootów
|
|
15
|
+
for (const b of items) {
|
|
16
|
+
const node = byId.get(b.id);
|
|
17
|
+
const pid = b.parent_id;
|
|
18
|
+
if (pid && byId.has(pid)) {
|
|
19
|
+
byId.get(pid).children.push(node);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
roots.push(node);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
// 3) sortowanie rekurencyjne po position (opcjonalne)
|
|
26
|
+
const sortRec = (arr) => {
|
|
27
|
+
arr.sort((a, b) => (a.position ?? 0) - (b.position ?? 0));
|
|
28
|
+
for (const n of arr)
|
|
29
|
+
sortRec(n.children);
|
|
30
|
+
};
|
|
31
|
+
sortRec(roots);
|
|
32
|
+
return roots;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Retrieves all blocks for a specific template, organized as a tree structure.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* const data = getBlocksByTemplateStep({
|
|
39
|
+
* template_id: "template_123"
|
|
40
|
+
* })
|
|
41
|
+
*/
|
|
42
|
+
exports.getBlocksByTemplateStep = (0, workflows_sdk_1.createStep)(exports.getBlocksByTemplateStepId, async (input, { container }) => {
|
|
43
|
+
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
44
|
+
if (!input.template_id) {
|
|
45
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_ARGUMENT, "Template ID is required");
|
|
46
|
+
}
|
|
47
|
+
const { data: blocks } = await query.graph({
|
|
48
|
+
entity: "mpn_builder_template_block",
|
|
49
|
+
fields: ["id", "type", "parent_id", "position", "metadata", "template_id", "template", "template.subject"],
|
|
50
|
+
filters: {
|
|
51
|
+
template_id: {
|
|
52
|
+
$in: [input.template_id],
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
const tree = buildTree(blocks);
|
|
57
|
+
return new workflows_sdk_1.StepResponse({
|
|
58
|
+
blocks: tree
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWJsb2Nrcy1ieS10ZW1wbGF0ZS1pZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvbXBuLWJ1aWxkZXIvc3RlcHMvZ2V0LWJsb2Nrcy1ieS10ZW1wbGF0ZS1pZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFHa0M7QUFDbEMscUVBRzBDO0FBcUI3QixRQUFBLHlCQUF5QixHQUFHLHdCQUF3QixDQUFBO0FBRWpFLFNBQVMsU0FBUyxDQUFDLEtBQWM7SUFDL0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQXFCLENBQUE7SUFDekMsTUFBTSxLQUFLLEdBQWdCLEVBQUUsQ0FBQTtJQUU3QixxREFBcUQ7SUFDckQsS0FBSyxNQUFNLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUN4QyxDQUFDO0lBRUQsOENBQThDO0lBQzlDLEtBQUssTUFBTSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUM7UUFDdEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFFLENBQUE7UUFDNUIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtRQUV2QixJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3BDLENBQUM7YUFBTSxDQUFDO1lBQ04sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNsQixDQUFDO0lBQ0gsQ0FBQztJQUVELHNEQUFzRDtJQUN0RCxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQWdCLEVBQUUsRUFBRTtRQUNuQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3pELEtBQUssTUFBTSxDQUFDLElBQUksR0FBRztZQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDMUMsQ0FBQyxDQUFBO0lBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRWQsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNVLFFBQUEsdUJBQXVCLEdBQUcsSUFBQSwwQkFBVSxFQUMvQyxpQ0FBeUIsRUFDekIsS0FBSyxFQUNILEtBQW1DLEVBQ25DLEVBQUUsU0FBUyxFQUFFLEVBQ3lDLEVBQUU7SUFDeEQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FDN0IsaUNBQXlCLENBQUMsS0FBSyxDQUNoQyxDQUFBO0lBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QixNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQ2xDLHlCQUF5QixDQUMxQixDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3pDLE1BQU0sRUFBRSw0QkFBNEI7UUFDcEMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixDQUFDO1FBQzFHLE9BQU8sRUFBRTtZQUNQLFdBQVcsRUFBRTtnQkFDWCxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO2FBQ3pCO1NBQ0Y7S0FDRixDQUFDLENBQUE7SUFFRixNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsTUFBaUIsQ0FBQyxDQUFBO0lBRXpDLE9BQU8sSUFBSSw0QkFBWSxDQUFDO1FBQ3RCLE1BQU0sRUFBRSxJQUFJO0tBQ2IsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUNGLENBQUEifQ==
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getServicesTypesTemplatesStep = exports.getServicesTypesTemplatesStepId = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const mpn_builder_1 = require("../../../modules/mpn-builder");
|
|
6
|
+
const get_template_1 = require("../get-template");
|
|
7
|
+
exports.getServicesTypesTemplatesStepId = "get-services-types-templates";
|
|
8
|
+
/**
|
|
9
|
+
* Retrieves services, types and templates. If service_id is provided, returns only templates for that service.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* const data = getServicesTypesTemplatesStep({
|
|
13
|
+
* service_id: "email"
|
|
14
|
+
* })
|
|
15
|
+
*/
|
|
16
|
+
exports.getServicesTypesTemplatesStep = (0, workflows_sdk_1.createStep)(exports.getServicesTypesTemplatesStepId, async (input, { container }) => {
|
|
17
|
+
const mpnBuilderService = container.resolve(mpn_builder_1.MPN_BUILDER_MODULE);
|
|
18
|
+
let listTemplateServices = mpnBuilderService.listTemplateServices();
|
|
19
|
+
// Filter by service_id if provided
|
|
20
|
+
if (input.service_id) {
|
|
21
|
+
listTemplateServices = listTemplateServices.filter((service) => service.id === input.service_id);
|
|
22
|
+
}
|
|
23
|
+
const newTemplates = await Promise.all(listTemplateServices.map(async (template) => {
|
|
24
|
+
const serviceTemplate = mpnBuilderService.getTemplateService(template.id)?.templateService;
|
|
25
|
+
let templates = [];
|
|
26
|
+
try {
|
|
27
|
+
const { result } = await (0, get_template_1.getTemplateWorkflow)(container).run({
|
|
28
|
+
input: {
|
|
29
|
+
channel: template.id,
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
templates = result?.templates || [];
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
// If no templates found, return empty array
|
|
36
|
+
templates = [];
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
id: template.id,
|
|
40
|
+
label: template.label,
|
|
41
|
+
channel: template.id,
|
|
42
|
+
templates: {
|
|
43
|
+
system: serviceTemplate?.getSystemTemplates(),
|
|
44
|
+
external: serviceTemplate?.getExternalTemplates(),
|
|
45
|
+
db: templates,
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}));
|
|
49
|
+
return new workflows_sdk_1.StepResponse({
|
|
50
|
+
templates: newTemplates
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXNlcnZpY2VzLXR5cGVzLXRlbXBsYXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvbXBuLWJ1aWxkZXIvc3RlcHMvZ2V0LXNlcnZpY2VzLXR5cGVzLXRlbXBsYXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFHNEM7QUFFMUMsOERBQWlFO0FBQ2pFLGtEQUFxRDtBQVV4QyxRQUFBLCtCQUErQixHQUFHLDhCQUE4QixDQUFBO0FBRTdFOzs7Ozs7O0dBT0c7QUFDVSxRQUFBLDZCQUE2QixHQUFHLElBQUEsMEJBQVUsRUFDckQsdUNBQStCLEVBQy9CLEtBQUssRUFDSCxLQUF5QyxFQUN6QyxFQUFFLFNBQVMsRUFBRSxFQUMrQyxFQUFFO0lBQ2hFLE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FDdkMsZ0NBQWtCLENBQ0UsQ0FBQTtJQUV0QixJQUFJLG9CQUFvQixHQUFHLGlCQUFpQixDQUFDLG9CQUFvQixFQUFFLENBQUE7SUFFbkUsbUNBQW1DO0lBQ25DLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3JCLG9CQUFvQixHQUFHLG9CQUFvQixDQUFDLE1BQU0sQ0FDaEQsQ0FBQyxPQUFZLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLFVBQVUsQ0FDbEQsQ0FBQTtJQUNILENBQUM7SUFFRCxNQUFNLFlBQVksR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxRQUFhLEVBQUUsRUFBRTtRQUN0RixNQUFNLGVBQWUsR0FBRyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUUsZUFBZSxDQUFBO1FBRTFGLElBQUksU0FBUyxHQUFVLEVBQUUsQ0FBQTtRQUN6QixJQUFJLENBQUM7WUFDSCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFBLGtDQUFtQixFQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztnQkFDMUQsS0FBSyxFQUFFO29CQUNMLE9BQU8sRUFBRSxRQUFRLENBQUMsRUFBRTtpQkFDckI7YUFDRixDQUFDLENBQUE7WUFDRixTQUFTLEdBQUcsTUFBTSxFQUFFLFNBQVMsSUFBSSxFQUFFLENBQUE7UUFDckMsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZiw0Q0FBNEM7WUFDNUMsU0FBUyxHQUFHLEVBQUUsQ0FBQTtRQUNoQixDQUFDO1FBRUQsT0FBTztZQUNMLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFBRTtZQUNmLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSztZQUNyQixPQUFPLEVBQUUsUUFBUSxDQUFDLEVBQUU7WUFDcEIsU0FBUyxFQUFFO2dCQUNULE1BQU0sRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUU7Z0JBQzdDLFFBQVEsRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUU7Z0JBQ2pELEVBQUUsRUFBRSxTQUFTO2FBQ2Q7U0FDRixDQUFBO0lBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUVILE9BQU8sSUFBSSw0QkFBWSxDQUFDO1FBQ3RCLFNBQVMsRUFBRSxZQUFZO0tBQ3hCLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FDRixDQUFBIn0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTemplateServicesStep = exports.getTemplateServicesStepId = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
const mpn_builder_1 = require("../../../modules/mpn-builder");
|
|
7
|
+
exports.getTemplateServicesStepId = "get-template-services";
|
|
8
|
+
/**
|
|
9
|
+
* Retrieves available template services filtered by type.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* const data = getTemplateServicesStep({
|
|
13
|
+
* type: "email"
|
|
14
|
+
* })
|
|
15
|
+
*/
|
|
16
|
+
exports.getTemplateServicesStep = (0, workflows_sdk_1.createStep)(exports.getTemplateServicesStepId, async (input, { container }) => {
|
|
17
|
+
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
18
|
+
const mpnBuilderService = container.resolve(mpn_builder_1.MPN_BUILDER_MODULE);
|
|
19
|
+
const listTemplateServices = mpnBuilderService.listTemplateServices(input.type);
|
|
20
|
+
return new workflows_sdk_1.StepResponse({
|
|
21
|
+
list: listTemplateServices
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXRlbXBsYXRlLXNlcnZpY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9tcG4tYnVpbGRlci9zdGVwcy9nZXQtdGVtcGxhdGUtc2VydmljZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBRWtDO0FBQ2xDLHFFQUcwQztBQUUxQyw4REFBaUU7QUFVcEQsUUFBQSx5QkFBeUIsR0FBRyx1QkFBdUIsQ0FBQTtBQUVoRTs7Ozs7OztHQU9HO0FBQ1UsUUFBQSx1QkFBdUIsR0FBRyxJQUFBLDBCQUFVLEVBQy9DLGlDQUF5QixFQUN6QixLQUFLLEVBQ0gsS0FBbUMsRUFDbkMsRUFBRSxTQUFTLEVBQUUsRUFDeUMsRUFBRTtJQUN4RCxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUM3QixpQ0FBeUIsQ0FBQyxLQUFLLENBQ2hDLENBQUE7SUFFRCxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQ3pDLGdDQUFrQixDQUNFLENBQUE7SUFFdEIsTUFBTSxvQkFBb0IsR0FBRyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7SUFFL0UsT0FBTyxJQUFJLDRCQUFZLENBQUM7UUFDdEIsSUFBSSxFQUFFLG9CQUFvQjtLQUMzQixDQUFDLENBQUE7QUFDSixDQUFDLENBQ0YsQ0FBQSJ9
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTemplateTypesStep = exports.getTemplateTypesStepId = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
const mpn_builder_1 = require("../../../modules/mpn-builder");
|
|
7
|
+
exports.getTemplateTypesStepId = "get-template-types";
|
|
8
|
+
/**
|
|
9
|
+
* Retrieves all available template types.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* const data = getTemplateTypesStep()
|
|
13
|
+
*/
|
|
14
|
+
exports.getTemplateTypesStep = (0, workflows_sdk_1.createStep)(exports.getTemplateTypesStepId, async (input, { container }) => {
|
|
15
|
+
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
16
|
+
const mpnBuilderService = container.resolve(mpn_builder_1.MPN_BUILDER_MODULE);
|
|
17
|
+
const listTemplateTypes = mpnBuilderService.getTemplateTypes();
|
|
18
|
+
return new workflows_sdk_1.StepResponse({
|
|
19
|
+
list: listTemplateTypes
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXRlbXBsYXRlLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9tcG4tYnVpbGRlci9zdGVwcy9nZXQtdGVtcGxhdGUtdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBRWtDO0FBQ2xDLHFFQUcwQztBQUUxQyw4REFBaUU7QUFTcEQsUUFBQSxzQkFBc0IsR0FBRyxvQkFBb0IsQ0FBQTtBQUUxRDs7Ozs7R0FLRztBQUNVLFFBQUEsb0JBQW9CLEdBQUcsSUFBQSwwQkFBVSxFQUM1Qyw4QkFBc0IsRUFDdEIsS0FBSyxFQUNILEtBQWdDLEVBQ2hDLEVBQUUsU0FBUyxFQUFFLEVBQ3NDLEVBQUU7SUFDckQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FDN0IsaUNBQXlCLENBQUMsS0FBSyxDQUNoQyxDQUFBO0lBRUQsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUN6QyxnQ0FBa0IsQ0FDRSxDQUFBO0lBRXRCLE1BQU0saUJBQWlCLEdBQUcsaUJBQWlCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtJQUU5RCxPQUFPLElBQUksNEJBQVksQ0FBQztRQUN0QixJQUFJLEVBQUUsaUJBQWlCO0tBQ3hCLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FDRixDQUFBIn0=
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTemplateStep = exports.getTemplateStepId = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
exports.getTemplateStepId = "get-template";
|
|
7
|
+
/**
|
|
8
|
+
* Retrieves templates matching the provided filters (template_id, channel, name, locale, active).
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* const data = getTemplateStep({
|
|
12
|
+
* channel: "email",
|
|
13
|
+
* name: "welcome",
|
|
14
|
+
* locale: "en",
|
|
15
|
+
* active: true
|
|
16
|
+
* })
|
|
17
|
+
*/
|
|
18
|
+
exports.getTemplateStep = (0, workflows_sdk_1.createStep)(exports.getTemplateStepId, async (input, { container }) => {
|
|
19
|
+
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
20
|
+
const filters = {};
|
|
21
|
+
if (input.template_id) {
|
|
22
|
+
filters.id = {
|
|
23
|
+
$eq: input.template_id,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
if (input.channel) {
|
|
27
|
+
filters.channel = {
|
|
28
|
+
$eq: input.channel,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
if (input.name) {
|
|
32
|
+
filters.name = {
|
|
33
|
+
$eq: input.name,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
if (input.locale) {
|
|
37
|
+
filters.locale = {
|
|
38
|
+
$eq: input.locale,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
if (input.active) {
|
|
42
|
+
filters.is_active = {
|
|
43
|
+
$eq: input.active,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
const fields = [
|
|
47
|
+
"id",
|
|
48
|
+
"name",
|
|
49
|
+
"label",
|
|
50
|
+
"description",
|
|
51
|
+
"channel",
|
|
52
|
+
"locale",
|
|
53
|
+
"subject",
|
|
54
|
+
"is_active",
|
|
55
|
+
"created_at",
|
|
56
|
+
"updated_at",
|
|
57
|
+
...(input.fields || []),
|
|
58
|
+
];
|
|
59
|
+
const { data: templates } = await query.graph({
|
|
60
|
+
entity: "mpn_builder_template",
|
|
61
|
+
fields: fields,
|
|
62
|
+
filters,
|
|
63
|
+
});
|
|
64
|
+
if (!templates || templates.length === 0) {
|
|
65
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Template with filters: ${JSON.stringify(filters)} was not found`);
|
|
66
|
+
}
|
|
67
|
+
return new workflows_sdk_1.StepResponse({
|
|
68
|
+
templates: templates,
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXRlbXBsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9tcG4tYnVpbGRlci9zdGVwcy9nZXQtdGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBR2tDO0FBQ2xDLHFFQUcwQztBQWU3QixRQUFBLGlCQUFpQixHQUFHLGNBQWMsQ0FBQTtBQUUvQzs7Ozs7Ozs7OztHQVVHO0FBQ1UsUUFBQSxlQUFlLEdBQUcsSUFBQSwwQkFBVSxFQUN2Qyx5QkFBaUIsRUFDakIsS0FBSyxFQUNILEtBQTJCLEVBQzNCLEVBQUUsU0FBUyxFQUFFLEVBQ2lDLEVBQUU7SUFDaEQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FDN0IsaUNBQXlCLENBQUMsS0FBSyxDQUNoQyxDQUFBO0lBRUQsTUFBTSxPQUFPLEdBQVEsRUFBRSxDQUFBO0lBRXZCLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sQ0FBQyxFQUFFLEdBQUc7WUFDWCxHQUFHLEVBQUUsS0FBSyxDQUFDLFdBQVc7U0FDdkIsQ0FBQTtJQUNILENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNsQixPQUFPLENBQUMsT0FBTyxHQUFHO1lBQ2hCLEdBQUcsRUFBRSxLQUFLLENBQUMsT0FBTztTQUNuQixDQUFBO0lBQ0gsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLElBQUksR0FBRztZQUNiLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSTtTQUNoQixDQUFBO0lBQ0gsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2pCLE9BQU8sQ0FBQyxNQUFNLEdBQUc7WUFDZixHQUFHLEVBQUUsS0FBSyxDQUFDLE1BQU07U0FDbEIsQ0FBQTtJQUNILENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNqQixPQUFPLENBQUMsU0FBUyxHQUFHO1lBQ2xCLEdBQUcsRUFBRSxLQUFLLENBQUMsTUFBTTtTQUNsQixDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0sTUFBTSxHQUFHO1FBQ2IsSUFBSTtRQUNKLE1BQU07UUFDTixPQUFPO1FBQ1AsYUFBYTtRQUNiLFNBQVM7UUFDVCxRQUFRO1FBQ1IsU0FBUztRQUNULFdBQVc7UUFDWCxZQUFZO1FBQ1osWUFBWTtRQUNaLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztLQUN4QixDQUFBO0lBRUQsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDNUMsTUFBTSxFQUFFLHNCQUFzQjtRQUM5QixNQUFNLEVBQUUsTUFBTTtRQUNkLE9BQU87S0FDUixDQUFDLENBQUE7SUFFRixJQUFJLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekMsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFDM0IsMEJBQTBCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUNsRSxDQUFBO0lBQ0gsQ0FBQztJQUVELE9BQU8sSUFBSSw0QkFBWSxDQUFDO1FBQ3RCLFNBQVMsRUFBRSxTQUFTO0tBQ3JCLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FDRixDQUFBIn0=
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTemplatesByTypeServiceStep = exports.getTemplatesByTypeServiceStepId = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
const mpn_builder_1 = require("../../../modules/mpn-builder");
|
|
7
|
+
const get_template_1 = require("../get-template");
|
|
8
|
+
exports.getTemplatesByTypeServiceStepId = "get-templates-by-type-service";
|
|
9
|
+
/**
|
|
10
|
+
* This step retrieves templates filtered by type and service.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* const data = getTemplatesByTypeServiceStep({
|
|
14
|
+
* type_id: "db",
|
|
15
|
+
* service_id: "email"
|
|
16
|
+
* })
|
|
17
|
+
*/
|
|
18
|
+
exports.getTemplatesByTypeServiceStep = (0, workflows_sdk_1.createStep)(exports.getTemplatesByTypeServiceStepId, async (input, { container }) => {
|
|
19
|
+
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
20
|
+
const mpnBuilderService = container.resolve(mpn_builder_1.MPN_BUILDER_MODULE);
|
|
21
|
+
const { type_id, service_id } = input;
|
|
22
|
+
let templates = [];
|
|
23
|
+
if (type_id === "db") {
|
|
24
|
+
const { result: templatesResult } = await (0, get_template_1.getTemplateWorkflow)(container).run({
|
|
25
|
+
input: {
|
|
26
|
+
channel: service_id,
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
templates = templatesResult?.templates;
|
|
30
|
+
}
|
|
31
|
+
if (type_id === "system") {
|
|
32
|
+
const serviceTemplate = mpnBuilderService.getTemplateService(service_id)?.templateService;
|
|
33
|
+
templates =
|
|
34
|
+
serviceTemplate?.getSystemTemplates() || [];
|
|
35
|
+
}
|
|
36
|
+
if (type_id === "external") {
|
|
37
|
+
const serviceTemplate = mpnBuilderService.getTemplateService(service_id)?.templateService;
|
|
38
|
+
templates =
|
|
39
|
+
serviceTemplate?.getExternalTemplates() || [];
|
|
40
|
+
}
|
|
41
|
+
return new workflows_sdk_1.StepResponse({
|
|
42
|
+
templates: templates,
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXRlbXBsYXRlcy1ieS10eXBlLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL21wbi1idWlsZGVyL3N0ZXBzL2dldC10ZW1wbGF0ZXMtYnktdHlwZS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUFxRTtBQUNyRSxxRUFHMEM7QUFFMUMsOERBQWlFO0FBQ2pFLGtEQUFxRDtBQVd4QyxRQUFBLCtCQUErQixHQUFHLCtCQUErQixDQUFBO0FBRTlFOzs7Ozs7OztHQVFHO0FBQ1UsUUFBQSw2QkFBNkIsR0FBRyxJQUFBLDBCQUFVLEVBQ3JELHVDQUErQixFQUMvQixLQUFLLEVBQ0gsS0FBeUMsRUFDekMsRUFBRSxTQUFTLEVBQUUsRUFDK0MsRUFBRTtJQUM5RCxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUM3QixpQ0FBeUIsQ0FBQyxLQUFLLENBQ2hDLENBQUE7SUFFRCxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQ3pDLGdDQUFrQixDQUNFLENBQUE7SUFFdEIsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxLQUFLLENBQUE7SUFFckMsSUFBSSxTQUFTLEdBQVUsRUFBRSxDQUFBO0lBRXpCLElBQUksT0FBTyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3JCLE1BQU0sRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLEdBQy9CLE1BQU0sSUFBQSxrQ0FBbUIsRUFBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDdkMsS0FBSyxFQUFFO2dCQUNMLE9BQU8sRUFBRSxVQUFVO2FBQ3BCO1NBQ0YsQ0FBQyxDQUFBO1FBRUosU0FBUyxHQUFHLGVBQWUsRUFBRSxTQUFTLENBQUE7SUFDeEMsQ0FBQztJQUVELElBQUksT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sZUFBZSxHQUNuQixpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FDbEMsVUFBVSxDQUNYLEVBQUUsZUFBZSxDQUFBO1FBQ3BCLFNBQVM7WUFDUCxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLENBQUE7SUFDL0MsQ0FBQztJQUVELElBQUksT0FBTyxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQzNCLE1BQU0sZUFBZSxHQUNuQixpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FDbEMsVUFBVSxDQUNYLEVBQUUsZUFBZSxDQUFBO1FBQ3BCLFNBQVM7WUFDUCxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsSUFBSSxFQUFFLENBQUE7SUFDakQsQ0FBQztJQUVELE9BQU8sSUFBSSw0QkFBWSxDQUFDO1FBQ3RCLFNBQVMsRUFBRSxTQUFTO0tBQ3JCLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FDRixDQUFBIn0=
|
|
@@ -0,0 +1,21 @@
|
|
|
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("./create-template"), exports);
|
|
18
|
+
__exportStar(require("./edit-template"), exports);
|
|
19
|
+
__exportStar(require("./delete-template"), exports);
|
|
20
|
+
__exportStar(require("./get-template"), exports);
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL21wbi1idWlsZGVyL3N0ZXBzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBaUM7QUFDakMsa0RBQStCO0FBQy9CLG9EQUFpQztBQUNqQyxpREFBOEIifQ==
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.emailServiceWorkflow = exports.emailServiceWorkflowName = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const email_service_1 = require("./steps/email-service");
|
|
6
|
+
exports.emailServiceWorkflowName = "mpn-builder-email-service";
|
|
7
|
+
/**
|
|
8
|
+
* This workflow renders an email template using the email service.
|
|
9
|
+
*
|
|
10
|
+
* @param input - The input for the workflow.
|
|
11
|
+
* - template_id: Required - The ID of the template to render. It can be a system template or a database template.
|
|
12
|
+
* - data: Required - The data to render the template with.
|
|
13
|
+
* - options: Optional - The options to render the template with.
|
|
14
|
+
*
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* const { html, text, subject } = emailServiceWorkflow({
|
|
18
|
+
* template_id: "system_template_123", // or "123" - ID from the database template
|
|
19
|
+
* data: {
|
|
20
|
+
* name: "John Doe",
|
|
21
|
+
* },
|
|
22
|
+
* })
|
|
23
|
+
*/
|
|
24
|
+
exports.emailServiceWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.emailServiceWorkflowName, (input) => {
|
|
25
|
+
const { html, text, subject } = (0, email_service_1.emailServiceStep)(input);
|
|
26
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
27
|
+
html,
|
|
28
|
+
text,
|
|
29
|
+
subject,
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvbXBuLWJ1aWxkZXItc2VydmljZXMvZW1haWwtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFHMEM7QUFDMUMseURBQXdEO0FBRTNDLFFBQUEsd0JBQXdCLEdBQUcsMkJBQTJCLENBQUE7QUFFbkU7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDVSxRQUFBLG9CQUFvQixHQUFHLElBQUEsOEJBQWMsRUFDaEQsZ0NBQXdCLEVBQ3hCLENBQUMsS0FBVSxFQUFFLEVBQUU7SUFDYixNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFBLGdDQUFnQixFQUFDLEtBQUssQ0FBQyxDQUFBO0lBRXZELE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQztRQUMxQixJQUFJO1FBQ0osSUFBSTtRQUNKLE9BQU87S0FDUixDQUFDLENBQUE7QUFDSixDQUFDLENBQ0YsQ0FBQSJ9
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.slackServiceWorkflow = exports.slackServiceWorkflowName = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const slack_service_1 = require("./steps/slack-service");
|
|
6
|
+
exports.slackServiceWorkflowName = "mpn-builder-slack-service";
|
|
7
|
+
/**
|
|
8
|
+
* This workflow renders a Slack template using the Slack service.
|
|
9
|
+
*
|
|
10
|
+
* @param input - The input for the workflow.
|
|
11
|
+
* - template_id: Required - The ID of the template to render. It can be a system template or a database template.
|
|
12
|
+
* - data: Required - The data to render the template with.
|
|
13
|
+
* - options: Optional - The options to render the template with.
|
|
14
|
+
*
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* const { blocks } = slackServiceWorkflow({
|
|
18
|
+
* template_id: "system_template_123", // or "123" - ID from the database template
|
|
19
|
+
* data: {
|
|
20
|
+
* name: "John Doe",
|
|
21
|
+
* },
|
|
22
|
+
* options: {
|
|
23
|
+
* locale: "en",
|
|
24
|
+
* },
|
|
25
|
+
* })
|
|
26
|
+
*/
|
|
27
|
+
exports.slackServiceWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.slackServiceWorkflowName, (input) => {
|
|
28
|
+
const { blocks } = (0, slack_service_1.slackServiceStep)(input);
|
|
29
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
30
|
+
blocks: blocks,
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xhY2stc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvbXBuLWJ1aWxkZXItc2VydmljZXMvc2xhY2stc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFHMEM7QUFDMUMseURBQXdEO0FBRTNDLFFBQUEsd0JBQXdCLEdBQUcsMkJBQTJCLENBQUE7QUFFbkU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFDVSxRQUFBLG9CQUFvQixHQUFHLElBQUEsOEJBQWMsRUFDaEQsZ0NBQXdCLEVBQ3hCLENBQUMsS0FBVSxFQUFFLEVBQUU7SUFDYixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBQSxnQ0FBZ0IsRUFBQyxLQUFLLENBQUMsQ0FBQTtJQUUxQyxPQUFPLElBQUksZ0NBQWdCLENBQUM7UUFDMUIsTUFBTSxFQUFFLE1BQU07S0FDZixDQUFDLENBQUE7QUFDSixDQUFDLENBQ0YsQ0FBQSJ9
|