UNPKG

@tsc_tech/medusa-plugin-restock

Version:

A starter for Medusa plugins.

79 lines 6.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createRestockSubscriptionWorkflow = void 0; const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk"); const validate_variant_out_of_stock_1 = require("./steps/validate-variant-out-of-stock"); const core_flows_1 = require("@medusajs/medusa/core-flows"); const create_restock_subscription_1 = require("./steps/create-restock-subscription"); const update_restock_subscription_1 = require("./steps/update-restock-subscription"); exports.createRestockSubscriptionWorkflow = (0, workflows_sdk_1.createWorkflow)("create-restock-subscription", ({ variant_id, sales_channel_id, customer, }) => { const customerId = (0, workflows_sdk_1.transform)({ customer, }, (data) => { return data.customer.customer_id || ""; }); const retrievedCustomer = (0, workflows_sdk_1.when)("retrieve-customer-by-id", { customer }, ({ customer }) => { return !customer.email; }).then(() => { // @ts-ignore const { data } = (0, core_flows_1.useQueryGraphStep)({ entity: "customer", fields: ["email"], filters: { id: customerId }, options: { throwIfKeyNotFound: true, }, }).config({ name: "retrieve-customer" }); return data; }); const email = (0, workflows_sdk_1.transform)({ retrievedCustomer, customer, }, (data) => { return data.customer?.email ?? data.retrievedCustomer?.[0].email; }); (0, validate_variant_out_of_stock_1.validateVariantOutOfStockStep)({ variant_id, sales_channel_id, }); // @ts-ignore const { data: restockSubscriptions } = (0, core_flows_1.useQueryGraphStep)({ entity: "restock_subscription", fields: ["*"], filters: { email, variant_id, sales_channel_id, }, }).config({ name: "retrieve-subscriptions" }); (0, workflows_sdk_1.when)({ restockSubscriptions }, ({ restockSubscriptions }) => { return restockSubscriptions.length === 0; }).then(() => { (0, create_restock_subscription_1.createRestockSubscriptionStep)({ variant_id, sales_channel_id, email, customer_id: customer.customer_id, }); }); (0, workflows_sdk_1.when)({ restockSubscriptions }, ({ restockSubscriptions }) => { return restockSubscriptions.length > 0; }).then(() => { (0, update_restock_subscription_1.updateRestockSubscriptionStep)({ id: restockSubscriptions[0].id, customer_id: customer.customer_id, }); }); // @ts-ignore const { data: restockSubscription } = (0, core_flows_1.useQueryGraphStep)({ entity: "restock_subscription", fields: ["*"], filters: { email, variant_id, sales_channel_id, }, }).config({ name: "retrieve-restock-subscription" }); return new workflows_sdk_1.WorkflowResponse(restockSubscription); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NyZWF0ZS1yZXN0b2NrLXN1YnNjcmlwdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFLMkM7QUFDM0MseUZBQXNGO0FBQ3RGLDREQUFnRTtBQUNoRSxxRkFBb0Y7QUFDcEYscUZBQW9GO0FBV3ZFLFFBQUEsaUNBQWlDLEdBQUcsSUFBQSw4QkFBYyxFQUM3RCw2QkFBNkIsRUFDN0IsQ0FBQyxFQUNDLFVBQVUsRUFDVixnQkFBZ0IsRUFDaEIsUUFBUSxHQUMrQixFQUFFLEVBQUU7SUFDM0MsTUFBTSxVQUFVLEdBQUcsSUFBQSx5QkFBUyxFQUMxQjtRQUNFLFFBQVE7S0FDVCxFQUNELENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztJQUN6QyxDQUFDLENBQ0YsQ0FBQztJQUNGLE1BQU0saUJBQWlCLEdBQUcsSUFBQSxvQkFBSSxFQUM1Qix5QkFBeUIsRUFDekIsRUFBRSxRQUFRLEVBQUUsRUFDWixDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTtRQUNmLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQ3pCLENBQUMsQ0FDRixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDVixhQUFhO1FBQ2IsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7WUFDakMsTUFBTSxFQUFFLFVBQVU7WUFDbEIsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDO1lBQ2pCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUU7WUFDM0IsT0FBTyxFQUFFO2dCQUNQLGtCQUFrQixFQUFFLElBQUk7YUFDekI7U0FDRixDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQztRQUV6QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxLQUFLLEdBQUcsSUFBQSx5QkFBUyxFQUNyQjtRQUNFLGlCQUFpQjtRQUNqQixRQUFRO0tBQ1QsRUFDRCxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDbkUsQ0FBQyxDQUNGLENBQUM7SUFFRixJQUFBLDZEQUE2QixFQUFDO1FBQzVCLFVBQVU7UUFDVixnQkFBZ0I7S0FDakIsQ0FBQyxDQUFDO0lBRUgsYUFBYTtJQUNiLE1BQU0sRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxJQUFBLDhCQUFpQixFQUFDO1FBQ3ZELE1BQU0sRUFBRSxzQkFBc0I7UUFDOUIsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDO1FBQ2IsT0FBTyxFQUFFO1lBQ1AsS0FBSztZQUNMLFVBQVU7WUFDVixnQkFBZ0I7U0FDakI7S0FDRixDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLHdCQUF3QixFQUFFLENBQUMsQ0FBQztJQUU5QyxJQUFBLG9CQUFJLEVBQUMsRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFBRSxvQkFBb0IsRUFBRSxFQUFFLEVBQUU7UUFDMUQsT0FBTyxvQkFBb0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDWCxJQUFBLDJEQUE2QixFQUFDO1lBQzVCLFVBQVU7WUFDVixnQkFBZ0I7WUFDaEIsS0FBSztZQUNMLFdBQVcsRUFBRSxRQUFRLENBQUMsV0FBVztTQUNsQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUEsb0JBQUksRUFBQyxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUFFLG9CQUFvQixFQUFFLEVBQUUsRUFBRTtRQUMxRCxPQUFPLG9CQUFvQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNYLElBQUEsMkRBQTZCLEVBQUM7WUFDNUIsRUFBRSxFQUFFLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDOUIsV0FBVyxFQUFFLFFBQVEsQ0FBQyxXQUFXO1NBQ2xDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsYUFBYTtJQUNiLE1BQU0sRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxJQUFBLDhCQUFpQixFQUFDO1FBQ3RELE1BQU0sRUFBRSxzQkFBc0I7UUFDOUIsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDO1FBQ2IsT0FBTyxFQUFFO1lBQ1AsS0FBSztZQUNMLFVBQVU7WUFDVixnQkFBZ0I7U0FDakI7S0FDRixDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLCtCQUErQixFQUFFLENBQUMsQ0FBQztJQUVyRCxPQUFPLElBQUksZ0NBQWdCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUNuRCxDQUFDLENBQ0YsQ0FBQyJ9