feat: v2 rewrite — hexagonal arch, ActivityPub federation, NATS, deployment-ready #1

Merged
GKaszewski merged 334 commits from v2 into master 2026-05-16 09:42:43 +00:00
2 changed files with 8 additions and 8 deletions
Showing only changes of commit 7cb6b94b08 - Show all commits

View File

@@ -28,7 +28,7 @@ export default async function AllUsersPage({
); );
} }
const { items, total, perPage } = usersData; const { items, total, per_page } = usersData;\n const perPage = per_page;
const totalPages = Math.ceil(total / perPage); const totalPages = Math.ceil(total / perPage);
return ( return (

View File

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