feat(core-flows,dashboard,js-sdk,medusa,types): support Fulfillment Options (#10622)
**What** - add a list point for fetching fulfillment options for a provider - add FO support on SO create & update on dashboard - pass `cart` and `stockLocation` to `validateFufillmentData` context --- CLOSES CMRC-789 CLOSES CMRC-790
This commit is contained in:
@@ -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 }
|
||||
}
|
||||
|
||||
@@ -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 }) => {
|
||||
|
||||
Reference in New Issue
Block a user