diff --git a/packages/admin/dashboard/src/hooks/api/fulfillment-providers.tsx b/packages/admin/dashboard/src/hooks/api/fulfillment-providers.tsx index 5d17085c50..12129496ed 100644 --- a/packages/admin/dashboard/src/hooks/api/fulfillment-providers.tsx +++ b/packages/admin/dashboard/src/hooks/api/fulfillment-providers.tsx @@ -9,6 +9,12 @@ export const fulfillmentProvidersQueryKeys = queryKeysFactory( FULFILLMENT_PROVIDERS_QUERY_KEY ) +const FULFILLMENT_PROVIDER_OPTIONS_QUERY_KEY = + "fulfillment_provider_options" as const +export const fulfillmentProviderOptionsQueryKeys = queryKeysFactory( + FULFILLMENT_PROVIDER_OPTIONS_QUERY_KEY +) + export const useFulfillmentProviders = ( query?: HttpTypes.AdminFulfillmentProviderListParams, options?: Omit< @@ -29,3 +35,25 @@ export const useFulfillmentProviders = ( return { ...data, ...rest } } + +export const useFulfillmentProviderOptions = ( + providerId: string, + options?: Omit< + UseQueryOptions< + HttpTypes.AdminFulfillmentProviderOptionsListResponse, + FetchError, + HttpTypes.AdminFulfillmentProviderOptionsListResponse, + QueryKey + >, + "queryFn" | "queryKey" + > +) => { + const { data, ...rest } = useQuery({ + queryFn: () => + sdk.admin.fulfillmentProvider.listFulfillmentOptions(providerId), + queryKey: fulfillmentProviderOptionsQueryKeys.list(providerId), + ...options, + }) + + return { ...data, ...rest } +} diff --git a/packages/admin/dashboard/src/hooks/use-combobox-data.tsx b/packages/admin/dashboard/src/hooks/use-combobox-data.tsx index 159bf0e9e2..1488dec0c7 100644 --- a/packages/admin/dashboard/src/hooks/use-combobox-data.tsx +++ b/packages/admin/dashboard/src/hooks/use-combobox-data.tsx @@ -20,7 +20,7 @@ type ComboboxQueryParams = { export const useComboboxData = < TResponse extends ComboboxExternalData, - TParams extends ComboboxQueryParams + TParams extends ComboboxQueryParams, >({ queryKey, queryFn, @@ -50,7 +50,6 @@ export const useComboboxData = < enabled: !!defaultValue, }) - const { data, ...rest } = useInfiniteQuery({ queryKey: [...queryKey, query], queryFn: async ({ pageParam = 0 }) => { diff --git a/packages/admin/dashboard/src/i18n/translations/$schema.json b/packages/admin/dashboard/src/i18n/translations/$schema.json index 2579af1ee8..d755ecd0d0 100644 --- a/packages/admin/dashboard/src/i18n/translations/$schema.json +++ b/packages/admin/dashboard/src/i18n/translations/$schema.json @@ -258,7 +258,11 @@ "type": "string" } }, - "required": ["header_one", "header_other", "description"], + "required": [ + "header_one", + "header_other", + "description" + ], "additionalProperties": false } }, @@ -307,7 +311,11 @@ "type": "string" } }, - "required": ["insertRowAbove", "insertRowBelow", "deleteRow"], + "required": [ + "insertRowAbove", + "insertRowBelow", + "deleteRow" + ], "additionalProperties": false }, "labels": { @@ -320,7 +328,10 @@ "type": "string" } }, - "required": ["key", "value"], + "required": [ + "key", + "value" + ], "additionalProperties": false }, "complexRow": { @@ -336,7 +347,11 @@ "type": "string" } }, - "required": ["label", "description", "tooltip"], + "required": [ + "label", + "description", + "tooltip" + ], "additionalProperties": false } }, @@ -351,7 +366,12 @@ "additionalProperties": false } }, - "required": ["header", "numberOfKeys_one", "numberOfKeys_other", "edit"], + "required": [ + "header", + "numberOfKeys_one", + "numberOfKeys_other", + "edit" + ], "additionalProperties": false }, "validation": { @@ -364,7 +384,10 @@ "type": "string" } }, - "required": ["mustBeInt", "mustBePositive"], + "required": [ + "mustBeInt", + "mustBePositive" + ], "additionalProperties": false }, "actions": { @@ -550,7 +573,9 @@ "type": "string" } }, - "required": ["in"], + "required": [ + "in" + ], "additionalProperties": false }, "app": { @@ -901,7 +926,12 @@ "type": "string" } }, - "required": ["label", "dark", "light", "system"], + "required": [ + "label", + "dark", + "light", + "system" + ], "additionalProperties": false } }, @@ -924,7 +954,10 @@ "type": "string" } }, - "required": ["label", "storeSettings"], + "required": [ + "label", + "storeSettings" + ], "additionalProperties": false }, "actions": { @@ -934,11 +967,17 @@ "type": "string" } }, - "required": ["logout"], + "required": [ + "logout" + ], "additionalProperties": false } }, - "required": ["user", "store", "actions"], + "required": [ + "user", + "store", + "actions" + ], "additionalProperties": false }, "nav": { @@ -954,7 +993,10 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false }, "common": { @@ -964,7 +1006,9 @@ "type": "string" } }, - "required": ["extensions"], + "required": [ + "extensions" + ], "additionalProperties": false }, "main": { @@ -977,7 +1021,10 @@ "type": "string" } }, - "required": ["store", "storeSettings"], + "required": [ + "store", + "storeSettings" + ], "additionalProperties": false }, "settings": { @@ -996,15 +1043,30 @@ "type": "string" } }, - "required": ["header", "general", "developer", "myAccount"], + "required": [ + "header", + "general", + "developer", + "myAccount" + ], "additionalProperties": false } }, - "required": ["accessibility", "common", "main", "settings"], + "required": [ + "accessibility", + "common", + "main", + "settings" + ], "additionalProperties": false } }, - "required": ["search", "keyboardShortcuts", "menus", "nav"], + "required": [ + "search", + "keyboardShortcuts", + "menus", + "nav" + ], "additionalProperties": false }, "dataGrid": { @@ -1023,7 +1085,11 @@ "type": "string" } }, - "required": ["view", "resetToDefault", "disabled"], + "required": [ + "view", + "resetToDefault", + "disabled" + ], "additionalProperties": false }, "shortcuts": { @@ -1117,7 +1183,10 @@ "additionalProperties": false } }, - "required": ["label", "commands"], + "required": [ + "label", + "commands" + ], "additionalProperties": false }, "errors": { @@ -1133,11 +1202,19 @@ "type": "string" } }, - "required": ["fixError", "count_one", "count_other"], + "required": [ + "fixError", + "count_one", + "count_other" + ], "additionalProperties": false } }, - "required": ["columns", "shortcuts", "errors"], + "required": [ + "columns", + "shortcuts", + "errors" + ], "additionalProperties": false }, "filters": { @@ -1223,7 +1300,11 @@ "type": "string" } }, - "required": ["date", "compare", "addFilter"], + "required": [ + "date", + "compare", + "addFilter" + ], "additionalProperties": false }, "errorBoundary": { @@ -1293,7 +1374,12 @@ "type": "string" } }, - "required": ["header", "editHeader", "editLabel", "label"], + "required": [ + "header", + "editHeader", + "editLabel", + "label" + ], "additionalProperties": false }, "billingAddress": { @@ -1352,7 +1438,11 @@ "type": "string" } }, - "required": ["editHeader", "editLabel", "label"], + "required": [ + "editHeader", + "editLabel", + "label" + ], "additionalProperties": false }, "transferOwnership": { @@ -1374,7 +1464,10 @@ "type": "string" } }, - "required": ["order", "draft"], + "required": [ + "order", + "draft" + ], "additionalProperties": false }, "currentOwner": { @@ -1387,7 +1480,10 @@ "type": "string" } }, - "required": ["label", "hint"], + "required": [ + "label", + "hint" + ], "additionalProperties": false }, "newOwner": { @@ -1400,7 +1496,10 @@ "type": "string" } }, - "required": ["label", "hint"], + "required": [ + "label", + "hint" + ], "additionalProperties": false }, "validation": { @@ -1413,7 +1512,10 @@ "type": "string" } }, - "required": ["mustBeDifferent", "required"], + "required": [ + "mustBeDifferent", + "required" + ], "additionalProperties": false } }, @@ -1434,7 +1536,9 @@ "type": "string" } }, - "required": ["availableIn"], + "required": [ + "availableIn" + ], "additionalProperties": false }, "products": { @@ -1450,7 +1554,9 @@ "type": "string" } }, - "required": ["noRecordsMessage"], + "required": [ + "noRecordsMessage" + ], "additionalProperties": false }, "edit": { @@ -1466,7 +1572,11 @@ "type": "string" } }, - "required": ["header", "description", "successToast"], + "required": [ + "header", + "description", + "successToast" + ], "additionalProperties": false }, "create": { @@ -1497,7 +1607,12 @@ "type": "string" } }, - "required": ["details", "organize", "variants", "inventory"], + "required": [ + "details", + "organize", + "variants", + "inventory" + ], "additionalProperties": false }, "errors": { @@ -1513,7 +1628,11 @@ "type": "string" } }, - "required": ["variants", "options", "uniqueSku"], + "required": [ + "variants", + "options", + "uniqueSku" + ], "additionalProperties": false }, "inventory": { @@ -1559,7 +1678,9 @@ "type": "string" } }, - "required": ["placeholder"], + "required": [ + "placeholder" + ], "additionalProperties": false }, "optionValues": { @@ -1569,7 +1690,9 @@ "type": "string" } }, - "required": ["placeholder"], + "required": [ + "placeholder" + ], "additionalProperties": false }, "productVariants": { @@ -1588,7 +1711,12 @@ "type": "string" } }, - "required": ["label", "hint", "alert", "tip"], + "required": [ + "label", + "hint", + "alert", + "tip" + ], "additionalProperties": false }, "productOptions": { @@ -1601,7 +1729,10 @@ "type": "string" } }, - "required": ["label", "hint"], + "required": [ + "label", + "hint" + ], "additionalProperties": false } }, @@ -1651,7 +1782,10 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false }, "filters": { @@ -1664,7 +1798,10 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false }, "columns": { @@ -1677,7 +1814,10 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false } }, @@ -1715,7 +1855,10 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false }, "upload": { @@ -1756,7 +1899,10 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false } }, @@ -1850,7 +1996,11 @@ "type": "string" } }, - "required": ["header", "description", "action"], + "required": [ + "header", + "description", + "action" + ], "additionalProperties": false }, "successToast": { @@ -1909,7 +2059,12 @@ "type": "string" } }, - "required": ["draft", "published", "proposed", "rejected"], + "required": [ + "draft", + "published", + "proposed", + "rejected" + ], "additionalProperties": false }, "fields": { @@ -1925,7 +2080,10 @@ "type": "string" } }, - "required": ["label", "hint"], + "required": [ + "label", + "hint" + ], "additionalProperties": false }, "subtitle": { @@ -1935,7 +2093,9 @@ "type": "string" } }, - "required": ["label"], + "required": [ + "label" + ], "additionalProperties": false }, "handle": { @@ -1948,7 +2108,10 @@ "type": "string" } }, - "required": ["label", "tooltip"], + "required": [ + "label", + "tooltip" + ], "additionalProperties": false }, "description": { @@ -1961,7 +2124,10 @@ "type": "string" } }, - "required": ["label", "hint"], + "required": [ + "label", + "hint" + ], "additionalProperties": false }, "discountable": { @@ -1974,7 +2140,10 @@ "type": "string" } }, - "required": ["label", "hint"], + "required": [ + "label", + "hint" + ], "additionalProperties": false }, "type": { @@ -1984,7 +2153,9 @@ "type": "string" } }, - "required": ["label"], + "required": [ + "label" + ], "additionalProperties": false }, "collection": { @@ -1994,7 +2165,9 @@ "type": "string" } }, - "required": ["label"], + "required": [ + "label" + ], "additionalProperties": false }, "categories": { @@ -2004,7 +2177,9 @@ "type": "string" } }, - "required": ["label"], + "required": [ + "label" + ], "additionalProperties": false }, "tags": { @@ -2014,7 +2189,9 @@ "type": "string" } }, - "required": ["label"], + "required": [ + "label" + ], "additionalProperties": false }, "sales_channels": { @@ -2027,7 +2204,10 @@ "type": "string" } }, - "required": ["label", "hint"], + "required": [ + "label", + "hint" + ], "additionalProperties": false }, "countryOrigin": { @@ -2037,7 +2217,9 @@ "type": "string" } }, - "required": ["label"], + "required": [ + "label" + ], "additionalProperties": false }, "material": { @@ -2047,7 +2229,9 @@ "type": "string" } }, - "required": ["label"], + "required": [ + "label" + ], "additionalProperties": false }, "width": { @@ -2057,7 +2241,9 @@ "type": "string" } }, - "required": ["label"], + "required": [ + "label" + ], "additionalProperties": false }, "length": { @@ -2067,7 +2253,9 @@ "type": "string" } }, - "required": ["label"], + "required": [ + "label" + ], "additionalProperties": false }, "height": { @@ -2077,7 +2265,9 @@ "type": "string" } }, - "required": ["label"], + "required": [ + "label" + ], "additionalProperties": false }, "weight": { @@ -2087,7 +2277,9 @@ "type": "string" } }, - "required": ["label"], + "required": [ + "label" + ], "additionalProperties": false }, "options": { @@ -2136,7 +2328,10 @@ "type": "string" } }, - "required": ["label", "hint"], + "required": [ + "label", + "hint" + ], "additionalProperties": false }, "mid_code": { @@ -2146,7 +2341,9 @@ "type": "string" } }, - "required": ["label"], + "required": [ + "label" + ], "additionalProperties": false }, "hs_code": { @@ -2156,7 +2353,9 @@ "type": "string" } }, - "required": ["label"], + "required": [ + "label" + ], "additionalProperties": false } }, @@ -2197,7 +2396,10 @@ "type": "string" } }, - "required": ["header", "success"], + "required": [ + "header", + "success" + ], "additionalProperties": false }, "create": { @@ -2207,7 +2409,9 @@ "type": "string" } }, - "required": ["header"], + "required": [ + "header" + ], "additionalProperties": false }, "deleteWarning": { @@ -2253,7 +2457,10 @@ "type": "string" } }, - "required": ["inventoryItems", "inventoryKit"], + "required": [ + "inventoryItems", + "inventoryKit" + ], "additionalProperties": false }, "inventoryKit": { @@ -2272,7 +2479,10 @@ "type": "string" } }, - "required": ["itemId", "quantity"], + "required": [ + "itemId", + "quantity" + ], "additionalProperties": false }, "header": { @@ -2367,7 +2577,10 @@ "type": "string" } }, - "required": ["header", "successToast"], + "required": [ + "header", + "successToast" + ], "additionalProperties": false }, "create": { @@ -2380,14 +2593,22 @@ "type": "string" } }, - "required": ["header", "successToast"], + "required": [ + "header", + "successToast" + ], "additionalProperties": false }, "deleteWarning": { "type": "string" } }, - "required": ["header", "edit", "create", "deleteWarning"], + "required": [ + "header", + "edit", + "create", + "deleteWarning" + ], "additionalProperties": false }, "organization": { @@ -2409,15 +2630,23 @@ "type": "string" } }, - "required": ["success"], + "required": [ + "success" + ], "additionalProperties": false } }, - "required": ["header", "toasts"], + "required": [ + "header", + "toasts" + ], "additionalProperties": false } }, - "required": ["header", "edit"], + "required": [ + "header", + "edit" + ], "additionalProperties": false }, "toasts": { @@ -2436,7 +2665,10 @@ "type": "string" } }, - "required": ["header", "description"], + "required": [ + "header", + "description" + ], "additionalProperties": false }, "error": { @@ -2446,15 +2678,22 @@ "type": "string" } }, - "required": ["header"], + "required": [ + "header" + ], "additionalProperties": false } }, - "required": ["success", "error"], + "required": [ + "success", + "error" + ], "additionalProperties": false } }, - "required": ["delete"], + "required": [ + "delete" + ], "additionalProperties": false } }, @@ -2532,7 +2771,9 @@ "type": "string" } }, - "required": ["noRecordsMessage"], + "required": [ + "noRecordsMessage" + ], "additionalProperties": false }, "add": { @@ -2545,7 +2786,10 @@ "type": "string" } }, - "required": ["successToast_one", "successToast_other"], + "required": [ + "successToast_one", + "successToast_other" + ], "additionalProperties": false }, "remove": { @@ -2558,11 +2802,18 @@ "type": "string" } }, - "required": ["successToast_one", "successToast_other"], + "required": [ + "successToast_one", + "successToast_other" + ], "additionalProperties": false } }, - "required": ["list", "add", "remove"], + "required": [ + "list", + "add", + "remove" + ], "additionalProperties": false } }, @@ -2610,14 +2861,22 @@ "type": "string" } }, - "required": ["details", "organize"], + "required": [ + "details", + "organize" + ], "additionalProperties": false }, "successToast": { "type": "string" } }, - "required": ["header", "hint", "tabs", "successToast"], + "required": [ + "header", + "hint", + "tabs", + "successToast" + ], "additionalProperties": false }, "edit": { @@ -2633,7 +2892,11 @@ "type": "string" } }, - "required": ["header", "description", "successToast"], + "required": [ + "header", + "description", + "successToast" + ], "additionalProperties": false }, "delete": { @@ -2646,7 +2909,10 @@ "type": "string" } }, - "required": ["confirmation", "successToast"], + "required": [ + "confirmation", + "successToast" + ], "additionalProperties": false }, "products": { @@ -2703,11 +2969,17 @@ "type": "string" } }, - "required": ["noRecordsMessage"], + "required": [ + "noRecordsMessage" + ], "additionalProperties": false } }, - "required": ["add", "remove", "list"], + "required": [ + "add", + "remove", + "list" + ], "additionalProperties": false }, "organize": { @@ -2720,7 +2992,10 @@ "type": "string" } }, - "required": ["header", "action"], + "required": [ + "header", + "action" + ], "additionalProperties": false }, "fields": { @@ -2739,7 +3014,11 @@ "type": "string" } }, - "required": ["label", "internal", "public"], + "required": [ + "label", + "internal", + "public" + ], "additionalProperties": false }, "status": { @@ -2755,7 +3034,11 @@ "type": "string" } }, - "required": ["label", "active", "inactive"], + "required": [ + "label", + "active", + "inactive" + ], "additionalProperties": false }, "path": { @@ -2768,7 +3051,10 @@ "type": "string" } }, - "required": ["label", "tooltip"], + "required": [ + "label", + "tooltip" + ], "additionalProperties": false }, "children": { @@ -2778,7 +3064,9 @@ "type": "string" } }, - "required": ["label"], + "required": [ + "label" + ], "additionalProperties": false }, "new": { @@ -2788,11 +3076,19 @@ "type": "string" } }, - "required": ["label"], + "required": [ + "label" + ], "additionalProperties": false } }, - "required": ["visibility", "status", "path", "children", "new"], + "required": [ + "visibility", + "status", + "path", + "children", + "new" + ], "additionalProperties": false } }, @@ -2942,7 +3238,10 @@ "type": "string" } }, - "required": ["noAvaliableQuantity", "quantityOutOfRange"], + "required": [ + "noAvaliableQuantity", + "quantityOutOfRange" + ], "additionalProperties": false } }, @@ -2978,11 +3277,15 @@ "type": "string" } }, - "required": ["stockedQuantity"], + "required": [ + "stockedQuantity" + ], "additionalProperties": false } }, - "required": ["errors"], + "required": [ + "errors" + ], "additionalProperties": false }, "toast": { @@ -2998,7 +3301,11 @@ "type": "string" } }, - "required": ["updateLocations", "updateLevel", "updateItem"], + "required": [ + "updateLocations", + "updateLevel", + "updateItem" + ], "additionalProperties": false } }, @@ -3104,7 +3411,9 @@ "type": "string" } }, - "required": ["noRecordsMessage"], + "required": [ + "noRecordsMessage" + ], "additionalProperties": false }, "create": { @@ -3120,7 +3429,11 @@ "type": "string" } }, - "required": ["header", "hint", "successToast"], + "required": [ + "header", + "hint", + "successToast" + ], "additionalProperties": false }, "groups": { @@ -3145,7 +3458,9 @@ "type": "string" } }, - "required": ["noRecordsMessage"], + "required": [ + "noRecordsMessage" + ], "additionalProperties": false }, "add": { @@ -3161,11 +3476,16 @@ "type": "string" } }, - "required": ["noRecordsMessage"], + "required": [ + "noRecordsMessage" + ], "additionalProperties": false } }, - "required": ["success", "list"], + "required": [ + "success", + "list" + ], "additionalProperties": false }, "removed": { @@ -3181,11 +3501,16 @@ "type": "string" } }, - "required": ["noRecordsMessage"], + "required": [ + "noRecordsMessage" + ], "additionalProperties": false } }, - "required": ["success", "list"], + "required": [ + "success", + "list" + ], "additionalProperties": false } }, @@ -3213,7 +3538,11 @@ "type": "string" } }, - "required": ["header", "emailDisabledTooltip", "successToast"], + "required": [ + "header", + "emailDisabledTooltip", + "successToast" + ], "additionalProperties": false }, "delete": { @@ -3229,7 +3558,11 @@ "type": "string" } }, - "required": ["title", "description", "successToast"], + "required": [ + "title", + "description", + "successToast" + ], "additionalProperties": false }, "fields": { @@ -3245,7 +3578,11 @@ "type": "string" } }, - "required": ["guest", "registered", "groups"], + "required": [ + "guest", + "registered", + "groups" + ], "additionalProperties": false }, "registered": { @@ -3294,7 +3631,11 @@ "type": "string" } }, - "required": ["header", "hint", "successToast"], + "required": [ + "header", + "hint", + "successToast" + ], "additionalProperties": false }, "edit": { @@ -3307,7 +3648,10 @@ "type": "string" } }, - "required": ["header", "successToast"], + "required": [ + "header", + "successToast" + ], "additionalProperties": false }, "delete": { @@ -3323,7 +3667,11 @@ "type": "string" } }, - "required": ["title", "description", "successToast"], + "required": [ + "title", + "description", + "successToast" + ], "additionalProperties": false }, "customers": { @@ -3348,11 +3696,17 @@ "type": "string" } }, - "required": ["noRecordsMessage"], + "required": [ + "noRecordsMessage" + ], "additionalProperties": false } }, - "required": ["successToast_one", "successToast_other", "list"], + "required": [ + "successToast_one", + "successToast_other", + "list" + ], "additionalProperties": false }, "remove": { @@ -3386,11 +3740,18 @@ "type": "string" } }, - "required": ["noRecordsMessage"], + "required": [ + "noRecordsMessage" + ], "additionalProperties": false } }, - "required": ["alreadyAddedTooltip", "add", "remove", "list"], + "required": [ + "alreadyAddedTooltip", + "add", + "remove", + "list" + ], "additionalProperties": false } }, @@ -3432,7 +3793,9 @@ "type": "string" } }, - "required": ["noRecordsMessage"], + "required": [ + "noRecordsMessage" + ], "additionalProperties": false }, "summary": { @@ -3724,7 +4087,10 @@ "type": "string" } }, - "required": ["title", "titlePending"], + "required": [ + "title", + "titlePending" + ], "additionalProperties": false }, "toast": { @@ -3737,7 +4103,10 @@ "type": "string" } }, - "required": ["canceledSuccessfully", "confirmedSuccessfully"], + "required": [ + "canceledSuccessfully", + "confirmedSuccessfully" + ], "additionalProperties": false }, "validation": { @@ -3747,7 +4116,9 @@ "type": "string" } }, - "required": ["quantityLowerThanFulfillment"], + "required": [ + "quantityLowerThanFulfillment" + ], "additionalProperties": false } }, @@ -3788,7 +4159,10 @@ "type": "string" } }, - "required": ["title", "requestSuccess"], + "required": [ + "title", + "requestSuccess" + ], "additionalProperties": false }, "shippingAddress": { @@ -3801,7 +4175,10 @@ "type": "string" } }, - "required": ["title", "requestSuccess"], + "required": [ + "title", + "requestSuccess" + ], "additionalProperties": false }, "billingAddress": { @@ -3814,11 +4191,18 @@ "type": "string" } }, - "required": ["title", "requestSuccess"], + "required": [ + "title", + "requestSuccess" + ], "additionalProperties": false } }, - "required": ["email", "shippingAddress", "billingAddress"], + "required": [ + "email", + "shippingAddress", + "billingAddress" + ], "additionalProperties": false }, "returns": { @@ -3924,7 +4308,10 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false }, "placeholders": { @@ -3940,7 +4327,10 @@ "type": "string" } }, - "required": ["title", "hint"], + "required": [ + "title", + "hint" + ], "additionalProperties": false }, "outboundShippingOptions": { @@ -3953,7 +4343,10 @@ "type": "string" } }, - "required": ["title", "hint"], + "required": [ + "title", + "hint" + ], "additionalProperties": false } }, @@ -4038,7 +4431,10 @@ "type": "string" } }, - "required": ["canceledSuccessfully", "confirmedSuccessfully"], + "required": [ + "canceledSuccessfully", + "confirmedSuccessfully" + ], "additionalProperties": false }, "panel": { @@ -4051,7 +4447,10 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false } }, @@ -4140,11 +4539,15 @@ "type": "string" } }, - "required": ["successToast"], + "required": [ + "successToast" + ], "additionalProperties": false } }, - "required": ["cancelClaim"], + "required": [ + "cancelClaim" + ], "additionalProperties": false }, "cancel": { @@ -4157,7 +4560,10 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false }, "tooltips": { @@ -4167,7 +4573,9 @@ "type": "string" } }, - "required": ["onlyReturnShippingOptions"], + "required": [ + "onlyReturnShippingOptions" + ], "additionalProperties": false }, "toast": { @@ -4180,7 +4588,10 @@ "type": "string" } }, - "required": ["canceledSuccessfully", "confirmedSuccessfully"], + "required": [ + "canceledSuccessfully", + "confirmedSuccessfully" + ], "additionalProperties": false }, "panel": { @@ -4193,7 +4604,10 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false } }, @@ -4263,11 +4677,15 @@ "type": "string" } }, - "required": ["successToast"], + "required": [ + "successToast" + ], "additionalProperties": false } }, - "required": ["cancelExchange"], + "required": [ + "cancelExchange" + ], "additionalProperties": false }, "cancel": { @@ -4280,7 +4698,10 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false }, "tooltips": { @@ -4290,7 +4711,9 @@ "type": "string" } }, - "required": ["onlyReturnShippingOptions"], + "required": [ + "onlyReturnShippingOptions" + ], "additionalProperties": false }, "toast": { @@ -4303,7 +4726,10 @@ "type": "string" } }, - "required": ["canceledSuccessfully", "confirmedSuccessfully"], + "required": [ + "canceledSuccessfully", + "confirmedSuccessfully" + ], "additionalProperties": false }, "panel": { @@ -4316,7 +4742,10 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false } }, @@ -4350,7 +4779,10 @@ "type": "string" } }, - "required": ["allocatedLabel", "notAllocatedLabel"], + "required": [ + "allocatedLabel", + "notAllocatedLabel" + ], "additionalProperties": false }, "allocateItems": { @@ -4387,7 +4819,9 @@ "type": "string" } }, - "required": ["created"], + "required": [ + "created" + ], "additionalProperties": false }, "error": { @@ -4397,7 +4831,9 @@ "type": "string" } }, - "required": ["quantityNotAllocated"], + "required": [ + "quantityNotAllocated" + ], "additionalProperties": false } }, @@ -4520,7 +4956,11 @@ "type": "string" } }, - "required": ["wrongQuantity", "wrongQuantity_other", "noItems"], + "required": [ + "wrongQuantity", + "wrongQuantity_other", + "noItems" + ], "additionalProperties": false }, "status": { @@ -4666,7 +5106,11 @@ "type": "string" } }, - "required": ["amountToLarge", "amountNegative", "reasonRequired"], + "required": [ + "amountToLarge", + "amountNegative", + "reasonRequired" + ], "additionalProperties": false } }, @@ -4762,7 +5206,10 @@ "type": "string" } }, - "required": ["toReturn", "toSend"], + "required": [ + "toReturn", + "toSend" + ], "additionalProperties": false }, "placed": { @@ -4775,7 +5222,10 @@ "type": "string" } }, - "required": ["title", "fromSalesChannel"], + "required": [ + "title", + "fromSalesChannel" + ], "additionalProperties": false }, "canceled": { @@ -4785,7 +5235,9 @@ "type": "string" } }, - "required": ["title"], + "required": [ + "title" + ], "additionalProperties": false }, "payment": { @@ -4804,7 +5256,12 @@ "type": "string" } }, - "required": ["awaiting", "captured", "canceled", "refunded"], + "required": [ + "awaiting", + "captured", + "canceled", + "refunded" + ], "additionalProperties": false }, "fulfillment": { @@ -4877,7 +5334,10 @@ "type": "string" } }, - "required": ["comment", "byLine"], + "required": [ + "comment", + "byLine" + ], "additionalProperties": false }, "claim": { @@ -4938,7 +5398,10 @@ "type": "string" } }, - "required": ["requested", "confirmed"], + "required": [ + "requested", + "confirmed" + ], "additionalProperties": false }, "transfer": { @@ -4954,7 +5417,11 @@ "type": "string" } }, - "required": ["requested", "confirmed", "declined"], + "required": [ + "requested", + "confirmed", + "declined" + ], "additionalProperties": false }, "update_order": { @@ -4970,7 +5437,11 @@ "type": "string" } }, - "required": ["shipping_address", "billing_address", "email"], + "required": [ + "shipping_address", + "billing_address", + "email" + ], "additionalProperties": false } }, @@ -5015,7 +5486,11 @@ "type": "string" } }, - "required": ["displayId", "refundableAmount", "returnableQuantity"], + "required": [ + "displayId", + "refundableAmount", + "returnableQuantity" + ], "additionalProperties": false } }, @@ -5074,7 +5549,11 @@ "type": "string" } }, - "required": ["label", "warningTitle", "warningDescription"], + "required": [ + "label", + "warningTitle", + "warningDescription" + ], "additionalProperties": false }, "status": { @@ -5087,7 +5566,10 @@ "type": "string" } }, - "required": ["open", "completed"], + "required": [ + "open", + "completed" + ], "additionalProperties": false }, "create": { @@ -5228,7 +5710,9 @@ "type": "string" } }, - "required": ["description"], + "required": [ + "description" + ], "additionalProperties": false }, "create": { @@ -5244,7 +5728,11 @@ "type": "string" } }, - "required": ["header", "hint", "successToast"], + "required": [ + "header", + "hint", + "successToast" + ], "additionalProperties": false }, "edit": { @@ -5260,7 +5748,11 @@ "type": "string" } }, - "required": ["header", "viewInventory", "successToast"], + "required": [ + "header", + "viewInventory", + "successToast" + ], "additionalProperties": false }, "delete": { @@ -5270,7 +5762,9 @@ "type": "string" } }, - "required": ["confirmation"], + "required": [ + "confirmation" + ], "additionalProperties": false }, "fulfillmentProviders": { @@ -5319,7 +5813,9 @@ "type": "string" } }, - "required": ["header"], + "required": [ + "header" + ], "additionalProperties": false }, "shipping": { @@ -5329,7 +5825,9 @@ "type": "string" } }, - "required": ["header"], + "required": [ + "header" + ], "additionalProperties": false }, "disable": { @@ -5345,7 +5843,11 @@ "type": "string" } }, - "required": ["confirmation", "pickup", "shipping"], + "required": [ + "confirmation", + "pickup", + "shipping" + ], "additionalProperties": false }, "enable": { @@ -5358,11 +5860,19 @@ "type": "string" } }, - "required": ["pickup", "shipping"], + "required": [ + "pickup", + "shipping" + ], "additionalProperties": false } }, - "required": ["pickup", "shipping", "disable", "enable"], + "required": [ + "pickup", + "shipping", + "disable", + "enable" + ], "additionalProperties": false }, "sidebar": { @@ -5381,11 +5891,17 @@ "type": "string" } }, - "required": ["label", "description"], + "required": [ + "label", + "description" + ], "additionalProperties": false } }, - "required": ["header", "shippingProfiles"], + "required": [ + "header", + "shippingProfiles" + ], "additionalProperties": false }, "salesChannels": { @@ -5442,7 +5958,12 @@ "type": "string" } }, - "required": ["header", "hint", "label", "successToast"], + "required": [ + "header", + "hint", + "label", + "successToast" + ], "additionalProperties": false }, "returns": { @@ -5461,7 +5982,12 @@ "type": "string" } }, - "required": ["header", "hint", "label", "successToast"], + "required": [ + "header", + "hint", + "label", + "successToast" + ], "additionalProperties": false }, "tabs": { @@ -5474,14 +6000,22 @@ "type": "string" } }, - "required": ["details", "prices"], + "required": [ + "details", + "prices" + ], "additionalProperties": false }, "action": { "type": "string" } }, - "required": ["shipping", "returns", "tabs", "action"], + "required": [ + "shipping", + "returns", + "tabs", + "action" + ], "additionalProperties": false }, "delete": { @@ -5494,7 +6028,10 @@ "type": "string" } }, - "required": ["confirmation", "successToast"], + "required": [ + "confirmation", + "successToast" + ], "additionalProperties": false }, "edit": { @@ -5510,7 +6047,11 @@ "type": "string" } }, - "required": ["header", "action", "successToast"], + "required": [ + "header", + "action", + "successToast" + ], "additionalProperties": false }, "pricing": { @@ -5520,7 +6061,9 @@ "type": "string" } }, - "required": ["action"], + "required": [ + "action" + ], "additionalProperties": false }, "conditionalPrices": { @@ -5539,7 +6082,9 @@ "type": "string" } }, - "required": ["cartItemTotal"], + "required": [ + "cartItemTotal" + ], "additionalProperties": false }, "summaries": { @@ -5555,7 +6100,11 @@ "type": "string" } }, - "required": ["range", "greaterThan", "lessThan"], + "required": [ + "range", + "greaterThan", + "lessThan" + ], "additionalProperties": false }, "actions": { @@ -5568,7 +6117,10 @@ "type": "string" } }, - "required": ["addPrice", "manageConditionalPrices"], + "required": [ + "addPrice", + "manageConditionalPrices" + ], "additionalProperties": false }, "rules": { @@ -5584,7 +6136,11 @@ "type": "string" } }, - "required": ["amount", "gte", "lte"], + "required": [ + "amount", + "gte", + "lte" + ], "additionalProperties": false }, "customRules": { @@ -5606,7 +6162,13 @@ "type": "string" } }, - "required": ["label", "tooltip", "eq", "gt", "lt"], + "required": [ + "label", + "tooltip", + "eq", + "gt", + "lt" + ], "additionalProperties": false }, "errors": { @@ -5696,7 +6258,10 @@ "type": "string" } }, - "required": ["label", "hint"], + "required": [ + "label", + "hint" + ], "additionalProperties": false }, "calculated": { @@ -5709,15 +6274,24 @@ "type": "string" } }, - "required": ["label", "hint"], + "required": [ + "label", + "hint" + ], "additionalProperties": false } }, - "required": ["fixed", "calculated"], + "required": [ + "fixed", + "calculated" + ], "additionalProperties": false } }, - "required": ["label", "options"], + "required": [ + "label", + "options" + ], "additionalProperties": false }, "enableInStore": { @@ -5730,7 +6304,10 @@ "type": "string" } }, - "required": ["label", "hint"], + "required": [ + "label", + "hint" + ], "additionalProperties": false }, "provider": { @@ -5738,6 +6315,9 @@ }, "profile": { "type": "string" + }, + "fulfillmentOption": { + "type": "string" } }, "required": [ @@ -5745,7 +6325,8 @@ "priceType", "enableInStore", "provider", - "profile" + "profile", + "fulfillmentOption" ], "additionalProperties": false } @@ -5797,7 +6378,10 @@ "type": "string" } }, - "required": ["header", "successToast"], + "required": [ + "header", + "successToast" + ], "additionalProperties": false }, "delete": { @@ -5810,7 +6394,10 @@ "type": "string" } }, - "required": ["confirmation", "successToast"], + "required": [ + "confirmation", + "successToast" + ], "additionalProperties": false }, "manageAreas": { @@ -5832,7 +6419,13 @@ "type": "string" } }, - "required": ["header", "action", "label", "hint", "successToast"], + "required": [ + "header", + "action", + "label", + "hint", + "successToast" + ], "additionalProperties": false }, "fields": { @@ -5845,11 +6438,20 @@ "type": "string" } }, - "required": ["noRecords", "tip"], + "required": [ + "noRecords", + "tip" + ], "additionalProperties": false } }, - "required": ["create", "edit", "delete", "manageAreas", "fields"], + "required": [ + "create", + "edit", + "delete", + "manageAreas", + "fields" + ], "additionalProperties": false } }, @@ -5890,7 +6492,11 @@ "type": "string" } }, - "required": ["header", "hint", "successToast"], + "required": [ + "header", + "hint", + "successToast" + ], "additionalProperties": false }, "delete": { @@ -5906,7 +6512,11 @@ "type": "string" } }, - "required": ["title", "description", "successToast"], + "required": [ + "title", + "description", + "successToast" + ], "additionalProperties": false }, "tooltip": { @@ -5916,11 +6526,19 @@ "type": "string" } }, - "required": ["type"], + "required": [ + "type" + ], "additionalProperties": false } }, - "required": ["domain", "subtitle", "create", "delete", "tooltip"], + "required": [ + "domain", + "subtitle", + "create", + "delete", + "tooltip" + ], "additionalProperties": false }, "taxRegions": { @@ -5936,7 +6554,9 @@ "type": "string" } }, - "required": ["hint"], + "required": [ + "hint" + ], "additionalProperties": false }, "delete": { @@ -5949,7 +6569,10 @@ "type": "string" } }, - "required": ["confirmation", "successToast"], + "required": [ + "confirmation", + "successToast" + ], "additionalProperties": false }, "create": { @@ -5971,14 +6594,22 @@ "type": "string" } }, - "required": ["rateIsRequired", "nameIsRequired"], + "required": [ + "rateIsRequired", + "nameIsRequired" + ], "additionalProperties": false }, "successToast": { "type": "string" } }, - "required": ["header", "hint", "errors", "successToast"], + "required": [ + "header", + "hint", + "errors", + "successToast" + ], "additionalProperties": false }, "province": { @@ -5997,11 +6628,17 @@ "type": "string" } }, - "required": ["header", "hint"], + "required": [ + "header", + "hint" + ], "additionalProperties": false } }, - "required": ["header", "create"], + "required": [ + "header", + "create" + ], "additionalProperties": false }, "state": { @@ -6020,11 +6657,17 @@ "type": "string" } }, - "required": ["header", "hint"], + "required": [ + "header", + "hint" + ], "additionalProperties": false } }, - "required": ["header", "create"], + "required": [ + "header", + "create" + ], "additionalProperties": false }, "stateOrTerritory": { @@ -6043,11 +6686,17 @@ "type": "string" } }, - "required": ["header", "hint"], + "required": [ + "header", + "hint" + ], "additionalProperties": false } }, - "required": ["header", "create"], + "required": [ + "header", + "create" + ], "additionalProperties": false }, "county": { @@ -6066,11 +6715,17 @@ "type": "string" } }, - "required": ["header", "hint"], + "required": [ + "header", + "hint" + ], "additionalProperties": false } }, - "required": ["header", "create"], + "required": [ + "header", + "create" + ], "additionalProperties": false }, "region": { @@ -6089,11 +6744,17 @@ "type": "string" } }, - "required": ["header", "hint"], + "required": [ + "header", + "hint" + ], "additionalProperties": false } }, - "required": ["header", "create"], + "required": [ + "header", + "create" + ], "additionalProperties": false }, "department": { @@ -6112,11 +6773,17 @@ "type": "string" } }, - "required": ["header", "hint"], + "required": [ + "header", + "hint" + ], "additionalProperties": false } }, - "required": ["header", "create"], + "required": [ + "header", + "create" + ], "additionalProperties": false }, "territory": { @@ -6135,11 +6802,17 @@ "type": "string" } }, - "required": ["header", "hint"], + "required": [ + "header", + "hint" + ], "additionalProperties": false } }, - "required": ["header", "create"], + "required": [ + "header", + "create" + ], "additionalProperties": false }, "prefecture": { @@ -6158,11 +6831,17 @@ "type": "string" } }, - "required": ["header", "hint"], + "required": [ + "header", + "hint" + ], "additionalProperties": false } }, - "required": ["header", "create"], + "required": [ + "header", + "create" + ], "additionalProperties": false }, "district": { @@ -6181,11 +6860,17 @@ "type": "string" } }, - "required": ["header", "hint"], + "required": [ + "header", + "hint" + ], "additionalProperties": false } }, - "required": ["header", "create"], + "required": [ + "header", + "create" + ], "additionalProperties": false }, "governorate": { @@ -6204,11 +6889,17 @@ "type": "string" } }, - "required": ["header", "hint"], + "required": [ + "header", + "hint" + ], "additionalProperties": false } }, - "required": ["header", "create"], + "required": [ + "header", + "create" + ], "additionalProperties": false }, "canton": { @@ -6227,11 +6918,17 @@ "type": "string" } }, - "required": ["header", "hint"], + "required": [ + "header", + "hint" + ], "additionalProperties": false } }, - "required": ["header", "create"], + "required": [ + "header", + "create" + ], "additionalProperties": false }, "emirate": { @@ -6250,11 +6947,17 @@ "type": "string" } }, - "required": ["header", "hint"], + "required": [ + "header", + "hint" + ], "additionalProperties": false } }, - "required": ["header", "create"], + "required": [ + "header", + "create" + ], "additionalProperties": false }, "sublevel": { @@ -6273,11 +6976,17 @@ "type": "string" } }, - "required": ["header", "hint"], + "required": [ + "header", + "hint" + ], "additionalProperties": false } }, - "required": ["header", "create"], + "required": [ + "header", + "create" + ], "additionalProperties": false }, "taxOverrides": { @@ -6296,7 +7005,10 @@ "type": "string" } }, - "required": ["header", "hint"], + "required": [ + "header", + "hint" + ], "additionalProperties": false }, "edit": { @@ -6309,11 +7021,18 @@ "type": "string" } }, - "required": ["header", "hint"], + "required": [ + "header", + "hint" + ], "additionalProperties": false } }, - "required": ["header", "create", "edit"], + "required": [ + "header", + "create", + "edit" + ], "additionalProperties": false }, "taxRates": { @@ -6332,7 +7051,11 @@ "type": "string" } }, - "required": ["header", "hint", "successToast"], + "required": [ + "header", + "hint", + "successToast" + ], "additionalProperties": false }, "edit": { @@ -6348,7 +7071,11 @@ "type": "string" } }, - "required": ["header", "hint", "successToast"], + "required": [ + "header", + "hint", + "successToast" + ], "additionalProperties": false }, "delete": { @@ -6361,11 +7088,18 @@ "type": "string" } }, - "required": ["confirmation", "successToast"], + "required": [ + "confirmation", + "successToast" + ], "additionalProperties": false } }, - "required": ["create", "edit", "delete"], + "required": [ + "create", + "edit", + "delete" + ], "additionalProperties": false }, "fields": { @@ -6387,7 +7121,12 @@ "type": "string" } }, - "required": ["label", "hint", "true", "false"], + "required": [ + "label", + "hint", + "true", + "false" + ], "additionalProperties": false }, "defaultTaxRate": { @@ -6403,7 +7142,11 @@ "type": "string" } }, - "required": ["label", "tooltip", "action"], + "required": [ + "label", + "tooltip", + "action" + ], "additionalProperties": false }, "taxRate": { @@ -6462,7 +7205,11 @@ "type": "string" } }, - "required": ["in", "on", "and"], + "required": [ + "in", + "on", + "and" + ], "additionalProperties": false }, "placeholders": { @@ -6528,7 +7275,9 @@ "type": "string" } }, - "required": ["header"], + "required": [ + "header" + ], "additionalProperties": false }, "values_one": { @@ -6700,7 +7449,10 @@ "type": "string" } }, - "required": ["sublevel", "notPartOfCountry"], + "required": [ + "sublevel", + "notPartOfCountry" + ], "additionalProperties": false }, "alert": { @@ -6716,11 +7468,20 @@ "type": "string" } }, - "required": ["header", "description", "action"], + "required": [ + "header", + "description", + "action" + ], "additionalProperties": false } }, - "required": ["labels", "placeholders", "tooltips", "alert"], + "required": [ + "labels", + "placeholders", + "tooltips", + "alert" + ], "additionalProperties": false }, "noDefaultRate": { @@ -6733,7 +7494,10 @@ "type": "string" } }, - "required": ["label", "tooltip"], + "required": [ + "label", + "tooltip" + ], "additionalProperties": false } }, @@ -6786,7 +7550,9 @@ "type": "string" } }, - "required": ["details"], + "required": [ + "details" + ], "additionalProperties": false }, "tabs": { @@ -6802,7 +7568,11 @@ "type": "string" } }, - "required": ["template", "details", "campaign"], + "required": [ + "template", + "details", + "campaign" + ], "additionalProperties": false }, "fields": { @@ -6839,7 +7609,9 @@ "type": "string" } }, - "required": ["tooltip"], + "required": [ + "tooltip" + ], "additionalProperties": false }, "conditions": { @@ -6855,7 +7627,10 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false }, "target-rules": { @@ -6868,7 +7643,10 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false }, "buy-rules": { @@ -6881,11 +7659,18 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false } }, - "required": ["rules", "target-rules", "buy-rules"], + "required": [ + "rules", + "target-rules", + "buy-rules" + ], "additionalProperties": false } }, @@ -6910,7 +7695,9 @@ "type": "string" } }, - "required": ["campaignType"], + "required": [ + "campaignType" + ], "additionalProperties": false }, "errors": { @@ -6923,7 +7710,10 @@ "type": "string" } }, - "required": ["requiredField", "promotionTabError"], + "required": [ + "requiredField", + "promotionTabError" + ], "additionalProperties": false }, "toasts": { @@ -6933,7 +7723,9 @@ "type": "string" } }, - "required": ["promotionCreateSuccess"], + "required": [ + "promotionCreateSuccess" + ], "additionalProperties": false }, "create": { @@ -6955,7 +7747,9 @@ "type": "string" } }, - "required": ["title"], + "required": [ + "title" + ], "additionalProperties": false }, "target-rules": { @@ -6965,7 +7759,9 @@ "type": "string" } }, - "required": ["title"], + "required": [ + "title" + ], "additionalProperties": false }, "buy-rules": { @@ -6975,11 +7771,18 @@ "type": "string" } }, - "required": ["title"], + "required": [ + "title" + ], "additionalProperties": false } }, - "required": ["title", "rules", "target-rules", "buy-rules"], + "required": [ + "title", + "rules", + "target-rules", + "buy-rules" + ], "additionalProperties": false }, "campaign": { @@ -6998,7 +7801,10 @@ "type": "string" } }, - "required": ["header", "successToast"], + "required": [ + "header", + "successToast" + ], "additionalProperties": false }, "actions": { @@ -7008,11 +7814,17 @@ "type": "string" } }, - "required": ["goToCampaign"], + "required": [ + "goToCampaign" + ], "additionalProperties": false } }, - "required": ["header", "edit", "actions"], + "required": [ + "header", + "edit", + "actions" + ], "additionalProperties": false }, "campaign_currency": { @@ -7022,7 +7834,9 @@ "type": "string" } }, - "required": ["tooltip"], + "required": [ + "tooltip" + ], "additionalProperties": false }, "form": { @@ -7059,11 +7873,18 @@ "type": "string" } }, - "required": ["title", "desc"], + "required": [ + "title", + "desc" + ], "additionalProperties": false } }, - "required": ["title", "description", "placeholder"], + "required": [ + "title", + "description", + "placeholder" + ], "additionalProperties": false }, "new": { @@ -7076,7 +7897,10 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false }, "none": { @@ -7089,11 +7913,18 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false } }, - "required": ["existing", "new", "none"], + "required": [ + "existing", + "new", + "none" + ], "additionalProperties": false }, "status": { @@ -7103,7 +7934,9 @@ "type": "string" } }, - "required": ["title"], + "required": [ + "title" + ], "additionalProperties": false }, "method": { @@ -7122,7 +7955,10 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false }, "automatic": { @@ -7135,11 +7971,18 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false } }, - "required": ["label", "code", "automatic"], + "required": [ + "label", + "code", + "automatic" + ], "additionalProperties": false }, "max_quantity": { @@ -7152,7 +7995,10 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false }, "type": { @@ -7168,7 +8014,10 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false }, "buyget": { @@ -7181,11 +8030,17 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false } }, - "required": ["standard", "buyget"], + "required": [ + "standard", + "buyget" + ], "additionalProperties": false }, "allocation": { @@ -7201,7 +8056,10 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false }, "across": { @@ -7214,11 +8072,17 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false } }, - "required": ["each", "across"], + "required": [ + "each", + "across" + ], "additionalProperties": false }, "code": { @@ -7231,7 +8095,10 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false }, "value": { @@ -7241,7 +8108,9 @@ "type": "string" } }, - "required": ["title"], + "required": [ + "title" + ], "additionalProperties": false }, "value_type": { @@ -7257,7 +8126,10 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false }, "percentage": { @@ -7270,11 +8142,17 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false } }, - "required": ["fixed", "percentage"], + "required": [ + "fixed", + "percentage" + ], "additionalProperties": false } }, @@ -7316,11 +8194,16 @@ "type": "string" } }, - "required": ["noRecordsMessage"], + "required": [ + "noRecordsMessage" + ], "additionalProperties": false } }, - "required": ["add", "list"], + "required": [ + "add", + "list" + ], "additionalProperties": false } }, @@ -7366,7 +8249,11 @@ "type": "string" } }, - "required": ["active", "expired", "scheduled"], + "required": [ + "active", + "expired", + "scheduled" + ], "additionalProperties": false }, "delete": { @@ -7382,7 +8269,11 @@ "type": "string" } }, - "required": ["title", "description", "successToast"], + "required": [ + "title", + "description", + "successToast" + ], "additionalProperties": false }, "edit": { @@ -7398,7 +8289,11 @@ "type": "string" } }, - "required": ["header", "description", "successToast"], + "required": [ + "header", + "description", + "successToast" + ], "additionalProperties": false }, "configuration": { @@ -7420,11 +8315,18 @@ "type": "string" } }, - "required": ["header", "description", "successToast"], + "required": [ + "header", + "description", + "successToast" + ], "additionalProperties": false } }, - "required": ["header", "edit"], + "required": [ + "header", + "edit" + ], "additionalProperties": false }, "create": { @@ -7486,7 +8388,9 @@ "type": "string" } }, - "required": ["hint"], + "required": [ + "hint" + ], "additionalProperties": false } }, @@ -7515,7 +8419,10 @@ "type": "string" } }, - "required": ["hint", "header"], + "required": [ + "hint", + "header" + ], "additionalProperties": false }, "details": { @@ -7537,7 +8444,12 @@ "type": "string" } }, - "required": ["type", "currency", "limit", "used"], + "required": [ + "type", + "currency", + "limit", + "used" + ], "additionalProperties": false }, "type": { @@ -7553,7 +8465,10 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false }, "usage": { @@ -7566,11 +8481,17 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false } }, - "required": ["spend", "usage"], + "required": [ + "spend", + "usage" + ], "additionalProperties": false }, "edit": { @@ -7580,11 +8501,19 @@ "type": "string" } }, - "required": ["header"], + "required": [ + "header" + ], "additionalProperties": false } }, - "required": ["create", "details", "fields", "type", "edit"], + "required": [ + "create", + "details", + "fields", + "type", + "edit" + ], "additionalProperties": false }, "promotions": { @@ -7600,7 +8529,10 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false }, "alreadyAdded": { @@ -7619,7 +8551,9 @@ "type": "string" } }, - "required": ["success"], + "required": [ + "success" + ], "additionalProperties": false }, "add": { @@ -7632,11 +8566,15 @@ "type": "string" } }, - "required": ["noRecordsMessage"], + "required": [ + "noRecordsMessage" + ], "additionalProperties": false } }, - "required": ["list"], + "required": [ + "list" + ], "additionalProperties": false }, "list": { @@ -7646,7 +8584,9 @@ "type": "string" } }, - "required": ["noRecordsMessage"], + "required": [ + "noRecordsMessage" + ], "additionalProperties": false } }, @@ -7703,7 +8643,10 @@ "type": "string" } }, - "required": ["confirmation", "successToast"], + "required": [ + "confirmation", + "successToast" + ], "additionalProperties": false }, "create": { @@ -7728,7 +8671,11 @@ "type": "string" } }, - "required": ["details", "products", "prices"], + "required": [ + "details", + "products", + "prices" + ], "additionalProperties": false }, "successToast": { @@ -7744,11 +8691,15 @@ "type": "string" } }, - "required": ["noRecordsMessage"], + "required": [ + "noRecordsMessage" + ], "additionalProperties": false } }, - "required": ["list"], + "required": [ + "list" + ], "additionalProperties": false } }, @@ -7771,7 +8722,10 @@ "type": "string" } }, - "required": ["header", "successToast"], + "required": [ + "header", + "successToast" + ], "additionalProperties": false }, "configuration": { @@ -7793,11 +8747,18 @@ "type": "string" } }, - "required": ["header", "description", "successToast"], + "required": [ + "header", + "description", + "successToast" + ], "additionalProperties": false } }, - "required": ["header", "edit"], + "required": [ + "header", + "edit" + ], "additionalProperties": false }, "products": { @@ -7816,7 +8777,10 @@ "type": "string" } }, - "required": ["addProducts", "editPrices"], + "required": [ + "addProducts", + "editPrices" + ], "additionalProperties": false }, "delete": { @@ -7850,7 +8814,9 @@ "type": "string" } }, - "required": ["successToast"], + "required": [ + "successToast" + ], "additionalProperties": false }, "edit": { @@ -7860,11 +8826,19 @@ "type": "string" } }, - "required": ["successToast"], + "required": [ + "successToast" + ], "additionalProperties": false } }, - "required": ["header", "actions", "delete", "add", "edit"], + "required": [ + "header", + "actions", + "delete", + "add", + "edit" + ], "additionalProperties": false }, "fields": { @@ -7880,7 +8854,10 @@ "type": "string" } }, - "required": ["label", "header"], + "required": [ + "label", + "header" + ], "additionalProperties": false }, "status": { @@ -7905,11 +8882,19 @@ "type": "string" } }, - "required": ["active", "draft", "expired", "scheduled"], + "required": [ + "active", + "draft", + "expired", + "scheduled" + ], "additionalProperties": false } }, - "required": ["label", "options"], + "required": [ + "label", + "options" + ], "additionalProperties": false }, "type": { @@ -7934,7 +8919,10 @@ "type": "string" } }, - "required": ["label", "description"], + "required": [ + "label", + "description" + ], "additionalProperties": false }, "override": { @@ -7947,15 +8935,25 @@ "type": "string" } }, - "required": ["label", "description"], + "required": [ + "label", + "description" + ], "additionalProperties": false } }, - "required": ["sale", "override"], + "required": [ + "sale", + "override" + ], "additionalProperties": false } }, - "required": ["label", "hint", "options"], + "required": [ + "label", + "hint", + "options" + ], "additionalProperties": false }, "startsAt": { @@ -7968,7 +8966,10 @@ "type": "string" } }, - "required": ["label", "hint"], + "required": [ + "label", + "hint" + ], "additionalProperties": false }, "endsAt": { @@ -7981,7 +8982,10 @@ "type": "string" } }, - "required": ["label", "hint"], + "required": [ + "label", + "hint" + ], "additionalProperties": false }, "customerAvailability": { @@ -8055,7 +9059,10 @@ "type": "string" } }, - "required": ["languageLabel", "usageInsightsLabel"], + "required": [ + "languageLabel", + "usageInsightsLabel" + ], "additionalProperties": false }, "edit": { @@ -8089,7 +9096,9 @@ "type": "string" } }, - "required": ["edit"], + "required": [ + "edit" + ], "additionalProperties": false } }, @@ -8154,7 +9163,11 @@ "type": "string" } }, - "required": ["accepted", "pending", "expired"], + "required": [ + "accepted", + "pending", + "expired" + ], "additionalProperties": false }, "roles": { @@ -8170,7 +9183,11 @@ "type": "string" } }, - "required": ["admin", "developer", "member"], + "required": [ + "admin", + "developer", + "member" + ], "additionalProperties": false }, "deleteUserWarning": { @@ -8255,7 +9272,9 @@ "type": "string" } }, - "required": ["header"], + "required": [ + "header" + ], "additionalProperties": false }, "toast": { @@ -8377,7 +9396,9 @@ "type": "string" } }, - "required": ["noRecordsMessage"], + "required": [ + "noRecordsMessage" + ], "additionalProperties": false }, "toast": { @@ -8396,7 +9417,12 @@ "type": "string" } }, - "required": ["delete", "edit", "create", "countries"], + "required": [ + "delete", + "edit", + "create", + "countries" + ], "additionalProperties": false }, "shippingOption": { @@ -8430,7 +9456,12 @@ "type": "string" } }, - "required": ["outbound", "outboundHint", "return", "returnHint"], + "required": [ + "outbound", + "outboundHint", + "return", + "returnHint" + ], "additionalProperties": false }, "priceType": { @@ -8446,7 +9477,11 @@ "type": "string" } }, - "required": ["label", "flatRate", "calculated"], + "required": [ + "label", + "flatRate", + "calculated" + ], "additionalProperties": false }, "availability": { @@ -8459,7 +9494,10 @@ "type": "string" } }, - "required": ["adminOnly", "adminOnlyHint"], + "required": [ + "adminOnly", + "adminOnlyHint" + ], "additionalProperties": false }, "taxInclusiveHint": { @@ -8475,7 +9513,10 @@ "type": "string" } }, - "required": ["label", "hint"], + "required": [ + "label", + "hint" + ], "additionalProperties": false } }, @@ -8537,7 +9578,9 @@ "type": "string" } }, - "required": ["taxCountriesHint"], + "required": [ + "taxCountriesHint" + ], "additionalProperties": false }, "settings": { @@ -8591,7 +9634,9 @@ "type": "string" } }, - "required": ["sectionTitle"], + "required": [ + "sectionTitle" + ], "additionalProperties": false }, "taxRate": { @@ -8741,7 +9786,11 @@ "type": "string" } }, - "required": ["create", "update", "removeChannel"], + "required": [ + "create", + "update", + "removeChannel" + ], "additionalProperties": false } }, @@ -8771,7 +9820,11 @@ "type": "string" } }, - "required": ["domain", "subtitle", "deleteWarning"], + "required": [ + "domain", + "subtitle", + "deleteWarning" + ], "additionalProperties": false }, "salesChannels": { @@ -8823,7 +9876,11 @@ "type": "string" } }, - "required": ["create", "update", "delete"], + "required": [ + "create", + "update", + "delete" + ], "additionalProperties": false }, "tooltip": { @@ -8833,7 +9890,9 @@ "type": "string" } }, - "required": ["cannotDeleteDefault"], + "required": [ + "cannotDeleteDefault" + ], "additionalProperties": false }, "products": { @@ -8846,7 +9905,9 @@ "type": "string" } }, - "required": ["noRecordsMessage"], + "required": [ + "noRecordsMessage" + ], "additionalProperties": false }, "add": { @@ -8859,15 +9920,22 @@ "type": "string" } }, - "required": ["noRecordsMessage"], + "required": [ + "noRecordsMessage" + ], "additionalProperties": false } }, - "required": ["list"], + "required": [ + "list" + ], "additionalProperties": false } }, - "required": ["list", "add"], + "required": [ + "list", + "add" + ], "additionalProperties": false } }, @@ -8902,7 +9970,10 @@ "type": "string" } }, - "required": ["publishable", "secret"], + "required": [ + "publishable", + "secret" + ], "additionalProperties": false }, "subtitle": { @@ -8915,7 +9986,10 @@ "type": "string" } }, - "required": ["publishable", "secret"], + "required": [ + "publishable", + "secret" + ], "additionalProperties": false }, "status": { @@ -8928,7 +10002,10 @@ "type": "string" } }, - "required": ["active", "revoked"], + "required": [ + "active", + "revoked" + ], "additionalProperties": false }, "type": { @@ -8941,7 +10018,10 @@ "type": "string" } }, - "required": ["publishable", "secret"], + "required": [ + "publishable", + "secret" + ], "additionalProperties": false }, "create": { @@ -9001,7 +10081,11 @@ "type": "string" } }, - "required": ["header", "description", "successToast"], + "required": [ + "header", + "description", + "successToast" + ], "additionalProperties": false }, "salesChannels": { @@ -9029,7 +10113,9 @@ "type": "string" } }, - "required": ["noRecordsMessage"], + "required": [ + "noRecordsMessage" + ], "additionalProperties": false } }, @@ -9053,7 +10139,10 @@ "type": "string" } }, - "required": ["warning", "successToast"], + "required": [ + "warning", + "successToast" + ], "additionalProperties": false }, "revoke": { @@ -9066,7 +10155,10 @@ "type": "string" } }, - "required": ["warning", "successToast"], + "required": [ + "warning", + "successToast" + ], "additionalProperties": false }, "addSalesChannels": { @@ -9079,11 +10171,15 @@ "type": "string" } }, - "required": ["noRecordsMessage"], + "required": [ + "noRecordsMessage" + ], "additionalProperties": false } }, - "required": ["list"], + "required": [ + "list" + ], "additionalProperties": false }, "removeSalesChannel": { @@ -9131,7 +10227,11 @@ "type": "string" } }, - "required": ["revoke", "copy", "copySuccessToast"], + "required": [ + "revoke", + "copy", + "copySuccessToast" + ], "additionalProperties": false }, "table": { @@ -9144,7 +10244,10 @@ "type": "string" } }, - "required": ["lastUsedAtHeader", "createdAtHeader"], + "required": [ + "lastUsedAtHeader", + "createdAtHeader" + ], "additionalProperties": false }, "fields": { @@ -9221,7 +10324,12 @@ "type": "string" } }, - "required": ["header", "subtitle", "hint", "successToast"], + "required": [ + "header", + "subtitle", + "hint", + "successToast" + ], "additionalProperties": false }, "edit": { @@ -9237,7 +10345,11 @@ "type": "string" } }, - "required": ["header", "subtitle", "successToast"], + "required": [ + "header", + "subtitle", + "successToast" + ], "additionalProperties": false }, "delete": { @@ -9250,7 +10362,10 @@ "type": "string" } }, - "required": ["confirmation", "successToast"], + "required": [ + "confirmation", + "successToast" + ], "additionalProperties": false }, "fields": { @@ -9269,7 +10384,11 @@ "type": "string" } }, - "required": ["label", "placeholder", "tooltip"], + "required": [ + "label", + "placeholder", + "tooltip" + ], "additionalProperties": false }, "label": { @@ -9282,7 +10401,10 @@ "type": "string" } }, - "required": ["label", "placeholder"], + "required": [ + "label", + "placeholder" + ], "additionalProperties": false }, "description": { @@ -9295,11 +10417,18 @@ "type": "string" } }, - "required": ["label", "placeholder"], + "required": [ + "label", + "placeholder" + ], "additionalProperties": false } }, - "required": ["value", "label", "description"], + "required": [ + "value", + "label", + "description" + ], "additionalProperties": false } }, @@ -9328,7 +10457,11 @@ "type": "string" } }, - "required": ["forgotPassword", "title", "hint"], + "required": [ + "forgotPassword", + "title", + "hint" + ], "additionalProperties": false }, "invite": { @@ -9380,7 +10513,9 @@ "type": "string" } }, - "required": ["accepted"], + "required": [ + "accepted" + ], "additionalProperties": false } }, @@ -9525,7 +10660,9 @@ "type": "string" } }, - "required": ["noRecordsMessage"], + "required": [ + "noRecordsMessage" + ], "additionalProperties": false }, "history": { @@ -9622,11 +10759,15 @@ "type": "string" } }, - "required": ["waitingToCompensate"], + "required": [ + "waitingToCompensate" + ], "additionalProperties": false } }, - "required": ["state"], + "required": [ + "state" + ], "additionalProperties": false }, "step": { @@ -9648,11 +10789,18 @@ "type": "string" } }, - "required": ["skipped", "skippedFailure", "dormant", "timeout"], + "required": [ + "skipped", + "skippedFailure", + "dormant", + "timeout" + ], "additionalProperties": false } }, - "required": ["state"], + "required": [ + "state" + ], "additionalProperties": false } }, @@ -9694,7 +10842,11 @@ "type": "string" } }, - "required": ["header", "hint", "successToast"], + "required": [ + "header", + "hint", + "successToast" + ], "additionalProperties": false }, "edit": { @@ -9707,7 +10859,10 @@ "type": "string" } }, - "required": ["header", "successToast"], + "required": [ + "header", + "successToast" + ], "additionalProperties": false }, "delete": { @@ -9720,7 +10875,10 @@ "type": "string" } }, - "required": ["confirmation", "successToast"], + "required": [ + "confirmation", + "successToast" + ], "additionalProperties": false }, "fields": { @@ -9730,11 +10888,20 @@ "type": "string" } }, - "required": ["value"], + "required": [ + "value" + ], "additionalProperties": false } }, - "required": ["domain", "subtitle", "create", "edit", "delete", "fields"], + "required": [ + "domain", + "subtitle", + "create", + "edit", + "delete", + "fields" + ], "additionalProperties": false }, "productTags": { @@ -9756,7 +10923,11 @@ "type": "string" } }, - "required": ["header", "subtitle", "successToast"], + "required": [ + "header", + "subtitle", + "successToast" + ], "additionalProperties": false }, "edit": { @@ -9772,7 +10943,11 @@ "type": "string" } }, - "required": ["header", "subtitle", "successToast"], + "required": [ + "header", + "subtitle", + "successToast" + ], "additionalProperties": false }, "delete": { @@ -9785,7 +10960,10 @@ "type": "string" } }, - "required": ["confirmation", "successToast"], + "required": [ + "confirmation", + "successToast" + ], "additionalProperties": false }, "fields": { @@ -9795,11 +10973,19 @@ "type": "string" } }, - "required": ["value"], + "required": [ + "value" + ], "additionalProperties": false } }, - "required": ["domain", "create", "edit", "delete", "fields"], + "required": [ + "domain", + "create", + "edit", + "delete", + "fields" + ], "additionalProperties": false }, "notifications": { @@ -9818,7 +11004,10 @@ "type": "string" } }, - "required": ["title", "description"], + "required": [ + "title", + "description" + ], "additionalProperties": false }, "accessibility": { @@ -9828,11 +11017,17 @@ "type": "string" } }, - "required": ["description"], + "required": [ + "description" + ], "additionalProperties": false } }, - "required": ["domain", "emptyState", "accessibility"], + "required": [ + "domain", + "emptyState", + "accessibility" + ], "additionalProperties": false }, "errors": { @@ -9845,7 +11040,10 @@ "type": "string" } }, - "required": ["serverError", "invalidCredentials"], + "required": [ + "serverError", + "invalidCredentials" + ], "additionalProperties": false }, "statuses": { @@ -9867,7 +11065,13 @@ "type": "string" } }, - "required": ["scheduled", "expired", "active", "enabled", "disabled"], + "required": [ + "scheduled", + "expired", + "active", + "enabled", + "disabled" + ], "additionalProperties": false }, "labels": { @@ -10662,4 +11866,4 @@ "dateTime" ], "additionalProperties": false -} +} \ No newline at end of file diff --git a/packages/admin/dashboard/src/i18n/translations/en.json b/packages/admin/dashboard/src/i18n/translations/en.json index d1889efe55..b77d2de08e 100644 --- a/packages/admin/dashboard/src/i18n/translations/en.json +++ b/packages/admin/dashboard/src/i18n/translations/en.json @@ -1523,7 +1523,8 @@ "hint": "Whether customers can use this option during checkout." }, "provider": "Fulfillment provider", - "profile": "Shipping profile" + "profile": "Shipping profile", + "fulfillmentOption": "Fulfillment option" } }, "serviceZones": { diff --git a/packages/admin/dashboard/src/routes/locations/location-service-zone-shipping-option-create/components/create-shipping-options-form/create-shipping-option-details-form.tsx b/packages/admin/dashboard/src/routes/locations/location-service-zone-shipping-option-create/components/create-shipping-options-form/create-shipping-option-details-form.tsx index dd95fb5f1c..6fba5c25ef 100644 --- a/packages/admin/dashboard/src/routes/locations/location-service-zone-shipping-option-create/components/create-shipping-options-form/create-shipping-option-details-form.tsx +++ b/packages/admin/dashboard/src/routes/locations/location-service-zone-shipping-option-create/components/create-shipping-options-form/create-shipping-option-details-form.tsx @@ -1,8 +1,9 @@ -import { Heading, Input, RadioGroup, Text } from "@medusajs/ui" +import { Heading, Input, RadioGroup, Select, Text } from "@medusajs/ui" import { UseFormReturn } from "react-hook-form" import { useTranslation } from "react-i18next" import { HttpTypes } from "@medusajs/types" + import { Divider } from "../../../../../components/common/divider" import { Form } from "../../../../../components/common/form" import { SwitchBox } from "../../../../../components/common/switch-box" @@ -18,6 +19,8 @@ type CreateShippingOptionDetailsFormProps = { isReturn?: boolean zone: HttpTypes.AdminServiceZone locationId: string + fulfillmentProviderOptions: HttpTypes.AdminFulfillmentProviderOption[] + selectedProviderId?: string } export const CreateShippingOptionDetailsForm = ({ @@ -25,6 +28,8 @@ export const CreateShippingOptionDetailsForm = ({ isReturn = false, zone, locationId, + fulfillmentProviderOptions, + selectedProviderId, }: CreateShippingOptionDetailsFormProps) => { const { t } = useTranslation() @@ -134,9 +139,6 @@ export const CreateShippingOptionDetailsForm = ({ ) }} /> - - -
+
+
{ + field.onChange(e) + form.setValue("fulfillment_option_id", "") + }} options={fulfillmentProviders.options} searchValue={fulfillmentProviders.searchValue} onSearchValueChange={ @@ -190,6 +198,45 @@ export const CreateShippingOptionDetailsForm = ({ ) }} /> + + { + return ( + + + {t( + "stockLocations.shippingOptions.fields.fulfillmentOption" + )} + + + + + + + ) + }} + />
diff --git a/packages/admin/dashboard/src/routes/locations/location-service-zone-shipping-option-create/components/create-shipping-options-form/create-shipping-options-form.tsx b/packages/admin/dashboard/src/routes/locations/location-service-zone-shipping-option-create/components/create-shipping-options-form/create-shipping-options-form.tsx index 1ed449e6c8..838fae3740 100644 --- a/packages/admin/dashboard/src/routes/locations/location-service-zone-shipping-option-create/components/create-shipping-options-form/create-shipping-options-form.tsx +++ b/packages/admin/dashboard/src/routes/locations/location-service-zone-shipping-option-create/components/create-shipping-options-form/create-shipping-options-form.tsx @@ -1,7 +1,7 @@ import { zodResolver } from "@hookform/resolvers/zod" import { HttpTypes } from "@medusajs/types" import { Button, ProgressStatus, ProgressTabs, toast } from "@medusajs/ui" -import { useForm } from "react-hook-form" +import { useForm, useWatch } from "react-hook-form" import { useTranslation } from "react-i18next" import { useState } from "react" @@ -20,6 +20,7 @@ import { CreateShippingOptionDetailsSchema, CreateShippingOptionSchema, } from "./schema" +import { useFulfillmentProviderOptions } from "../../../../../hooks/api" enum Tab { DETAILS = "details", @@ -50,6 +51,7 @@ export function CreateShippingOptionsForm({ enabled_in_store: true, shipping_profile_id: "", provider_id: "", + fulfillment_option_id: "", region_prices: {}, currency_prices: {}, conditional_region_prices: {}, @@ -58,6 +60,16 @@ export function CreateShippingOptionsForm({ resolver: zodResolver(CreateShippingOptionSchema), }) + const selectedProviderId = useWatch({ + control: form.control, + name: "provider_id", + }) + + const { fulfillment_options: fulfillmentProviderOptions } = + useFulfillmentProviderOptions(selectedProviderId, { + enabled: !!selectedProviderId, + }) + const isCalculatedPriceType = form.watch("price_type") === ShippingOptionPriceType.Calculated @@ -123,6 +135,10 @@ export function CreateShippingOptionsForm({ ...conditionalRegionPrices, ] + const fulfillmentOptionData = fulfillmentProviderOptions?.find( + (fo) => fo.id === data.fulfillment_option_id + )! + await mutateAsync( { name: data.name, @@ -131,6 +147,7 @@ export function CreateShippingOptionsForm({ shipping_profile_id: data.shipping_profile_id, provider_id: data.provider_id, prices: allPrices, + data: fulfillmentOptionData as unknown as Record, rules: [ { // eslint-disable-next-line @@ -293,6 +310,8 @@ export function CreateShippingOptionsForm({ zone={zone} isReturn={isReturn} locationId={locationId} + fulfillmentProviderOptions={fulfillmentProviderOptions || []} + selectedProviderId={selectedProviderId} /> diff --git a/packages/admin/dashboard/src/routes/locations/location-service-zone-shipping-option-create/components/create-shipping-options-form/schema.ts b/packages/admin/dashboard/src/routes/locations/location-service-zone-shipping-option-create/components/create-shipping-options-form/schema.ts index 442e2920dc..34f188a3cd 100644 --- a/packages/admin/dashboard/src/routes/locations/location-service-zone-shipping-option-create/components/create-shipping-options-form/schema.ts +++ b/packages/admin/dashboard/src/routes/locations/location-service-zone-shipping-option-create/components/create-shipping-options-form/schema.ts @@ -12,6 +12,7 @@ export const CreateShippingOptionDetailsSchema = z.object({ enabled_in_store: z.boolean(), shipping_profile_id: z.string().min(1), provider_id: z.string().min(1), + fulfillment_option_id: z.string().min(1), }) export const ShippingOptionConditionalPriceSchema = z.object({ diff --git a/packages/admin/dashboard/src/routes/locations/location-service-zone-shipping-option-edit/components/edit-region-form/edit-shipping-option-form.tsx b/packages/admin/dashboard/src/routes/locations/location-service-zone-shipping-option-edit/components/edit-region-form/edit-shipping-option-form.tsx index 3d31e7efac..3df1f5be55 100644 --- a/packages/admin/dashboard/src/routes/locations/location-service-zone-shipping-option-edit/components/edit-region-form/edit-shipping-option-form.tsx +++ b/packages/admin/dashboard/src/routes/locations/location-service-zone-shipping-option-edit/components/edit-region-form/edit-shipping-option-form.tsx @@ -2,6 +2,7 @@ import { HttpTypes } from "@medusajs/types" import { Button, Input, RadioGroup, toast } from "@medusajs/ui" import { useForm } from "react-hook-form" import { useTranslation } from "react-i18next" +import { zodResolver } from "@hookform/resolvers/zod" import * as zod from "zod" import { Divider } from "../../../../../components/common/divider" @@ -14,7 +15,6 @@ import { useUpdateShippingOptions } from "../../../../../hooks/api/shipping-opti import { useComboboxData } from "../../../../../hooks/use-combobox-data" import { sdk } from "../../../../../lib/client" import { pick } from "../../../../../lib/common" -import { formatProvider } from "../../../../../lib/format-provider" import { isOptionEnabledInStore } from "../../../../../lib/shipping-options" import { ShippingOptionPriceType } from "../../../common/constants" @@ -28,7 +28,6 @@ const EditShippingOptionSchema = zod.object({ price_type: zod.nativeEnum(ShippingOptionPriceType), enabled_in_store: zod.boolean().optional(), shipping_profile_id: zod.string(), - provider_id: zod.string(), }) export const EditShippingOptionForm = ({ @@ -49,29 +48,14 @@ export const EditShippingOptionForm = ({ defaultValue: shippingOption.shipping_profile_id, }) - const fulfillmentProviders = useComboboxData({ - queryFn: (params) => - sdk.admin.fulfillmentProvider.list({ - ...params, - stock_location_id: locationId, - }), - queryKey: ["fulfillment_providers"], - getOptions: (data) => - data.fulfillment_providers.map((provider) => ({ - label: formatProvider(provider.id), - value: provider.id, - })), - defaultValue: shippingOption.provider_id, - }) - const form = useForm>({ defaultValues: { name: shippingOption.name, price_type: shippingOption.price_type as ShippingOptionPriceType, enabled_in_store: isOptionEnabledInStore(shippingOption), shipping_profile_id: shippingOption.shipping_profile_id, - provider_id: shippingOption.provider_id, }, + resolver: zodResolver(EditShippingOptionSchema), }) const { mutateAsync, isPending: isLoading } = useUpdateShippingOptions( @@ -101,7 +85,6 @@ export const EditShippingOptionForm = ({ name: values.name, price_type: values.price_type, shipping_profile_id: values.shipping_profile_id, - provider_id: values.provider_id, rules, }, { @@ -209,35 +192,6 @@ export const EditShippingOptionForm = ({ ) }} /> - { - return ( - - - {t("stockLocations.shippingOptions.fields.provider")} - - - - - - - ) - }} - /> diff --git a/packages/core/core-flows/src/cart/steps/validate-shipping-methods-data.ts b/packages/core/core-flows/src/cart/steps/validate-shipping-methods-data.ts index eec94e9f87..ca78740559 100644 --- a/packages/core/core-flows/src/cart/steps/validate-shipping-methods-data.ts +++ b/packages/core/core-flows/src/cart/steps/validate-shipping-methods-data.ts @@ -1,16 +1,18 @@ import { Modules, promiseAll } from "@medusajs/framework/utils" -import { IFulfillmentModuleService } from "@medusajs/types" +import { + CartDTO, + IFulfillmentModuleService, + StockLocationDTO, +} from "@medusajs/types" import { createStep, StepResponse } from "@medusajs/workflows-sdk" -export interface ValidateShippingMethodsDataInput { - context: Record - options_to_validate: { - id: string - provider_id: string - option_data: Record - method_data: Record - }[] -} +export type ValidateShippingMethodsDataInput = { + id: string + provider_id: string + option_data: Record + method_data: Record + context: CartDTO & { from_location: StockLocationDTO; [k: string]: unknown } +}[] export const validateAndReturnShippingMethodsDataStepId = "validate-and-return-shipping-methods-data" @@ -20,9 +22,9 @@ export const validateAndReturnShippingMethodsDataStepId = export const validateAndReturnShippingMethodsDataStep = createStep( validateAndReturnShippingMethodsDataStepId, async (data: ValidateShippingMethodsDataInput, { container }) => { - const { options_to_validate = [] } = data + const optionsToValidate = data ?? [] - if (!options_to_validate.length) { + if (!optionsToValidate.length) { return new StepResponse(void 0) } @@ -31,12 +33,12 @@ export const validateAndReturnShippingMethodsDataStep = createStep( ) const validatedData = await promiseAll( - options_to_validate.map(async (option) => { + optionsToValidate.map(async (option) => { const validated = await fulfillmentModule.validateFulfillmentData( option.provider_id, option.option_data, option.method_data, - data.context + option.context ) return { diff --git a/packages/core/core-flows/src/cart/workflows/add-shipping-method-to-cart.ts b/packages/core/core-flows/src/cart/workflows/add-shipping-method-to-cart.ts index f49da2c7fa..65329c7a65 100644 --- a/packages/core/core-flows/src/cart/workflows/add-shipping-method-to-cart.ts +++ b/packages/core/core-flows/src/cart/workflows/add-shipping-method-to-cart.ts @@ -68,8 +68,8 @@ export const addShippingMethodToCartWorkflow = createWorkflow( validateCartShippingOptionsPriceStep({ shippingOptions }) const validateShippingMethodsDataInput = transform( - { input, shippingOptions }, - ({ input, shippingOptions }) => { + { input, shippingOptions, cart }, + ({ input, shippingOptions, cart }) => { return input.options.map((inputOption) => { const shippingOption = shippingOptions.find( (so) => so.id === inputOption.id @@ -80,15 +80,18 @@ export const addShippingMethodToCartWorkflow = createWorkflow( provider_id: shippingOption?.provider_id, option_data: shippingOption?.data ?? {}, method_data: inputOption.data ?? {}, + context: { + ...cart, + from_location: shippingOption?.stock_location ?? {}, + }, } }) } ) - const validatedMethodData = validateAndReturnShippingMethodsDataStep({ - options_to_validate: validateShippingMethodsDataInput, - context: {}, // TODO: Add cart, when we have a better idea about what's appropriate to pass - }) + const validatedMethodData = validateAndReturnShippingMethodsDataStep( + validateShippingMethodsDataInput + ) const shippingMethodInput = transform( { input, shippingOptions, validatedMethodData }, diff --git a/packages/core/core-flows/src/cart/workflows/list-shipping-options-for-cart.ts b/packages/core/core-flows/src/cart/workflows/list-shipping-options-for-cart.ts index f4a897dfb6..ac41df245b 100644 --- a/packages/core/core-flows/src/cart/workflows/list-shipping-options-for-cart.ts +++ b/packages/core/core-flows/src/cart/workflows/list-shipping-options-for-cart.ts @@ -1,4 +1,3 @@ -import { deepFlatMap } from "@medusajs/framework/utils" import { createWorkflow, transform, @@ -41,7 +40,12 @@ export const listShippingOptionsForCartWorkflow = createWorkflow( const scFulfillmentSetQuery = useQueryGraphStep({ entity: "sales_channels", filters: { id: cart.sales_channel_id }, - fields: ["stock_locations.fulfillment_sets.id"], + fields: [ + "stock_locations.fulfillment_sets.id", + "stock_locations.id", + "stock_locations.name", + "stock_locations.address.*", + ], }).config({ name: "sales_channels-fulfillment-query" }) const scFulfillmentSets = transform( @@ -49,22 +53,23 @@ export const listShippingOptionsForCartWorkflow = createWorkflow( ({ scFulfillmentSetQuery }) => scFulfillmentSetQuery.data[0] ) - const fulfillmentSetIds = transform( - { options: scFulfillmentSets }, - (data) => { + const { fulfillmentSetIds, fulfillmentSetLocationMap } = transform( + { scFulfillmentSets }, + ({ scFulfillmentSets }) => { const fulfillmentSetIds = new Set() + const fulfillmentSetLocationMap = {} - deepFlatMap( - data.options, - "stock_locations.fulfillment_sets", - ({ fulfillment_sets: fulfillmentSet }) => { - if (fulfillmentSet?.id) { - fulfillmentSetIds.add(fulfillmentSet.id) - } - } - ) + scFulfillmentSets.stock_locations.forEach((stockLocation) => { + stockLocation.fulfillment_sets.forEach((fulfillmentSet) => { + fulfillmentSetLocationMap[fulfillmentSet.id] = stockLocation + fulfillmentSetIds.add(fulfillmentSet.id) + }) + }) - return Array.from(fulfillmentSetIds) + return { + fulfillmentSetIds: Array.from(fulfillmentSetIds), + fulfillmentSetLocationMap, + } } ) @@ -103,6 +108,7 @@ export const listShippingOptionsForCartWorkflow = createWorkflow( "shipping_profile_id", "provider_id", "data", + "service_zone.fulfillment_set_id", "type.id", "type.label", @@ -124,15 +130,19 @@ export const listShippingOptionsForCartWorkflow = createWorkflow( }).config({ name: "shipping-options-query" }) const shippingOptionsWithPrice = transform( - { shippingOptions }, - ({ shippingOptions }) => + { shippingOptions, fulfillmentSetLocationMap }, + ({ shippingOptions, fulfillmentSetLocationMap }) => shippingOptions.map((shippingOption) => { const price = shippingOption.calculated_price + const fulfillmentSetId = + shippingOption.service_zone.fulfillment_set_id + const stockLocation = fulfillmentSetLocationMap[fulfillmentSetId] return { ...shippingOption, amount: price?.calculated_amount, is_tax_inclusive: !!price?.is_calculated_price_tax_inclusive, + stock_location: stockLocation, } }) ) diff --git a/packages/core/js-sdk/src/admin/fulfillment-provider.ts b/packages/core/js-sdk/src/admin/fulfillment-provider.ts index c18ff9214b..dce206e026 100644 --- a/packages/core/js-sdk/src/admin/fulfillment-provider.ts +++ b/packages/core/js-sdk/src/admin/fulfillment-provider.ts @@ -18,25 +18,25 @@ export class FulfillmentProvider { * This method retrieves a paginated list of fulfillment providers. It sends a request to the * [List Fulfillment Providers](https://docs.medusajs.com/api/admin#fulfillment-providers_getfulfillmentproviders) * API route. - * + * * @param query - Filters and pagination configurations. * @param headers - Headers to pass in the request. * @returns The paginated list of providers. - * + * * @example * To retrieve the list of fulfillment providers: - * + * * ```ts * sdk.admin.fulfillmentProvider.list() * .then(({ fulfillment_providers, count, limit, offset }) => { * console.log(fulfillment_providers) * }) * ``` - * + * * To configure the pagination, pass the `limit` and `offset` query parameters. - * + * * For example, to retrieve only 10 items and skip 10 items: - * + * * ```ts * sdk.admin.fulfillmentProvider.list({ * limit: 10, @@ -46,10 +46,10 @@ export class FulfillmentProvider { * console.log(fulfillment_providers) * }) * ``` - * + * * Using the `fields` query parameter, you can specify the fields and relations to retrieve * in each fulfillment provider: - * + * * ```ts * sdk.admin.fulfillmentProvider.list({ * fields: "id" @@ -58,7 +58,7 @@ export class FulfillmentProvider { * console.log(fulfillment_providers) * }) * ``` - * + * * Learn more about the `fields` property in the [API reference](https://docs.medusajs.com/api/store#select-fields-and-relations). */ async list( @@ -74,4 +74,23 @@ export class FulfillmentProvider { } ) } + + /** + * This method retrieves a list of fulfillment options for a given fulfillment provider. It sends a request to the + * [List Fulfillment Options](https://docs.medusajs.com/api/admin#fulfillment-providers_getfulfillmentprovideroptions) + * API route. + * + * @param id - The ID of the fulfillment provider. + * @param headers - Headers to pass in the request. + * @returns The list of fulfillment options. + */ + async listFulfillmentOptions(id: string, headers?: ClientHeaders) { + return await this.client.fetch( + `/admin/fulfillment-providers/${id}/options`, + { + method: "GET", + headers, + } + ) + } } diff --git a/packages/core/js-sdk/src/store/index.ts b/packages/core/js-sdk/src/store/index.ts index d475427e90..c08786f11d 100644 --- a/packages/core/js-sdk/src/store/index.ts +++ b/packages/core/js-sdk/src/store/index.ts @@ -834,6 +834,23 @@ export class Store { } ) }, + + calculate: async ( + id: string, + body: HttpTypes.StoreCalculateShippingOptionPrice, + query?: HttpTypes.SelectParams, + headers?: ClientHeaders + ) => { + return await this.client.fetch( + `/store/shipping-options/${id}/calculate`, + { + method: "POST", + headers, + body, + query, + } + ) + }, } public payment = { diff --git a/packages/core/types/src/http/fulfillment-provider/admin/entities.ts b/packages/core/types/src/http/fulfillment-provider/admin/entities.ts index 1f56c491fc..fa0f14769e 100644 --- a/packages/core/types/src/http/fulfillment-provider/admin/entities.ts +++ b/packages/core/types/src/http/fulfillment-provider/admin/entities.ts @@ -1,3 +1,9 @@ -import { BaseFulfillmentProvider } from "../common" +import { + BaseFulfillmentProvider, + BaseFulfillmentProviderOption, +} from "../common" export interface AdminFulfillmentProvider extends BaseFulfillmentProvider {} + +export interface AdminFulfillmentProviderOption + extends BaseFulfillmentProviderOption {} diff --git a/packages/core/types/src/http/fulfillment-provider/admin/responses.ts b/packages/core/types/src/http/fulfillment-provider/admin/responses.ts index 6d88a194c3..979700e0e0 100644 --- a/packages/core/types/src/http/fulfillment-provider/admin/responses.ts +++ b/packages/core/types/src/http/fulfillment-provider/admin/responses.ts @@ -1,5 +1,8 @@ import { PaginatedResponse } from "../../common" -import { AdminFulfillmentProvider } from "./entities" +import { + AdminFulfillmentProvider, + AdminFulfillmentProviderOption, +} from "./entities" export interface AdminFulfillmentProviderListResponse extends PaginatedResponse<{ @@ -8,3 +11,8 @@ export interface AdminFulfillmentProviderListResponse */ fulfillment_providers: AdminFulfillmentProvider[] }> {} + +export interface AdminFulfillmentProviderOptionsListResponse + extends PaginatedResponse<{ + fulfillment_options: AdminFulfillmentProviderOption[] + }> {} diff --git a/packages/core/types/src/http/fulfillment-provider/common.ts b/packages/core/types/src/http/fulfillment-provider/common.ts index a89e79175c..b54102ecc3 100644 --- a/packages/core/types/src/http/fulfillment-provider/common.ts +++ b/packages/core/types/src/http/fulfillment-provider/common.ts @@ -8,3 +8,14 @@ export interface BaseFulfillmentProvider { */ is_enabled: boolean } + +export interface BaseFulfillmentProviderOption { + /** + * The fulfillment provider option's ID. + */ + id: string + /** + * Whether the fulfillment provider option can be used for returns. + */ + is_return: boolean +} diff --git a/packages/medusa/src/api/admin/fulfillment-providers/[id]/options/route.ts b/packages/medusa/src/api/admin/fulfillment-providers/[id]/options/route.ts new file mode 100644 index 0000000000..5b5b1ec946 --- /dev/null +++ b/packages/medusa/src/api/admin/fulfillment-providers/[id]/options/route.ts @@ -0,0 +1,27 @@ +import { + AdminFulfillmentProviderOption, + HttpTypes, +} from "@medusajs/framework/types" +import { Modules } from "@medusajs/framework/utils" +import { + AuthenticatedMedusaRequest, + MedusaResponse, +} from "@medusajs/framework/http" + +export const GET = async ( + req: AuthenticatedMedusaRequest, + res: MedusaResponse +) => { + const fulfillmentProviderService = req.scope.resolve(Modules.FULFILLMENT) + + const fulfillmentOptions = + await fulfillmentProviderService.retrieveFulfillmentOptions(req.params.id) + + res.json({ + fulfillment_options: + fulfillmentOptions as unknown as AdminFulfillmentProviderOption[], + count: fulfillmentOptions.length, + limit: fulfillmentOptions.length, + offset: 0, + }) +} diff --git a/packages/medusa/src/api/admin/fulfillment-providers/middlewares.ts b/packages/medusa/src/api/admin/fulfillment-providers/middlewares.ts index 82b3a22d47..ea5875f280 100644 --- a/packages/medusa/src/api/admin/fulfillment-providers/middlewares.ts +++ b/packages/medusa/src/api/admin/fulfillment-providers/middlewares.ts @@ -20,4 +20,9 @@ export const adminFulfillmentProvidersRoutesMiddlewares: MiddlewareRoute[] = [ }), ], }, + { + method: ["GET"], + matcher: "/admin/fulfillment-providers/:id/options", + middlewares: [], + }, ] diff --git a/packages/modules/fulfillment/src/services/fulfillment-module-service.ts b/packages/modules/fulfillment/src/services/fulfillment-module-service.ts index 741db5405e..63e6513e0d 100644 --- a/packages/modules/fulfillment/src/services/fulfillment-module-service.ts +++ b/packages/modules/fulfillment/src/services/fulfillment-module-service.ts @@ -5,6 +5,7 @@ import { FilterableFulfillmentSetProps, FindConfig, FulfillmentDTO, + FulfillmentOption, FulfillmentTypes, IFulfillmentModuleService, InternalModuleDeclaration, @@ -1946,7 +1947,7 @@ export default class FulfillmentModuleService async retrieveFulfillmentOptions( providerId: string - ): Promise[]> { + ): Promise { return await this.fulfillmentProviderService_.getFulfillmentOptions( providerId ) diff --git a/packages/modules/fulfillment/src/services/fulfillment-provider.ts b/packages/modules/fulfillment/src/services/fulfillment-provider.ts index ea205a95f7..f61a6625b4 100644 --- a/packages/modules/fulfillment/src/services/fulfillment-provider.ts +++ b/packages/modules/fulfillment/src/services/fulfillment-provider.ts @@ -2,6 +2,7 @@ import { CalculateShippingOptionPriceDTO, Constructor, DAL, + FulfillmentOption, FulfillmentTypes, IFulfillmentProvider, Logger, @@ -81,7 +82,7 @@ export default class FulfillmentProviderService extends ModulesSdkUtils.MedusaIn async getFulfillmentOptions( providerId: string - ): Promise[]> { + ): Promise { const provider = this.retrieveProviderRegistration(providerId) return await provider.getFulfillmentOptions() }