create personal team on user creation

This commit is contained in:
2026-02-28 01:08:29 +01:00
parent 0a6695fc26
commit 191ec08f7f

View File

@@ -5,12 +5,36 @@ import { env } from '$env/dynamic/private';
import { getRequestEvent } from '$app/server'; import { getRequestEvent } from '$app/server';
import { db } from '$lib/server/db'; import { db } from '$lib/server/db';
import { genericOAuth } from 'better-auth/plugins'; import { genericOAuth } from 'better-auth/plugins';
import { team, teamMember } from './db/schema';
export const auth = betterAuth({ export const auth = betterAuth({
baseURL: env.ORIGIN, baseURL: env.ORIGIN,
secret: env.BETTER_AUTH_SECRET, secret: env.BETTER_AUTH_SECRET,
database: drizzleAdapter(db, { provider: 'pg' }), database: drizzleAdapter(db, { provider: 'pg' }),
emailAndPassword: { enabled: true }, 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: [ plugins: [
genericOAuth({ genericOAuth({
config: [ config: [