UNPKG

medusa-plugin-tolgee

Version:

Medusa V2 Plugin to easily add translations to your models with Tolgee

145 lines 12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.listShippingOptionsForCartWorkflowId = void 0; const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk"); const core_flows_1 = require("@medusajs/medusa/core-flows"); const utils_1 = require("@medusajs/framework/utils"); exports.listShippingOptionsForCartWorkflowId = "list-shipping-options-for-cart"; const cartFieldsForPricingContext = [ "id", "sales_channel_id", "currency_code", "region_id", "shipping_address.city", "shipping_address.country_code", "shipping_address.province", "shipping_address.postal_code", "item_total", "total", "customer.id", "email", "customer.groups.id", ]; const listShippingOptionsForCartWithTranslationsWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.listShippingOptionsForCartWorkflowId, (input) => { const cartQuery = (0, core_flows_1.useQueryGraphStep)({ entity: "cart", filters: { id: input.cart_id }, fields: [ ...cartFieldsForPricingContext, "items.*", "items.variant.manage_inventory", "items.variant.inventory_items.inventory_item_id", "items.variant.inventory_items.inventory.requires_shipping", "items.variant.inventory_items.inventory.location_levels.*", ], options: { throwIfKeyNotFound: true }, }).config({ name: "get-cart" }); const cart = (0, workflows_sdk_1.transform)({ cartQuery }, ({ cartQuery }) => cartQuery.data[0]); (0, core_flows_1.validatePresenceOfStep)({ entity: cart, fields: ["sales_channel_id", "region_id", "currency_code"], }); const scFulfillmentSetQuery = (0, core_flows_1.useQueryGraphStep)({ entity: "sales_channels", filters: { id: cart.sales_channel_id }, fields: [ "stock_locations.fulfillment_sets.id", "stock_locations.id", "stock_locations.name", "stock_locations.address.*", ], }).config({ name: "sales_channels-fulfillment-query" }); const scFulfillmentSets = (0, workflows_sdk_1.transform)({ scFulfillmentSetQuery }, ({ scFulfillmentSetQuery }) => scFulfillmentSetQuery.data[0]); const { fulfillmentSetIds } = (0, workflows_sdk_1.transform)({ scFulfillmentSets }, ({ scFulfillmentSets }) => { const fulfillmentSetIds = new Set(); scFulfillmentSets.stock_locations.forEach((stockLocation) => { stockLocation.fulfillment_sets.forEach((fulfillmentSet) => { fulfillmentSetIds.add(fulfillmentSet.id); }); }); return { fulfillmentSetIds: Array.from(fulfillmentSetIds), }; }); const queryVariables = (0, workflows_sdk_1.transform)({ input, fulfillmentSetIds, cart }, ({ input, fulfillmentSetIds, cart }) => { return { id: input.option_ids, context: { is_return: input.is_return ? "true" : "false", enabled_in_store: !(0, utils_1.isDefined)(input.enabled_in_store) ? "true" : input.enabled_in_store ? "true" : "false", }, filters: { fulfillment_set_id: fulfillmentSetIds, address: { country_code: cart.shipping_address?.country_code, province_code: cart.shipping_address?.province, city: cart.shipping_address?.city, postal_expression: cart.shipping_address?.postal_code, }, }, calculated_price: { context: cart }, translations: { context: { country_code: input.country_code } } }; }); const shippingOptions = (0, core_flows_1.useRemoteQueryStep)({ entry_point: "shipping_options", fields: [ "id", "name", "price_type", "service_zone_id", "shipping_profile_id", "provider_id", "data", "service_zone.fulfillment_set_id", "service_zone.fulfillment_set.type", "service_zone.fulfillment_set.location.id", "service_zone.fulfillment_set.location.address.*", "type.id", "type.label", "type.description", "type.code", "provider.id", "provider.is_enabled", "rules.attribute", "rules.value", "rules.operator", "calculated_price.*", "prices.*", "prices.price_rules.*", "translations.*", ], variables: queryVariables, }).config({ name: "shipping-options-query" }); const shippingOptionsWithPrice = (0, workflows_sdk_1.transform)({ shippingOptions, cart }, ({ shippingOptions, cart }) => shippingOptions.map((shippingOption) => { const price = shippingOption.calculated_price; const locationId = shippingOption.service_zone.fulfillment_set.location.id; const itemsAtLocationWithoutAvailableQuantity = cart.items.filter((item) => { if (!item.variant?.manage_inventory) { return false; } return item.variant.inventory_items.some((inventoryItem) => { if (!inventoryItem.inventory.requires_shipping) { return false; } const level = inventoryItem.inventory.location_levels.find((locationLevel) => { return locationLevel.location_id === locationId; }); return !level ? true : level.available_quantity < item.quantity; }); }); return { ...shippingOption, amount: price?.calculated_amount, is_tax_inclusive: !!price?.is_calculated_price_tax_inclusive, insufficient_inventory: itemsAtLocationWithoutAvailableQuantity.length > 0, }; })); return new workflows_sdk_1.WorkflowResponse(shippingOptionsWithPrice); }); exports.default = listShippingOptionsForCartWithTranslationsWorkflow; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpcHBpbmctb3B0aW9ucy13aXRoLXRyYW5zbGF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc2hpcHBpbmctb3B0aW9ucy13aXRoLXRyYW5zbGF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFLMEM7QUFDMUMsNERBQTJHO0FBQzNHLHFEQUFxRDtBQUd4QyxRQUFBLG9DQUFvQyxHQUM3QyxnQ0FBZ0MsQ0FBQTtBQUVwQyxNQUFNLDJCQUEyQixHQUFHO0lBQ2hDLElBQUk7SUFDSixrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLFdBQVc7SUFDWCx1QkFBdUI7SUFDdkIsK0JBQStCO0lBQy9CLDJCQUEyQjtJQUMzQiw4QkFBOEI7SUFDOUIsWUFBWTtJQUNaLE9BQU87SUFDUCxhQUFhO0lBQ2IsT0FBTztJQUNQLG9CQUFvQjtDQUN2QixDQUFBO0FBRUQsTUFBTSxrREFBa0QsR0FBRyxJQUFBLDhCQUFjLEVBQ3JFLDRDQUFvQyxFQUNwQyxDQUFDLEtBQXdGLEVBQUUsRUFBRTtJQUN6RixNQUFNLFNBQVMsR0FBRyxJQUFBLDhCQUFpQixFQUFDO1FBQ2hDLE1BQU0sRUFBRSxNQUFNO1FBQ2QsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUU7UUFDOUIsTUFBTSxFQUFFO1lBQ0osR0FBRywyQkFBMkI7WUFDOUIsU0FBUztZQUNULGdDQUFnQztZQUNoQyxpREFBaUQ7WUFDakQsMkRBQTJEO1lBQzNELDJEQUEyRDtTQUM5RDtRQUNELE9BQU8sRUFBRSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRTtLQUN4QyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUE7SUFFL0IsTUFBTSxJQUFJLEdBQUcsSUFBQSx5QkFBUyxFQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxF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