databaseHooks: {
user: {
create: {
after: async (user) => {
await auth.api.createOrganization({
body: {
name: `${user.name}'s Organization`,
slug: `${Math.random().toString(36).substring(2, 15)}-${user.name}s-organization`,
userId: user.id,
},
});
},
},
},
session: {
create: {
before: async (session) => {
const memberRecord = await db.select({
organizationId: members.organizationId,
})
.from(members)
.where(eq(members.userId, session.userId))
.limit(1);
const organizationId = memberRecord.length > 0 ? memberRecord[0].organizationId : null;;
return {
data: {
...session,
activeOrganizationId: organizationId,
}
}
}
}
}
}
databaseHooks: {
user: {
create: {
after: async (user) => {
await auth.api.createOrganization({
body: {
name: `${user.name}'s Organization`,
slug: `${Math.random().toString(36).substring(2, 15)}-${user.name}s-organization`,
userId: user.id,
},
});
},
},
},
session: {
create: {
before: async (session) => {
const memberRecord = await db.select({
organizationId: members.organizationId,
})
.from(members)
.where(eq(members.userId, session.userId))
.limit(1);
const organizationId = memberRecord.length > 0 ? memberRecord[0].organizationId : null;;
return {
data: {
...session,
activeOrganizationId: organizationId,
}
}
}
}
}
}