From 191ec08f7ffa527d2349454ed629e7fd759a75eb Mon Sep 17 00:00:00 2001 From: Stan Runge Date: Sat, 28 Feb 2026 01:08:29 +0100 Subject: [PATCH] create personal team on user creation --- src/lib/server/auth.ts | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/lib/server/auth.ts b/src/lib/server/auth.ts index 6a7212d..7e82eaa 100644 --- a/src/lib/server/auth.ts +++ b/src/lib/server/auth.ts @@ -5,12 +5,36 @@ import { env } from '$env/dynamic/private'; import { getRequestEvent } from '$app/server'; import { db } from '$lib/server/db'; import { genericOAuth } from 'better-auth/plugins'; +import { team, teamMember } from './db/schema'; export const auth = betterAuth({ baseURL: env.ORIGIN, secret: env.BETTER_AUTH_SECRET, database: drizzleAdapter(db, { provider: 'pg' }), emailAndPassword: { enabled: true }, + databaseHooks: { + user: { + create: { + after: async (user) => { + const [personalTeam] = await db + .insert(team) + .values({ + name: user.name, + isPersonal: true, + ownerId: user.id, + avatarUrl: user.image + }) + .returning(); + + await db.insert(teamMember).values({ + teamId: personalTeam.id, + userId: user.id, + role: 'owner' + }); + } + } + } + }, plugins: [ genericOAuth({ config: [