@lodashventure/medusa-notification-webhook 0.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.
@@ -0,0 +1,13 @@
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.EVENT_HOOK_MODULE = void 0;
7
+ const utils_1 = require("@medusajs/framework/utils");
8
+ const service_1 = __importDefault(require("./service"));
9
+ exports.EVENT_HOOK_MODULE = "event_hook";
10
+ exports.default = (0, utils_1.Module)(exports.EVENT_HOOK_MODULE, {
11
+ service: service_1.default,
12
+ });
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9ldmVudC1ob29rL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHFEQUFtRDtBQUNuRCx3REFBK0M7QUFFbEMsUUFBQSxpQkFBaUIsR0FBRyxZQUFZLENBQUM7QUFFOUMsa0JBQWUsSUFBQSxjQUFNLEVBQUMseUJBQWlCLEVBQUU7SUFDdkMsT0FBTyxFQUFFLGlCQUFzQjtDQUNoQyxDQUFDLENBQUMifQ==
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9ldmVudC1ob29rL21vZHVsZS1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("@medusajs/framework/utils");
4
+ class EventHookModuleService extends (0, utils_1.MedusaService)({}) {
5
+ constructor({}, options) {
6
+ super(...arguments);
7
+ this._options = options ?? {
8
+ webHookConfig: {},
9
+ };
10
+ }
11
+ async getWebHookOptions() {
12
+ return this._options.webHookConfig;
13
+ }
14
+ }
15
+ exports.default = EventHookModuleService;
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2V2ZW50LWhvb2svc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFEQUEwRDtBQUcxRCxNQUFxQixzQkFBdUIsU0FBUSxJQUFBLHFCQUFhLEVBQUMsRUFBRSxDQUFDO0lBR25FLFlBQVksRUFBRSxFQUFFLE9BQXVCO1FBQ3JDLEtBQUssQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDO1FBRXBCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxJQUFJO1lBQ3pCLGFBQWEsRUFBRSxFQUFFO1NBQ2xCLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLGlCQUFpQjtRQUNyQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO0lBQ3JDLENBQUM7Q0FDRjtBQWRELHlDQWNDIn0=
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.customerFields = void 0;
4
+ exports.customerFields = [
5
+ // customer
6
+ "customer.id",
7
+ "customer.email",
8
+ "customer.phone",
9
+ "customer.has_account",
10
+ "customer.first_name",
11
+ "customer.last_name",
12
+ "customer.company_name",
13
+ ];
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItZmllbGRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL2NvbnN0YW50cy9jdXN0b21lci1maWVsZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxjQUFjLEdBQUc7SUFDNUIsV0FBVztJQUNYLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLHNCQUFzQjtJQUN0QixxQkFBcUI7SUFDckIsb0JBQW9CO0lBQ3BCLHVCQUF1QjtDQUN4QixDQUFDIn0=
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.orderFields = void 0;
4
+ const query_config_1 = require("@medusajs/medusa/api/admin/orders/query-config");
5
+ exports.orderFields = [
6
+ // ref: https://github.com/medusajs/medusa/blob/v2.4.0/packages/medusa/src/api/admin/orders/query-config.ts
7
+ ...query_config_1.defaultAdminOrderFields,
8
+ "region_id",
9
+ "total",
10
+ "subtotal",
11
+ "tax_total",
12
+ "order_change",
13
+ "discount_total",
14
+ "discount_tax_total",
15
+ "original_total",
16
+ "original_tax_total",
17
+ "item_total",
18
+ "item_subtotal",
19
+ "item_tax_total",
20
+ "original_item_total",
21
+ "original_item_subtotal",
22
+ "original_item_tax_total",
23
+ "shipping_total",
24
+ "shipping_subtotal",
25
+ "shipping_tax_total",
26
+ "original_shipping_tax_total",
27
+ "original_shipping_subtotal",
28
+ "original_shipping_total",
29
+ "items",
30
+ "shipping_address",
31
+ "billing_address",
32
+ "shipping_methods.*",
33
+ "shipping_methods.tax_lines",
34
+ "shipping_methods.adjustments",
35
+ "payment_collections",
36
+ // customer
37
+ "customer.id",
38
+ "customer.email",
39
+ "customer.phone",
40
+ "customer.has_account",
41
+ "customer.first_name",
42
+ "customer.last_name",
43
+ "customer.company_name",
44
+ ];
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItZmllbGRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL2NvbnN0YW50cy9vcmRlci1maWVsZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUZBQXlGO0FBRTVFLFFBQUEsV0FBVyxHQUFHO0lBQ3pCLDJHQUEyRztJQUMzRyxHQUFHLHNDQUF1QjtJQUMxQixXQUFXO0lBQ1gsT0FBTztJQUNQLFVBQVU7SUFDVixXQUFXO0lBQ1gsY0FBYztJQUNkLGdCQUFnQjtJQUNoQixvQkFBb0I7SUFDcEIsZ0JBQWdCO0lBQ2hCLG9CQUFvQjtJQUNwQixZQUFZO0lBQ1osZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixxQkFBcUI7SUFDckIsd0JBQXdCO0lBQ3hCLHlCQUF5QjtJQUN6QixnQkFBZ0I7SUFDaEIsbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQiw2QkFBNkI7SUFDN0IsNEJBQTRCO0lBQzVCLHlCQUF5QjtJQUN6QixPQUFPO0lBQ1Asa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIsNEJBQTRCO0lBQzVCLDhCQUE4QjtJQUM5QixxQkFBcUI7SUFDckIsV0FBVztJQUNYLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLHNCQUFzQjtJQUN0QixxQkFBcUI7SUFDckIsb0JBQW9CO0lBQ3BCLHVCQUF1QjtDQUN4QixDQUFDIn0=
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.quoteFields = void 0;
4
+ exports.quoteFields = [
5
+ "id",
6
+ "status",
7
+ "cart.id",
8
+ "draft_order.id",
9
+ "draft_order.currency_code",
10
+ "draft_order.display_id",
11
+ "draft_order.region_id",
12
+ "draft_order.status",
13
+ "draft_order.version",
14
+ "draft_order.summary",
15
+ "draft_order.total",
16
+ "draft_order.subtotal",
17
+ "draft_order.tax_total",
18
+ "draft_order.order_change",
19
+ "draft_order.discount_total",
20
+ "draft_order.discount_tax_total",
21
+ "draft_order.original_total",
22
+ "draft_order.original_tax_total",
23
+ "draft_order.item_total",
24
+ "draft_order.item_subtotal",
25
+ "draft_order.item_tax_total",
26
+ "draft_order.original_item_total",
27
+ "draft_order.original_item_subtotal",
28
+ "draft_order.original_item_tax_total",
29
+ "draft_order.shipping_total",
30
+ "draft_order.shipping_subtotal",
31
+ "draft_order.shipping_tax_total",
32
+ "draft_order.original_shipping_tax_total",
33
+ "draft_order.original_shipping_subtotal",
34
+ "draft_order.original_shipping_total",
35
+ "draft_order.created_at",
36
+ "draft_order.updated_at",
37
+ "draft_order.items.*",
38
+ "draft_order.items.tax_lines.*",
39
+ "draft_order.items.adjustments.*",
40
+ "draft_order.items.variant.*",
41
+ "draft_order.items.variant.product.*",
42
+ "draft_order.items.detail.*",
43
+ "draft_order.payment_collections.*",
44
+ ];
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVvdGUtZmllbGRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL2NvbnN0YW50cy9xdW90ZS1maWVsZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxXQUFXLEdBQUc7SUFDekIsSUFBSTtJQUNKLFFBQVE7SUFDUixTQUFTO0lBQ1QsZ0JBQWdCO0lBQ2hCLDJCQUEyQjtJQUMzQix3QkFBd0I7SUFDeEIsdUJBQXVCO0lBQ3ZCLG9CQUFvQjtJQUNwQixxQkFBcUI7SUFDckIscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQixzQkFBc0I7SUFDdEIsdUJBQXVCO0lBQ3ZCLDBCQUEwQjtJQUMxQiw0QkFBNEI7SUFDNUIsZ0NBQWdDO0lBQ2hDLDRCQUE0QjtJQUM1QixnQ0FBZ0M7SUFDaEMsd0JBQXdCO0lBQ3hCLDJCQUEyQjtJQUMzQiw0QkFBNEI7SUFDNUIsaUNBQWlDO0lBQ2pDLG9DQUFvQztJQUNwQyxxQ0FBcUM7SUFDckMsNEJBQTRCO0lBQzVCLCtCQUErQjtJQUMvQixnQ0FBZ0M7SUFDaEMseUNBQXlDO0lBQ3pDLHdDQUF3QztJQUN4QyxxQ0FBcUM7SUFDckMsd0JBQXdCO0lBQ3hCLHdCQUF3QjtJQUN4QixxQkFBcUI7SUFDckIsK0JBQStCO0lBQy9CLGlDQUFpQztJQUNqQyw2QkFBNkI7SUFDN0IscUNBQXFDO0lBQ3JDLDRCQUE0QjtJQUM1QixtQ0FBbUM7Q0FDcEMsQ0FBQyJ9
@@ -0,0 +1,51 @@
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.config = void 0;
7
+ exports.default = orderFulfillmentCreatedHandler;
8
+ const utils_1 = require("@medusajs/framework/utils");
9
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
10
+ const event_hook_1 = require("../modules/event-hook");
11
+ const call_external_api_1 = __importDefault(require("../workflows/call-external-api"));
12
+ const order_fields_1 = require("./constants/order-fields");
13
+ // subscriber function
14
+ async function orderFulfillmentCreatedHandler({ event: { data }, container, }) {
15
+ const eventHookService = container.resolve(event_hook_1.EVENT_HOOK_MODULE);
16
+ const webHookOptions = await eventHookService.getWebHookOptions();
17
+ const webHookOption = webHookOptions.deliveryStartedHook;
18
+ if (!webHookOption?.url) {
19
+ return;
20
+ }
21
+ if (!webHookOption.authHeader?.headerAuthKey ||
22
+ !webHookOption.authHeader?.headerAuthValue) {
23
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNAUTHORIZED, "Please provide auth header key and value");
24
+ }
25
+ const { result: order } = await core_flows_1.getOrderDetailWorkflow.run({
26
+ input: {
27
+ order_id: data.order_id,
28
+ fields: order_fields_1.orderFields,
29
+ },
30
+ container: container,
31
+ });
32
+ const payload = {
33
+ name: webHookOption.name,
34
+ payload: { order },
35
+ };
36
+ await call_external_api_1.default.run({
37
+ input: {
38
+ name: webHookOption.name ?? "order-fulfillment-created",
39
+ url: webHookOption.url,
40
+ authKey: webHookOption.authHeader.headerAuthKey,
41
+ authValue: webHookOption.authHeader.headerAuthValue,
42
+ type: "DELIVERY_STARTED",
43
+ payload,
44
+ },
45
+ });
46
+ }
47
+ // subscriber config
48
+ exports.config = {
49
+ event: "order.fulfillment_created",
50
+ };
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItZnVsZmlsbG1lbnQtY3JlYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdWJzY3JpYmVycy9vcmRlci1mdWxmaWxsbWVudC1jcmVhdGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQVNBLGlEQWtEQztBQTFERCxxREFBd0Q7QUFDeEQsNERBQXFFO0FBQ3JFLHNEQUEwRDtBQUUxRCx1RkFBcUU7QUFDckUsMkRBQXVEO0FBRXZELHNCQUFzQjtBQUNQLEtBQUssVUFBVSw4QkFBOEIsQ0FBQyxFQUMzRCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFDZixTQUFTLEdBSVQ7SUFDQSxNQUFNLGdCQUFnQixHQUNwQixTQUFTLENBQUMsT0FBTyxDQUF5Qiw4QkFBaUIsQ0FBQyxDQUFDO0lBQy9ELE1BQU0sY0FBYyxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUVsRSxNQUFNLGFBQWEsR0FBRyxjQUFjLENBQUMsbUJBQW1CLENBQUM7SUFFekQsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUN4QixPQUFPO0lBQ1QsQ0FBQztJQUVELElBQ0UsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLGFBQWE7UUFDeEMsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLGVBQWUsRUFDMUMsQ0FBQztRQUNELE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLDBDQUEwQyxDQUMzQyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxtQ0FBc0IsQ0FBQyxHQUFHLENBQUM7UUFDekQsS0FBSyxFQUFFO1lBQ0wsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLE1BQU0sRUFBRSwwQkFBVztTQUNwQjtRQUNELFNBQVMsRUFBRSxTQUFTO0tBQ3JCLENBQUMsQ0FBQztJQUVILE1BQU0sT0FBTyxHQUFHO1FBQ2QsSUFBSSxFQUFFLGFBQWEsQ0FBQyxJQUFJO1FBQ3hCLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRTtLQUNuQixDQUFDO0lBRUYsTUFBTSwyQkFBdUIsQ0FBQyxHQUFHLENBQUM7UUFDaEMsS0FBSyxFQUFFO1lBQ0wsSUFBSSxFQUFFLGFBQWEsQ0FBQyxJQUFJLElBQUksMkJBQTJCO1lBQ3ZELEdBQUcsRUFBRSxhQUFhLENBQUMsR0FBRztZQUN0QixPQUFPLEVBQUUsYUFBYSxDQUFDLFVBQVUsQ0FBQyxhQUFhO1lBQy9DLFNBQVMsRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLGVBQWU7WUFDbkQsSUFBSSxFQUFFLGtCQUFrQjtZQUN4QixPQUFPO1NBQ1I7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsb0JBQW9CO0FBQ1AsUUFBQSxNQUFNLEdBQXFCO0lBQ3RDLEtBQUssRUFBRSwyQkFBMkI7Q0FDbkMsQ0FBQyJ9
@@ -0,0 +1,49 @@
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.config = void 0;
7
+ exports.default = orderPickupCancelledHandler;
8
+ const framework_1 = require("@medusajs/framework");
9
+ const utils_1 = require("@medusajs/framework/utils");
10
+ const event_hook_1 = require("../modules/event-hook");
11
+ const call_external_api_1 = __importDefault(require("../workflows/call-external-api"));
12
+ const order_fields_1 = require("./constants/order-fields");
13
+ // subscriber function
14
+ async function orderPickupCancelledHandler({ event: { data }, }) {
15
+ const eventHookService = framework_1.container.resolve(event_hook_1.EVENT_HOOK_MODULE);
16
+ const webHookOptions = await eventHookService.getWebHookOptions();
17
+ const webHookOption = webHookOptions.pickupCancelledHook;
18
+ if (!webHookOption?.url) {
19
+ return;
20
+ }
21
+ if (!webHookOption.authHeader?.headerAuthKey ||
22
+ !webHookOption.authHeader?.headerAuthValue) {
23
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNAUTHORIZED, "Please provide auth header key and value");
24
+ }
25
+ const query = framework_1.container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
26
+ const { data: [order], } = await query.graph({
27
+ entity: "order",
28
+ fields: ["pickup_date.*", ...order_fields_1.orderFields],
29
+ filters: { id: data.order_id },
30
+ }, { throwIfKeyNotFound: true });
31
+ const payload = {
32
+ name: webHookOption.name,
33
+ payload: { order },
34
+ };
35
+ await call_external_api_1.default.run({
36
+ input: {
37
+ name: webHookOption.name ?? "order-pickup-cancelled",
38
+ url: webHookOption.url,
39
+ authKey: webHookOption.authHeader.headerAuthKey,
40
+ authValue: webHookOption.authHeader.headerAuthValue,
41
+ payload,
42
+ },
43
+ });
44
+ }
45
+ // subscriber config
46
+ exports.config = {
47
+ event: "order.pickup_date.cancelled",
48
+ };
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItcGlja3VwLWNhbmNlbGxlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdWJzY3JpYmVycy9vcmRlci1waWNrdXAtY2FuY2VsbGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQWVBLDhDQXFEQztBQXBFRCxtREFJNkI7QUFDN0IscURBR21DO0FBQ25DLHNEQUEwRDtBQUUxRCx1RkFBcUU7QUFDckUsMkRBQXVEO0FBRXZELHNCQUFzQjtBQUNQLEtBQUssVUFBVSwyQkFBMkIsQ0FBQyxFQUN4RCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FJZjtJQUNBLE1BQU0sZ0JBQWdCLEdBQ3BCLHFCQUFTLENBQUMsT0FBTyxDQUF5Qiw4QkFBaUIsQ0FBQyxDQUFDO0lBQy9ELE1BQU0sY0FBYyxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUVsRSxNQUFNLGFBQWEsR0FBRyxjQUFjLENBQUMsbUJBQW1CLENBQUM7SUFFekQsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUN4QixPQUFPO0lBQ1QsQ0FBQztJQUVELElBQ0UsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLGFBQWE7UUFDeEMsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLGVBQWUsRUFDMUMsQ0FBQztRQUNELE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLDBDQUEwQyxDQUMzQyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLHFCQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWpFLE1BQU0sRUFDSixJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FDZCxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FDbkI7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxDQUFDLGVBQWUsRUFBRSxHQUFHLDBCQUFXLENBQUM7UUFDekMsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7S0FDL0IsRUFDRCxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRSxDQUM3QixDQUFDO0lBRUYsTUFBTSxPQUFPLEdBQUc7UUFDZCxJQUFJLEVBQUUsYUFBYSxDQUFDLElBQUk7UUFDeEIsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFO0tBQ25CLENBQUM7SUFFRixNQUFNLDJCQUF1QixDQUFDLEdBQUcsQ0FBQztRQUNoQyxLQUFLLEVBQUU7WUFDTCxJQUFJLEVBQUUsYUFBYSxDQUFDLElBQUksSUFBSSx3QkFBd0I7WUFDcEQsR0FBRyxFQUFFLGFBQWEsQ0FBQyxHQUFHO1lBQ3RCLE9BQU8sRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLGFBQWE7WUFDL0MsU0FBUyxFQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsZUFBZTtZQUNuRCxPQUFPO1NBQ1I7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsb0JBQW9CO0FBQ1AsUUFBQSxNQUFNLEdBQXFCO0lBQ3RDLEtBQUssRUFBRSw2QkFBNkI7Q0FDckMsQ0FBQyJ9
@@ -0,0 +1,49 @@
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.config = void 0;
7
+ exports.default = orderPickupCreatedHandler;
8
+ const framework_1 = require("@medusajs/framework");
9
+ const utils_1 = require("@medusajs/framework/utils");
10
+ const event_hook_1 = require("../modules/event-hook");
11
+ const call_external_api_1 = __importDefault(require("../workflows/call-external-api"));
12
+ const order_fields_1 = require("./constants/order-fields");
13
+ // subscriber function
14
+ async function orderPickupCreatedHandler({ event: { data }, }) {
15
+ const eventHookService = framework_1.container.resolve(event_hook_1.EVENT_HOOK_MODULE);
16
+ const webHookOptions = await eventHookService.getWebHookOptions();
17
+ const webHookOption = webHookOptions.pickupCreatedHook;
18
+ if (!webHookOption?.url) {
19
+ return;
20
+ }
21
+ if (!webHookOption.authHeader?.headerAuthKey ||
22
+ !webHookOption.authHeader?.headerAuthValue) {
23
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNAUTHORIZED, "Please provide auth header key and value");
24
+ }
25
+ const query = framework_1.container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
26
+ const { data: [order], } = await query.graph({
27
+ entity: "order",
28
+ fields: ["pickup_date.*", ...order_fields_1.orderFields],
29
+ filters: { id: data.order_id },
30
+ }, { throwIfKeyNotFound: true });
31
+ const payload = {
32
+ name: webHookOption.name,
33
+ payload: { order },
34
+ };
35
+ await call_external_api_1.default.run({
36
+ input: {
37
+ name: webHookOption.name ?? "order-pickup-created",
38
+ url: webHookOption.url,
39
+ authKey: webHookOption.authHeader.headerAuthKey,
40
+ authValue: webHookOption.authHeader.headerAuthValue,
41
+ payload,
42
+ },
43
+ });
44
+ }
45
+ // subscriber config
46
+ exports.config = {
47
+ event: "order.pickup_date.created",
48
+ };
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItcGlja3VwLWNyZWF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3Vic2NyaWJlcnMvb3JkZXItcGlja3VwLWNyZWF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBZUEsNENBcURDO0FBcEVELG1EQUk2QjtBQUM3QixxREFHbUM7QUFDbkMsc0RBQTBEO0FBRTFELHVGQUFxRTtBQUNyRSwyREFBdUQ7QUFFdkQsc0JBQXNCO0FBQ1AsS0FBSyxVQUFVLHlCQUF5QixDQUFDLEVBQ3RELEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxHQUlmO0lBQ0EsTUFBTSxnQkFBZ0IsR0FDcEIscUJBQVMsQ0FBQyxPQUFPLENBQXlCLDhCQUFpQixDQUFDLENBQUM7SUFDL0QsTUFBTSxjQUFjLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBRWxFLE1BQU0sYUFBYSxHQUFHLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQztJQUV2RCxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLE9BQU87SUFDVCxDQUFDO0lBRUQsSUFDRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsYUFBYTtRQUN4QyxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsZUFBZSxFQUMxQyxDQUFDO1FBQ0QsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsMENBQTBDLENBQzNDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcscUJBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFakUsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUNkLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUNuQjtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLENBQUMsZUFBZSxFQUFFLEdBQUcsMEJBQVcsQ0FBQztRQUN6QyxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtLQUMvQixFQUNELEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLENBQzdCLENBQUM7SUFFRixNQUFNLE9BQU8sR0FBRztRQUNkLElBQUksRUFBRSxhQUFhLENBQUMsSUFBSTtRQUN4QixPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUU7S0FDbkIsQ0FBQztJQUVGLE1BQU0sMkJBQXVCLENBQUMsR0FBRyxDQUFDO1FBQ2hDLEtBQUssRUFBRTtZQUNMLElBQUksRUFBRSxhQUFhLENBQUMsSUFBSSxJQUFJLHNCQUFzQjtZQUNsRCxHQUFHLEVBQUUsYUFBYSxDQUFDLEdBQUc7WUFDdEIsT0FBTyxFQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsYUFBYTtZQUMvQyxTQUFTLEVBQUUsYUFBYSxDQUFDLFVBQVUsQ0FBQyxlQUFlO1lBQ25ELE9BQU87U0FDUjtLQUNGLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxvQkFBb0I7QUFDUCxRQUFBLE1BQU0sR0FBcUI7SUFDdEMsS0FBSyxFQUFFLDJCQUEyQjtDQUNuQyxDQUFDIn0=
@@ -0,0 +1,49 @@
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.config = void 0;
7
+ exports.default = orderPickupUpdatedHandler;
8
+ const framework_1 = require("@medusajs/framework");
9
+ const utils_1 = require("@medusajs/framework/utils");
10
+ const event_hook_1 = require("../modules/event-hook");
11
+ const call_external_api_1 = __importDefault(require("../workflows/call-external-api"));
12
+ const order_fields_1 = require("./constants/order-fields");
13
+ // subscriber function
14
+ async function orderPickupUpdatedHandler({ event: { data }, }) {
15
+ const eventHookService = framework_1.container.resolve(event_hook_1.EVENT_HOOK_MODULE);
16
+ const webHookOptions = await eventHookService.getWebHookOptions();
17
+ const webHookOption = webHookOptions.pickupUpdatedHook;
18
+ if (!webHookOption?.url) {
19
+ return;
20
+ }
21
+ if (!webHookOption.authHeader?.headerAuthKey ||
22
+ !webHookOption.authHeader?.headerAuthValue) {
23
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNAUTHORIZED, "Please provide auth header key and value");
24
+ }
25
+ const query = framework_1.container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
26
+ const { data: [order], } = await query.graph({
27
+ entity: "order",
28
+ fields: ["pickup_date.*", ...order_fields_1.orderFields],
29
+ filters: { id: data.order_id },
30
+ }, { throwIfKeyNotFound: true });
31
+ const payload = {
32
+ name: webHookOption.name,
33
+ payload: { order },
34
+ };
35
+ await call_external_api_1.default.run({
36
+ input: {
37
+ name: webHookOption.name ?? "order-pickup-updated",
38
+ url: webHookOption.url,
39
+ authKey: webHookOption.authHeader.headerAuthKey,
40
+ authValue: webHookOption.authHeader.headerAuthValue,
41
+ payload,
42
+ },
43
+ });
44
+ }
45
+ // subscriber config
46
+ exports.config = {
47
+ event: "order.pickup_date.updated",
48
+ };
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItcGlja3VwLXVwZGF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3Vic2NyaWJlcnMvb3JkZXItcGlja3VwLXVwZGF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBZUEsNENBcURDO0FBcEVELG1EQUk2QjtBQUM3QixxREFHbUM7QUFDbkMsc0RBQTBEO0FBRTFELHVGQUFxRTtBQUNyRSwyREFBdUQ7QUFFdkQsc0JBQXNCO0FBQ1AsS0FBSyxVQUFVLHlCQUF5QixDQUFDLEVBQ3RELEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxHQUlmO0lBQ0EsTUFBTSxnQkFBZ0IsR0FDcEIscUJBQVMsQ0FBQyxPQUFPLENBQXlCLDhCQUFpQixDQUFDLENBQUM7SUFDL0QsTUFBTSxjQUFjLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBRWxFLE1BQU0sYUFBYSxHQUFHLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQztJQUV2RCxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLE9BQU87SUFDVCxDQUFDO0lBRUQsSUFDRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsYUFBYTtRQUN4QyxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsZUFBZSxFQUMxQyxDQUFDO1FBQ0QsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsMENBQTBDLENBQzNDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcscUJBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFakUsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUNkLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUNuQjtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLENBQUMsZUFBZSxFQUFFLEdBQUcsMEJBQVcsQ0FBQztRQUN6QyxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtLQUMvQixFQUNELEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLENBQzdCLENBQUM7SUFFRixNQUFNLE9BQU8sR0FBRztRQUNkLElBQUksRUFBRSxhQUFhLENBQUMsSUFBSTtRQUN4QixPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUU7S0FDbkIsQ0FBQztJQUVGLE1BQU0sMkJBQXVCLENBQUMsR0FBRyxDQUFDO1FBQ2hDLEtBQUssRUFBRTtZQUNMLElBQUksRUFBRSxhQUFhLENBQUMsSUFBSSxJQUFJLHNCQUFzQjtZQUNsRCxHQUFHLEVBQUUsYUFBYSxDQUFDLEdBQUc7WUFDdEIsT0FBTyxFQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsYUFBYTtZQUMvQyxTQUFTLEVBQUUsYUFBYSxDQUFDLFVBQVUsQ0FBQyxlQUFlO1lBQ25ELE9BQU87U0FDUjtLQUNGLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxvQkFBb0I7QUFDUCxRQUFBLE1BQU0sR0FBcUI7SUFDdEMsS0FBSyxFQUFFLDJCQUEyQjtDQUNuQyxDQUFDIn0=
@@ -0,0 +1,51 @@
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.config = void 0;
7
+ exports.default = orderPlacedHandler;
8
+ const utils_1 = require("@medusajs/framework/utils");
9
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
10
+ const event_hook_1 = require("../modules/event-hook");
11
+ const call_external_api_1 = __importDefault(require("../workflows/call-external-api"));
12
+ const order_fields_1 = require("./constants/order-fields");
13
+ // subscriber function
14
+ async function orderPlacedHandler({ event: { data }, container, }) {
15
+ const eventHookService = container.resolve(event_hook_1.EVENT_HOOK_MODULE);
16
+ const webHookOptions = await eventHookService.getWebHookOptions();
17
+ const webHookOption = webHookOptions.placedOrderHook;
18
+ if (!webHookOption?.url) {
19
+ return;
20
+ }
21
+ if (!webHookOption.authHeader?.headerAuthKey ||
22
+ !webHookOption.authHeader?.headerAuthValue) {
23
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNAUTHORIZED, "Please provide auth header key and value");
24
+ }
25
+ const { result: order } = await core_flows_1.getOrderDetailWorkflow.run({
26
+ input: {
27
+ order_id: data.id,
28
+ fields: order_fields_1.orderFields,
29
+ },
30
+ container: container,
31
+ });
32
+ const payload = {
33
+ name: webHookOption.name,
34
+ payload: { order },
35
+ };
36
+ await call_external_api_1.default.run({
37
+ input: {
38
+ name: webHookOption.name ?? "order-placed",
39
+ url: webHookOption.url,
40
+ authKey: webHookOption.authHeader.headerAuthKey,
41
+ authValue: webHookOption.authHeader.headerAuthValue,
42
+ type: "ORDER_PLACED",
43
+ payload,
44
+ },
45
+ });
46
+ }
47
+ // subscriber config
48
+ exports.config = {
49
+ event: "order.placed",
50
+ };
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItcGxhY2VkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL29yZGVyLXBsYWNlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFTQSxxQ0ErQ0M7QUF2REQscURBQXdEO0FBQ3hELDREQUFxRTtBQUNyRSxzREFBMEQ7QUFFMUQsdUZBQXFFO0FBQ3JFLDJEQUF1RDtBQUV2RCxzQkFBc0I7QUFDUCxLQUFLLFVBQVUsa0JBQWtCLENBQUMsRUFDL0MsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQ2YsU0FBUyxHQUNzQjtJQUMvQixNQUFNLGdCQUFnQixHQUNwQixTQUFTLENBQUMsT0FBTyxDQUF5Qiw4QkFBaUIsQ0FBQyxDQUFDO0lBQy9ELE1BQU0sY0FBYyxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUVsRSxNQUFNLGFBQWEsR0FBRyxjQUFjLENBQUMsZUFBZSxDQUFDO0lBRXJELElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDeEIsT0FBTztJQUNULENBQUM7SUFFRCxJQUNFLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxhQUFhO1FBQ3hDLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxlQUFlLEVBQzFDLENBQUM7UUFDRCxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5QiwwQ0FBMEMsQ0FDM0MsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sbUNBQXNCLENBQUMsR0FBRyxDQUFDO1FBQ3pELEtBQUssRUFBRTtZQUNMLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNqQixNQUFNLEVBQUUsMEJBQVc7U0FDcEI7UUFDRCxTQUFTLEVBQUUsU0FBUztLQUNyQixDQUFDLENBQUM7SUFFSCxNQUFNLE9BQU8sR0FBRztRQUNkLElBQUksRUFBRSxhQUFhLENBQUMsSUFBSTtRQUN4QixPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUU7S0FDbkIsQ0FBQztJQUVGLE1BQU0sMkJBQXVCLENBQUMsR0FBRyxDQUFDO1FBQ2hDLEtBQUssRUFBRTtZQUNMLElBQUksRUFBRSxhQUFhLENBQUMsSUFBSSxJQUFJLGNBQWM7WUFDMUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxHQUFHO1lBQ3RCLE9BQU8sRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLGFBQWE7WUFDL0MsU0FBUyxFQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsZUFBZTtZQUNuRCxJQUFJLEVBQUUsY0FBYztZQUNwQixPQUFPO1NBQ1I7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsb0JBQW9CO0FBQ1AsUUFBQSxNQUFNLEdBQXFCO0lBQ3RDLEtBQUssRUFBRSxjQUFjO0NBQ3RCLENBQUMifQ==
@@ -0,0 +1,51 @@
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.config = void 0;
7
+ exports.default = orderPlacedHandler;
8
+ const utils_1 = require("@medusajs/framework/utils");
9
+ const event_hook_1 = require("../modules/event-hook");
10
+ const call_external_api_1 = __importDefault(require("../workflows/call-external-api"));
11
+ const customer_fields_1 = require("./constants/customer-fields");
12
+ const quote_fields_1 = require("./constants/quote-fields");
13
+ // subscriber function
14
+ async function orderPlacedHandler({ event: { data }, container, }) {
15
+ const logger = container.resolve("logger");
16
+ const eventHookService = container.resolve(event_hook_1.EVENT_HOOK_MODULE);
17
+ const webHookOptions = await eventHookService.getWebHookOptions();
18
+ const webHookOption = webHookOptions.requestQuotationHook;
19
+ if (!webHookOption?.url) {
20
+ return;
21
+ }
22
+ if (!webHookOption.authHeader?.headerAuthKey ||
23
+ !webHookOption.authHeader?.headerAuthValue) {
24
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNAUTHORIZED, "Please provide auth header key and value");
25
+ }
26
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
27
+ const { data: [quote], } = await query.graph({
28
+ entity: "quote",
29
+ fields: [...quote_fields_1.quoteFields, ...customer_fields_1.customerFields],
30
+ filters: { id: data.id },
31
+ }, { throwIfKeyNotFound: true });
32
+ const payload = {
33
+ name: webHookOption.name,
34
+ payload: { quote },
35
+ };
36
+ await call_external_api_1.default.run({
37
+ input: {
38
+ name: webHookOption.name ?? "quote-requested",
39
+ url: webHookOption.url,
40
+ authKey: webHookOption.authHeader.headerAuthKey,
41
+ authValue: webHookOption.authHeader.headerAuthValue,
42
+ type: "REQUEST_QUOTATION",
43
+ payload,
44
+ },
45
+ });
46
+ }
47
+ // subscriber config
48
+ exports.config = {
49
+ event: "quote.requested",
50
+ };
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVvdGUtcmVxdWVzdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL3F1b3RlLXJlcXVlc3RlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFhQSxxQ0FxREM7QUFqRUQscURBR21DO0FBRW5DLHNEQUEwRDtBQUUxRCx1RkFBcUU7QUFDckUsaUVBQTZEO0FBQzdELDJEQUF1RDtBQUV2RCxzQkFBc0I7QUFDUCxLQUFLLFVBQVUsa0JBQWtCLENBQUMsRUFDL0MsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQ2YsU0FBUyxHQUNzQjtJQUMvQixNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFTLFFBQVEsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sZ0JBQWdCLEdBQ3BCLFNBQVMsQ0FBQyxPQUFPLENBQXlCLDhCQUFpQixDQUFDLENBQUM7SUFDL0QsTUFBTSxjQUFjLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBRWxFLE1BQU0sYUFBYSxHQUFHLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQztJQUUxRCxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLE9BQU87SUFDVCxDQUFDO0lBRUQsSUFDRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsYUFBYTtRQUN4QyxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsZUFBZSxFQUMxQyxDQUFDO1FBQ0QsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsMENBQTBDLENBQzNDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVqRSxNQUFNLEVBQ0osSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQ2QsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQ25CO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsQ0FBQyxHQUFHLDBCQUFXLEVBQUUsR0FBRyxnQ0FBYyxDQUFDO1FBQzNDLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO0tBQ3pCLEVBQ0QsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsQ0FDN0IsQ0FBQztJQUVGLE1BQU0sT0FBTyxHQUFHO1FBQ2QsSUFBSSxFQUFFLGFBQWEsQ0FBQyxJQUFJO1FBQ3hCLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRTtLQUNuQixDQUFDO0lBRUYsTUFBTSwyQkFBdUIsQ0FBQyxHQUFHLENBQUM7UUFDaEMsS0FBSyxFQUFFO1lBQ0wsSUFBSSxFQUFFLGFBQWEsQ0FBQyxJQUFJLElBQUksaUJBQWlCO1lBQzdDLEdBQUcsRUFBRSxhQUFhLENBQUMsR0FBRztZQUN0QixPQUFPLEVBQUUsYUFBYSxDQUFDLFVBQVUsQ0FBQyxhQUFhO1lBQy9DLFNBQVMsRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLGVBQWU7WUFDbkQsSUFBSSxFQUFFLG1CQUFtQjtZQUN6QixPQUFPO1NBQ1I7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsb0JBQW9CO0FBQ1AsUUFBQSxNQUFNLEdBQXFCO0lBQ3RDLEtBQUssRUFBRSxpQkFBaUI7Q0FDekIsQ0FBQyJ9
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
4
+ const callExternalApiStep = (0, workflows_sdk_1.createStep)("call-external-api", async ({ name, url, authKey, authValue, type, payload }) => {
5
+ console.log(url, authKey, url, type, payload);
6
+ await fetch(url, {
7
+ method: "POST",
8
+ headers: {
9
+ "Content-Type": "application/json",
10
+ [authKey]: authValue,
11
+ },
12
+ body: JSON.stringify(payload),
13
+ });
14
+ return new workflows_sdk_1.StepResponse({
15
+ message: `trigger ${type} ${name} event to ${url} successfully`,
16
+ });
17
+ });
18
+ const callExternalApiWorkflow = (0, workflows_sdk_1.createWorkflow)("call-external-api", (input) => {
19
+ callExternalApiStep(input);
20
+ return new workflows_sdk_1.WorkflowResponse(input);
21
+ });
22
+ exports.default = callExternalApiWorkflow;
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbC1leHRlcm5hbC1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NhbGwtZXh0ZXJuYWwtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEscUVBSzJDO0FBYTNDLE1BQU0sbUJBQW1CLEdBQUcsSUFBQSwwQkFBVSxFQUNwQyxtQkFBbUIsRUFDbkIsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQWlCLEVBQUUsRUFBRTtJQUN4RSxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUU5QyxNQUFNLEtBQUssQ0FBQyxHQUFHLEVBQUU7UUFDZixNQUFNLEVBQUUsTUFBTTtRQUNkLE9BQU8sRUFBRTtZQUNQLGNBQWMsRUFBRSxrQkFBa0I7WUFDbEMsQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTO1NBQ3JCO1FBQ0QsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDO0tBQzlCLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSw0QkFBWSxDQUFDO1FBQ3RCLE9BQU8sRUFBRSxXQUFXLElBQUksSUFBSSxJQUFJLGFBQWEsR0FBRyxlQUFlO0tBQ2hFLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FDRixDQUFDO0FBRUYsTUFBTSx1QkFBdUIsR0FBRyxJQUFBLDhCQUFjLEVBQzVDLG1CQUFtQixFQUNuQixDQUFDLEtBQW9CLEVBQUUsRUFBRTtJQUN2QixtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUUzQixPQUFPLElBQUksZ0NBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDckMsQ0FBQyxDQUNGLENBQUM7QUFFRixrQkFBZSx1QkFBdUIsQ0FBQyJ9
package/README.md ADDED
@@ -0,0 +1,81 @@
1
+ # Medusa Plugin Webhook Notification
2
+
3
+ ## How to install
4
+ 1. yarn add medusa-notification-webhook
5
+
6
+ 2. configure your medusa backend `medusa-config.ts`
7
+ ```ts
8
+ module.exports = defineConfig({
9
+ // ... rest of the config
10
+ plugins: [
11
+ {
12
+ resolve: "medusa-notification-webhook",
13
+ options: {
14
+ webHookConfig: {
15
+ requestQuotationHookUrl: {
16
+ name: "request-quotation", // for novu workflow name
17
+ url: process.env.NOTI_WEBHOOK_URL_REQUEST_QUOTATION,
18
+ authHeader: {
19
+ headerAuthKey: "Authorization",
20
+ headerAuthValue: `ApiKey ${process.env.NOTI_WEBHOOK_API_KEY_NOVU}`,
21
+ },
22
+ },
23
+ placedOrderHook: {
24
+ name: "placed-order", // for novu workflow name
25
+ url: process.env.NOTI_WEBHOOK_URL_PLACED_ORDER,
26
+ authHeader: {
27
+ headerAuthKey: "Authorization",
28
+ headerAuthValue: `ApiKey ${process.env.NOTI_WEBHOOK_API_KEY_NOVU}`,
29
+ },
30
+ },
31
+ deliveryStartedHookUrl: {
32
+ name: "delivery-started", // for novu workflow name
33
+ url: process.env.NOTI_WEBHOOK_URL_DELIVERY_STARTED,
34
+ authHeader: {
35
+ headerAuthKey: "Authorization",
36
+ headerAuthValue: `ApiKey ${process.env.NOTI_WEBHOOK_API_KEY_NOVU}`,
37
+ },
38
+ },
39
+ pickupCreatedHook: {
40
+ name: "pickup-created", // for novu workflow name
41
+ url: process.env.NOTI_WEBHOOK_URL_PICKUP_CREATED,
42
+ authHeader: {
43
+ headerAuthKey: "Authorization",
44
+ headerAuthValue: `ApiKey ${process.env.NOTI_WEBHOOK_API_KEY_NOVU}`,
45
+ },
46
+ },
47
+ pickupUpdatedHook: {
48
+ name: "pickup-updated", // for novu workflow name
49
+ url: process.env.NOTI_WEBHOOK_URL_PICKUP_UPDATED,
50
+ authHeader: {
51
+ headerAuthKey: "Authorization",
52
+ headerAuthValue: `ApiKey ${process.env.NOTI_WEBHOOK_API_KEY_NOVU}`,
53
+ },
54
+ },
55
+ pickupCancelledHook: {
56
+ name: "pickup-cancelled", // for novu workflow name
57
+ url: process.env.NOTI_WEBHOOK_URL_PICKUP_CANCELLED,
58
+ authHeader: {
59
+ headerAuthKey: "Authorization",
60
+ headerAuthValue: `ApiKey ${process.env.NOTI_WEBHOOK_API_KEY_NOVU}`,
61
+ },
62
+ },
63
+ },
64
+ },
65
+ },
66
+ ],
67
+ });
68
+ ```
69
+ 3. add variables to .env
70
+ ```
71
+ NOTI_WEBHOOK_API_KEY_NOVU=<api-key>
72
+ NOTI_WEBHOOK_URL_PLACED_ORDER=<endpoint ex: "https://api.novu.co/v1/events/trigger">
73
+ NOTI_WEBHOOK_URL_REQUEST_QUOTATION=<endpoint ex: "https://api.novu.co/v1/events/trigger">
74
+ NOTI_WEBHOOK_URL_DELIVERY_STARTED=<endpoint ex: "https://api.novu.co/v1/events/trigger">
75
+ NOTI_WEBHOOK_URL_PICKUP_CREATED=<endpoint ex: "https://api.novu.co/v1/events/trigger">
76
+ NOTI_WEBHOOK_URL_PICKUP_UPDATED=<endpoint ex: "https://api.novu.co/v1/events/trigger">
77
+ NOTI_WEBHOOK_URL_PICKUP_CANCELLED=<endpoint ex: "https://api.novu.co/v1/events/trigger">
78
+ ```
79
+
80
+ 4. all done now just start your medusa backend
81
+ `yarn dev` `yarn start` or whatever you use to start your backend
package/package.json ADDED
@@ -0,0 +1,76 @@
1
+ {
2
+ "name": "@lodashventure/medusa-notification-webhook",
3
+ "version": "0.0.1",
4
+ "description": "A starter for Medusa plugins.",
5
+ "author": "Medusa (https://medusajs.com)",
6
+ "license": "MIT",
7
+ "files": [
8
+ ".medusa/server"
9
+ ],
10
+ "exports": {
11
+ "./package.json": "./package.json",
12
+ "./workflows": "./.medusa/server/src/workflows/index.js",
13
+ "./.medusa/server/src/modules/*": "./.medusa/server/src/modules/*/index.js",
14
+ "./modules/*": "./.medusa/server/src/modules/*/index.js",
15
+ "./providers/*": "./.medusa/server/src/providers/*/index.js",
16
+ "./*": "./.medusa/server/src/*.js"
17
+ },
18
+ "keywords": [
19
+ "medusa",
20
+ "plugin",
21
+ "medusa-plugin-other",
22
+ "medusa-plugin",
23
+ "medusa-v2"
24
+ ],
25
+ "scripts": {
26
+ "build": "medusa plugin:build",
27
+ "dev": "medusa plugin:develop",
28
+ "prepublishOnly": "medusa plugin:build"
29
+ },
30
+ "devDependencies": {
31
+ "@medusajs/admin-sdk": "2.10.0",
32
+ "@medusajs/cli": "2.10.0",
33
+ "@medusajs/framework": "2.10.0",
34
+ "@medusajs/icons": "^2.10.0",
35
+ "@medusajs/medusa": "2.10.0",
36
+ "@medusajs/test-utils": "2.10.0",
37
+ "@medusajs/ui": "4.0.4",
38
+ "@mikro-orm/cli": "6.4.3",
39
+ "@mikro-orm/core": "6.4.3",
40
+ "@mikro-orm/knex": "6.4.3",
41
+ "@mikro-orm/migrations": "6.4.3",
42
+ "@mikro-orm/postgresql": "6.4.3",
43
+ "@swc/core": "1.5.7",
44
+ "@types/node": "^20.0.0",
45
+ "@types/react": "^18.3.2",
46
+ "@types/react-dom": "^18.2.25",
47
+ "awilix": "^8.0.1",
48
+ "pg": "^8.13.0",
49
+ "prop-types": "^15.8.1",
50
+ "react": "^18.2.0",
51
+ "react-dom": "^18.2.0",
52
+ "ts-node": "^10.9.2",
53
+ "typescript": "^5.6.2",
54
+ "vite": "^5.2.11",
55
+ "yalc": "^1.0.0-pre.53"
56
+ },
57
+ "peerDependencies": {
58
+ "@medusajs/admin-sdk": "2.10.0",
59
+ "@medusajs/cli": "2.10.0",
60
+ "@medusajs/framework": "2.10.0",
61
+ "@medusajs/icons": "^2.10.0",
62
+ "@medusajs/medusa": "2.10.0",
63
+ "@medusajs/test-utils": "2.10.0",
64
+ "@medusajs/ui": "4.0.3",
65
+ "@mikro-orm/cli": "6.4.3",
66
+ "@mikro-orm/core": "6.4.3",
67
+ "@mikro-orm/knex": "6.4.3",
68
+ "@mikro-orm/migrations": "6.4.3",
69
+ "@mikro-orm/postgresql": "6.4.3",
70
+ "awilix": "^8.0.1",
71
+ "pg": "^8.13.0"
72
+ },
73
+ "engines": {
74
+ "node": ">=20"
75
+ }
76
+ }