fix: per_page not perPage in Zod schemas — raw serde_json keys are snake_case
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m36s
test / unit (pull_request) Successful in 17m6s
test / integration (pull_request) Failing after 17m0s

This commit is contained in:
2026-05-14 17:32:39 +02:00
parent b95cebc799
commit 7cb6b94b08
2 changed files with 8 additions and 8 deletions

View File

@@ -208,8 +208,8 @@ export const getAllUsers = (page: number = 1, pageSize: number = 20) =>
apiFetch(
`/users?page=${page}&per_page=${pageSize}`,
{},
z.object({ items: z.array(UserSchema), total: z.number(), page: z.number(), perPage: z.number() })
.transform((d) => ({ ...d, totalPages: Math.ceil(d.total / d.perPage) }))
z.object({ items: z.array(UserSchema), total: z.number(), page: z.number(), per_page: z.number() })
.transform((d) => ({ ...d, totalPages: Math.ceil(d.total / d.per_page) }))
);
export const getAllUsersCount = () =>
@@ -221,8 +221,8 @@ export const getFeed = (token: string, page: number = 1, pageSize: number = 20)
apiFetch(
`/feed?page=${page}&per_page=${pageSize}`,
{},
z.object({ items: z.array(ThoughtSchema), total: z.number(), page: z.number(), perPage: z.number() })
.transform((d) => ({ ...d, totalPages: Math.ceil(d.total / d.perPage) })),
z.object({ items: z.array(ThoughtSchema), total: z.number(), page: z.number(), per_page: z.number() })
.transform((d) => ({ ...d, totalPages: Math.ceil(d.total / d.per_page) })),
token
);
@@ -230,7 +230,7 @@ export const getUserThoughts = (username: string, token: string | null) =>
apiFetch(
`/users/${username}/thoughts`,
{},
z.object({ items: z.array(ThoughtSchema), total: z.number(), page: z.number(), perPage: z.number() }),
z.object({ items: z.array(ThoughtSchema), total: z.number(), page: z.number(), per_page: z.number() }),
token
);
@@ -252,7 +252,7 @@ export const getThoughtsByTag = (tagName: string, token: string | null) =>
apiFetch(
`/tags/${tagName}`,
{},
z.object({ tag: z.string(), items: z.array(ThoughtSchema), total: z.number(), page: z.number(), perPage: z.number() }),
z.object({ tag: z.string(), items: z.array(ThoughtSchema), total: z.number(), page: z.number(), per_page: z.number() }),
token
);
@@ -260,7 +260,7 @@ export const getPopularTags = () =>
apiFetch(
"/tags/popular",
{},
z.object({ tags: z.array(z.object({ name: z.string(), thoughtCount: z.number() })) })
z.object({ tags: z.array(z.object({ name: z.string(), thought_count: z.number() })) })
.transform((d) => d.tags.map((t) => t.name))
);