Rebuild the hub on Bun: Elysia API, Better Auth, Drizzle, Next.js website
CI / test (push) Successful in 30s
CI / test (push) Successful in 30s
The hub becomes a Bun monorepo: apps/api (Elysia, Better Auth for accounts, roles, bans, proxy device sign-in and JWT keys; tagline linking, presence and the console as before), packages/db (Drizzle; Postgres in production, PGlite in development and tests), and the Next.js website from apps/web. Self-hostable with docker compose; the website deploys to Vercel-style hosts, the API to any that runs Bun or containers. The first version, in Go, is removed. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
64c552330b
commit
7a06ba49c3
59 files changed
+2640
-3523
No files matched your search
@@ -38,8 +38,7 @@ export async function unban(_: ActionState, form: FormData): Promise<ActionState
|
||||
export async function setRole(_: ActionState, form: FormData): Promise<ActionState> {
|
||||
return onPerson(form, async (id) => {
|
||||
const role = roles.find((r) => r === field(form, "role")) ?? "user";
|
||||
// The API's schema builds its union from an array, which its type reads as never; the value is checked above.
|
||||
const { person } = unwrap(await api.console.people({ id }).role.post({ role: role as never }));
|
||||
const { person } = unwrap(await api.console.people({ id }).role.post({ role }));
|
||||
return `Role set to ${person.role}.`;
|
||||
});
|
||||
}
|
||||
Reference in new issue
Block a user