-
- Notifications
You must be signed in to change notification settings - Fork 36
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Describe the bug
The codegen tool works wonder. I've been just having a hard time generating working infinite queries.
Am I missing something on how I'm naming my pageParam and nextPageParam?
Expected behavior
From the OpenAPI spec I'd expect to have such an infinite query:
useInfiniteQuery({ queryKey: [useGetStuffKey], queryFn: ({ pageParam }) => getStuff({ page: pageParam as number, size: PAGE_SIZE }), initialPageParam: 1, getNextPageParam: (lastPage) => lastPage.items.length === 0 ? undefined : lastPage.pagination.nextPage, });But I get this from the codegen:
export const useGetStuffInfinite = < TData = InfiniteData<Common.GetStuffDefaultResponse>, TError = unknown, TQueryKey extends Array<unknown> = unknown[], >({ size }: { size: number; }, queryKey?: TQueryKey, options?: Omit<UseInfiniteQueryOptions<TData, TError>, "queryKey" | "queryFn"> ) => useInfiniteQuery({ queryKey: Common.UseGetStuffKeyFn({ size }, queryKey), queryFn: ({ pageParam }) => getStuff({ page: pageParam as number, size }) as TData, initialPageParam: 1, getNextPageParam: (response) => (response as { nextPage: number }).nextPage, ...options, });OpenAPI spec file
Here are bits of my openapi spec file, I'm trying to use the /stuff endpoint, I only kept what's necessary here.
/stuff: get: tags: - My Stuff operationId: get_stuff parameters: - name: page in: query description: The page number required: true schema: type: integer format: int32 minimum: 0 - name: size in: query description: The page size required: true schema: type: integer format: int32 minimum: 0 responses: '200': description: The Stuff I Need content: application/json: schema: $ref: '#/components/schemas/PaginatedStuff' '500': description: Internal server error content: text/plain: schema: type: string # .... PaginatedStuff: type: object required: - items - pagination properties: items: type: array items: $ref: '#/components/schemas/Stuff' pagination: $ref: '#/components/schemas/PaginationInfo' #.... PaginationInfo: type: object required: - size - nextPage properties: nextPage: type: integer format: int32 minimum: 0 size: type: integer format: int32 minimum: 0 Additional info
If the issue is related to how the API and schema are constructed and isn't fixable through the codegen tool, is there a way to customize the generation of infinite queries to my custom-cut situation?
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working