medusa-plugin-tolgee
Version:
Medusa V2 Plugin to easily add translations to your models with Tolgee
47 lines • 6.74 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getModelTranslationKeysStep = exports.deleteTranslationStep = exports.createModelTranslationsStep = exports.retrieveModelsStep = void 0;
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
const utils_1 = require("@medusajs/utils");
const tolgee_1 = require("../../modules/tolgee");
exports.retrieveModelsStep = (0, workflows_sdk_1.createStep)("tolgee-retrieve-models", async ({ id, slug }, { container }) => {
const productModule = container.resolve(utils_1.Modules.PRODUCT);
const fulfillmentModule = container.resolve(utils_1.Modules.FULFILLMENT);
const filter = id ? { id } : undefined;
const listFns = {
product: () => productModule.listProducts(filter, { select: ["*"] }),
product_category: () => productModule.listProductCategories(filter, { select: ["*"] }),
product_collection: () => productModule.listProductCollections(filter, { select: ["*"] }),
product_option: () => productModule.listProductOptions(filter, { select: ["*"] }),
product_option_value: () => productModule.listProductOptionValues(filter, { select: ["*"] }),
product_tag: () => productModule.listProductTags(filter, { select: ["*"] }),
product_type: () => productModule.listProductTypes(filter, { select: ["*"] }),
product_variant: () => productModule.listProductVariants(filter, { select: ["*"] }),
shipping_option: () => fulfillmentModule.listShippingOptions(filter, { select: ["*"] }),
}; // <- type assertion to ensure all keys are present
const models = await listFns[slug]?.();
return new workflows_sdk_1.StepResponse(models);
});
exports.createModelTranslationsStep = (0, workflows_sdk_1.createStep)("tolgee-create-model-translations", async ({ models, slug }, { container }) => {
const translationModule = container.resolve(tolgee_1.TOLGEE_MODULE);
const ids = await translationModule.createModelTranslations(models, slug);
return new workflows_sdk_1.StepResponse(ids, ids); // ids as compensation context
}, async (ids, { container }) => {
if (!ids)
return;
const translationModule = container.resolve(tolgee_1.TOLGEE_MODULE);
for (const id of ids) {
await translationModule.deleteTranslation(id);
}
});
exports.deleteTranslationStep = (0, workflows_sdk_1.createStep)("tolgee-delete-translation", async ({ id }, { container }) => {
const translationModule = container.resolve(tolgee_1.TOLGEE_MODULE);
await translationModule.deleteTranslation(id);
return new workflows_sdk_1.StepResponse([id]);
});
exports.getModelTranslationKeysStep = (0, workflows_sdk_1.createStep)("tolgee-get-model-translation-keys", async ({ id }, { container }) => {
const translationModule = container.resolve(tolgee_1.TOLGEE_MODULE);
const keyNames = await translationModule.getModelKeyNames(id);
return new workflows_sdk_1.StepResponse(keyNames);
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0ZXBzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUM3RSwyQ0FBMEM7QUFFMUMsaURBQXFEO0FBR3hDLFFBQUEsa0JBQWtCLEdBQUcsSUFBQSwwQkFBVSxFQUMxQyx3QkFBd0IsRUFDeEIsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBcUIsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDdkQsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekQsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUVqRSxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtJQUN0QyxNQUFNLE9BQU8sR0FBRztRQUNkLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDcEUsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDdEYsa0JBQWtCLEVBQUUsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDekYsY0FBYyxFQUFFLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2pGLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzVGLFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDM0UsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzdFLGVBQWUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNuRixlQUFlLEVBQUUsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztLQUM3QyxDQUFBLENBQUMsbURBQW1EO0lBRWhHLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUN2QyxPQUFPLElBQUksNEJBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNsQyxDQUFDLENBQ0YsQ0FBQztBQUdXLFFBQUEsMkJBQTJCLEdBQUcsSUFBQSwwQkFBVSxFQUNuRCxrQ0FBa0MsRUFDbEMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBbUIsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDekQsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLHNCQUFhLENBQUMsQ0FBQztJQUMzRCxNQUFNLEdBQUcsR0FBRyxNQUFNLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxRSxPQUFPLElBQUksNEJBQVksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyw4QkFBOEI7QUFDbkUsQ0FBQyxFQUNELEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQzNCLElBQUksQ0FBQyxHQUFHO1FBQUUsT0FBTTtJQUNoQixNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsc0JBQWEsQ0FBQyxDQUFDO0lBQzNELEtBQUssTUFBTSxFQUFFLElBQUksR0FBRyxFQUFFLENBQUM7UUFDckIsTUFBTSxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0FBQ0gsQ0FBQyxDQUNGLENBQUM7QUFHVyxRQUFBLHFCQUFxQixHQUFHLElBQUEsMEJBQVUsRUFDN0MsMkJBQTJCLEVBQzNCLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBbUIsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDL0MsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLHNCQUFhLENBQUMsQ0FBQztJQUMzRCxNQUFNLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLE9BQU8sSUFBSSw0QkFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNoQyxDQUFDLENBQ0YsQ0FBQztBQUdXLFFBQUEsMkJBQTJCLEdBQUcsSUFBQSwwQkFBVSxFQUNuRCxtQ0FBbUMsRUFDbkMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFnQixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUM1QyxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsc0JBQWEsQ0FBQyxDQUFDO0lBQzNELE1BQU0sUUFBUSxHQUFHLE1BQU0saUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUQsT0FBTyxJQUFJLDRCQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDcEMsQ0FBQyxDQUNGLENBQUMifQ==