Skip to content

Commit ed0d8a8

Browse files
committed
fix paginated TS interfaces (WIP)
1 parent 2d0fd4e commit ed0d8a8

1 file changed

Lines changed: 11 additions & 9 deletions

File tree

  • core/static/bundled/utils

core/static/bundled/utils/api.ts

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { Client, Options, RequestResult } from "@hey-api/client-fetch";
1+
import type { Client, Options, RequestResult, TDataShape } from "@hey-api/client-fetch";
22
import { client } from "#openapi";
33

44
export interface PaginatedResponse<T> {
@@ -8,12 +8,14 @@ export interface PaginatedResponse<T> {
88
results: T[];
99
}
1010

11-
export interface PaginatedRequest {
12-
query?: {
13-
page?: number;
14-
// biome-ignore lint/style/useNamingConvention: api is in snake_case
15-
page_size?: number;
16-
};
11+
interface Pagination {
12+
page: number;
13+
// biome-ignore lint/style/useNamingConvention: api is in snake_case
14+
page_size: number;
15+
}
16+
17+
export interface PaginatedRequest extends TDataShape {
18+
query?: Record<string, unknown> & Partial<Pagination>;
1719
}
1820

1921
type PaginatedEndpoint<T> = <ThrowOnError extends boolean = false>(
@@ -30,7 +32,7 @@ export const paginated = async <T>(
3032
options?: PaginatedRequest,
3133
): Promise<T[]> => {
3234
const maxPerPage = 199;
33-
const queryParams = options ?? {};
35+
const queryParams = options ?? ({} as PaginatedRequest);
3436
queryParams.query = queryParams.query ?? {};
3537
queryParams.query.page_size = maxPerPage;
3638
queryParams.query.page = 1;
@@ -53,7 +55,7 @@ export const paginated = async <T>(
5355
return results;
5456
};
5557

56-
interface Request {
58+
interface Request extends TDataShape {
5759
client?: Client;
5860
}
5961

0 commit comments

Comments
 (0)