@gorgo/medusa-feed-yandex
Version:
A Medusa plugin that generates a product feed in YML (Yandex Market Language) format
48 lines • 4.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.deleteFeedFilesWorkflow = exports.getFeedFilesIdsStep = void 0;
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
const feed_1 = require("../modules/feed");
const update_feeds_1 = require("./update-feeds");
const core_flows_1 = require("@medusajs/medusa/core-flows");
exports.getFeedFilesIdsStep = (0, workflows_sdk_1.createStep)('get-feed-files-ids-step', async (ids, { container }) => {
const service = container.resolve(feed_1.FEED_MODULE);
const feeds = await service.listFeeds({ id: ids });
const feedFilesIds = feeds
.filter(item => {
const isValidPath = item.file_path
&& typeof item.file_path === 'string'
&& item.file_path.trim().length > 0;
return isValidPath;
})
.map(item => item.file_path)
.map(path => {
const cleanPath = path.split('?')[0].split('#')[0];
const parts = cleanPath.split('/');
const fileName = parts[parts.length - 1];
return fileName.includes('.') ? fileName : null;
})
.filter((fileName) => fileName !== null);
return new workflows_sdk_1.StepResponse(feedFilesIds);
});
exports.deleteFeedFilesWorkflow = (0, workflows_sdk_1.createWorkflow)('delete-feed-files-workflow', (input) => {
const feedFilesIds = (0, exports.getFeedFilesIdsStep)(input.ids);
core_flows_1.deleteFilesWorkflow
.runAsStep({
input: {
ids: feedFilesIds
}
});
const feedsToUpdate = (0, workflows_sdk_1.transform)({ input }, (data) => data.input.ids.map((id) => {
return ({
id: id,
file_path: "",
last_export_at: null
});
}));
update_feeds_1.updateFeedsWorkflow.runAsStep({
input: feedsToUpdate,
});
return new workflows_sdk_1.WorkflowResponse(input.ids);
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWZlZWQtZmlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2RlbGV0ZS1mZWVkLWZpbGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQU8wQztBQUMxQywwQ0FBNkM7QUFFN0MsaURBQW9EO0FBQ3BELDREQUFpRTtBQUlwRCxRQUFBLG1CQUFtQixHQUFHLElBQUEsMEJBQVUsRUFDM0MseUJBQXlCLEVBQ3pCLEtBQUssRUFBRSxHQUE2QixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNyRCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFvQixrQkFBVyxDQUFDLENBQUE7SUFDakUsTUFBTSxLQUFLLEdBQUcsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUE7SUFDbEQsTUFBTSxZQUFZLEdBQUcsS0FBSztTQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDYixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUztlQUM3QixPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssUUFBUTtlQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUE7UUFDckMsT0FBTyxXQUFXLENBQUE7SUFDcEIsQ0FBQyxDQUFDO1NBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQW1CLENBQUM7U0FDckMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ1YsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDbEQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNsQyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUN4QyxPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO0lBQ2pELENBQUMsQ0FBQztTQUNELE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBc0IsRUFBRSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsQ0FBQTtJQUM5RCxPQUFPLElBQUksNEJBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQTtBQUN2QyxDQUFDLENBQ0YsQ0FBQTtBQU1ZLFFBQUEsdUJBQXVCLEdBQUcsSUFBQSw4QkFBYyxFQUNuRCw0QkFBNEIsRUFDNUIsQ0FBQyxLQUFpRCxFQUFFLEVBQUU7SUFDcEQsTUFBTSxZQUFZLEdBQUcsSUFBQSwyQkFBbUIsRUFBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDbkQsZ0NBQW1CO1NBQ2hCLFNBQVMsQ0FBQztRQUNULEtBQUssRUFBRTtZQUNMLEdBQUcsRUFBRSxZQUFZO1NBQ2xCO0tBQ0YsQ0FBQyxDQUFBO0lBQ0osTUFBTSxhQUFhLEdBQUcsSUFBQSx5QkFBUyxFQUM3QixFQUFFLEtBQUssRUFBRSxFQUNULENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtRQUNsQyxPQUFPLENBQUM7WUFDTixFQUFFLEVBQUUsRUFBRTtZQUNOLFNBQVMsRUFBRSxFQUFFO1lBQ2IsY0FBYyxFQUFFLElBQUk7U0FDckIsQ0FBQyxDQUFBO0lBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNELGtDQUFtQixDQUFDLFNBQVMsQ0FBQztRQUM1QixLQUFLLEVBQUUsYUFBYTtLQUNyQixDQUFDLENBQUE7SUFDRixPQUFPLElBQUksZ0NBQWdCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQ3hDLENBQUMsQ0FDRixDQUFBIn0=