@medusajs/core-flows
Version:
Set of workflow definitions for Medusa
45 lines • 1.67 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.updateTaxRegionsStep = exports.updateTaxRegionsStepId = void 0;
const utils_1 = require("@medusajs/framework/utils");
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
exports.updateTaxRegionsStepId = "update-tax-regions";
/**
* This step updates tax regions.
*
* @example
* const data = updateTaxRegionsStep([
* {
* id: "txreg_123",
* province_code: "CA",
* }
* ])
*/
exports.updateTaxRegionsStep = (0, workflows_sdk_1.createStep)(exports.updateTaxRegionsStepId, async (data, { container }) => {
const service = container.resolve(utils_1.Modules.TAX);
const { selects, relations } = (0, utils_1.getSelectsAndRelationsFromObjectArray)(data);
const prevData = await service.listTaxRegions({ id: data.map((d) => d.id) }, {
select: selects,
relations,
});
const updateData = (0, utils_1.removeUndefined)(data.map((d) => ({
id: d.id,
province_code: d.province_code,
metadata: d.metadata,
provider_id: d.provider_id,
})));
const taxRegions = await service.updateTaxRegions(updateData);
return new workflows_sdk_1.StepResponse(taxRegions, prevData);
}, async (prevData, { container }) => {
if (!prevData?.length) {
return;
}
const service = container.resolve(utils_1.Modules.TAX);
const updateData = (0, utils_1.removeUndefined)(prevData.map((d) => ({
id: d.id,
province_code: d.province_code,
metadata: d.metadata,
})));
await service.updateTaxRegions(updateData);
});
//# sourceMappingURL=update-tax-regions.js.map
;