@devx-commerce/plugin-gati
Version:
Gati ERP integration for Medusa
139 lines • 11.9 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.partyMasterWorkflow = void 0;
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
const core_flows_1 = require("@medusajs/medusa/core-flows");
const create_party_1 = require("./steps/create-party");
const delete_party_1 = require("./steps/delete-party");
const fetch_party_master_1 = require("./steps/fetch-party-master");
const update_party_1 = require("./steps/update-party");
exports.partyMasterWorkflow = (0, workflows_sdk_1.createWorkflow)("party-master", (input) => {
const partyData = (0, fetch_party_master_1.fetchPartyData)(input);
(0, workflows_sdk_1.when)("create-party", input, (input) => {
return input.operation === "add";
}).then(() => {
const party = (0, create_party_1.createPartyStep)(partyData);
const customersToCreate = (0, workflows_sdk_1.transform)({
party,
}, (data) => data.party.filter((item) => item.is_customer && !item.is_inline_branch && !item.is_location));
const locationsToCreate = (0, workflows_sdk_1.transform)({
party,
}, (data) => data.party.filter((item) => item.is_location && !item.is_inline_branch));
const outletsToCreate = (0, workflows_sdk_1.transform)({
party,
}, (data) => data.party.filter((item) => item.is_inline_branch && !item.is_customer && !item.is_location));
(0, core_flows_1.emitEventStep)({
eventName: "party_master",
data: {
operation: "create",
data: customersToCreate,
},
}).config({
name: "create-party-event",
});
(0, core_flows_1.emitEventStep)({
eventName: "party_master_outlet",
data: {
operation: "create",
data: outletsToCreate,
},
}).config({
name: "create-party-outlet-event",
});
(0, core_flows_1.emitEventStep)({
eventName: "party_master_location",
data: {
operation: "create",
data: locationsToCreate,
},
}).config({
name: "create-party-location-event",
});
return new workflows_sdk_1.WorkflowResponse(party);
});
(0, workflows_sdk_1.when)("update-party", input, (input) => {
return input.operation === "update";
}).then(() => {
const party = (0, update_party_1.updatePartyStep)(partyData);
const customersToUpdate = (0, workflows_sdk_1.transform)({
party,
}, (data) => data.party.filter((item) => item.is_customer && !item.is_inline_branch && !item.is_location));
const locationsToUpdate = (0, workflows_sdk_1.transform)({
party,
}, (data) => data.party.filter((item) => item.is_location && !item.is_inline_branch));
const outletsToUpdate = (0, workflows_sdk_1.transform)({
party,
}, (data) => data.party.filter((item) => item.is_inline_branch && !item.is_customer && !item.is_location));
(0, core_flows_1.emitEventStep)({
eventName: "party_master",
data: {
operation: "update",
data: customersToUpdate,
},
}).config({
name: "update-party-event",
});
(0, core_flows_1.emitEventStep)({
eventName: "party_master_outlet",
data: {
operation: "update",
data: outletsToUpdate,
},
}).config({
name: "update-party-outlet-event",
});
(0, core_flows_1.emitEventStep)({
eventName: "party_master_location",
data: {
operation: "update",
data: locationsToUpdate,
},
}).config({
name: "update-party-location-event",
});
return new workflows_sdk_1.WorkflowResponse(party);
});
(0, workflows_sdk_1.when)("delete-party", input, (input) => {
return input.operation === "delete";
}).then(() => {
const party = (0, delete_party_1.deletePartyStep)(partyData);
const outletsToDelete = (0, workflows_sdk_1.transform)({
party,
}, (data) => data.party.filter((item) => item.is_inline_branch && !item.is_customer && !item.is_location));
const customersToDelete = (0, workflows_sdk_1.transform)({
party,
}, (data) => data.party.filter((item) => item.is_customer && !item.is_inline_branch && !item.is_location));
const locationsToDelete = (0, workflows_sdk_1.transform)({
party,
}, (data) => data.party.filter((item) => item.is_location && !item.is_inline_branch));
(0, core_flows_1.emitEventStep)({
eventName: "party_master",
data: {
operation: "delete",
data: customersToDelete,
},
}).config({
name: "delete-party-event",
});
(0, core_flows_1.emitEventStep)({
eventName: "party_master_outlet",
data: {
operation: "delete",
data: outletsToDelete,
},
}).config({
name: "delete-party-outlet-event",
});
(0, core_flows_1.emitEventStep)({
eventName: "party_master_location",
data: {
operation: "delete",
data: locationsToDelete,
},
}).config({
name: "delete-party-location-event",
});
return new workflows_sdk_1.WorkflowResponse(party);
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3BhcnR5LW1hc3Rlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFLMkM7QUFDM0MsNERBQTREO0FBRzVELHVEQUF1RDtBQUN2RCx1REFBdUQ7QUFDdkQsbUVBQTREO0FBQzVELHVEQUF1RDtBQUUxQyxRQUFBLG1CQUFtQixHQUFHLElBQUEsOEJBQWMsRUFDL0MsY0FBYyxFQUNkLENBQUMsS0FBa0IsRUFBRSxFQUFFO0lBQ3JCLE1BQU0sU0FBUyxHQUFHLElBQUEsbUNBQWMsRUFBQyxLQUFLLENBQUMsQ0FBQztJQUV4QyxJQUFBLG9CQUFJLEVBQUMsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ3BDLE9BQU8sS0FBSyxDQUFDLFNBQVMsS0FBSyxLQUFLLENBQUM7SUFDbkMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNYLE1BQU0sS0FBSyxHQUFHLElBQUEsOEJBQWUsRUFBQyxTQUFTLENBQUMsQ0FBQztRQUN6QyxNQUFNLGlCQUFpQixHQUFHLElBQUEseUJBQVMsRUFDakM7WUFDRSxLQUFLO1NBQ04sRUFDRCxDQUFDLElBQUksRUFBRSxFQUFFLENBQ1AsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ2YsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNQLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUNsRSxDQUNKLENBQUM7UUFDRixNQUFNLGlCQUFpQixHQUFHLElBQUEseUJBQVMsRUFDakM7WUFDRSxLQUFLO1NBQ04sRUFDRCxDQUFDLElBQUksRUFBRSxFQUFFLENBQ1AsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ2YsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUks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