export const auth = betterAuth({
database: prismaAdapter(prisma, {
provider: "postgresql",
}),
...
user: {
additionalFields: {
role: {
type: "string",
required: false,
input: false,
},
},
},
databaseHooks: {
user: {
create: {
before: async (user) => {
const ADMIN_EMAILS = process.env.ADMIN_EMAILS?.split(";") || [];
if (ADMIN_EMAILS.includes(user.email)) {
return { data: { ...user, role: UserRole.ADMIN } };
}
const MODERATOR_EMAILS =
process.env.MODERATOR_EMAILS?.split(";") || [];
if (MODERATOR_EMAILS.includes(user.email)) {
return { data: { ...user, role: UserRole.MODERATOR } };
}
return { data: user };
},
},
},
}
});
export const auth = betterAuth({
database: prismaAdapter(prisma, {
provider: "postgresql",
}),
...
user: {
additionalFields: {
role: {
type: "string",
required: false,
input: false,
},
},
},
databaseHooks: {
user: {
create: {
before: async (user) => {
const ADMIN_EMAILS = process.env.ADMIN_EMAILS?.split(";") || [];
if (ADMIN_EMAILS.includes(user.email)) {
return { data: { ...user, role: UserRole.ADMIN } };
}
const MODERATOR_EMAILS =
process.env.MODERATOR_EMAILS?.split(";") || [];
if (MODERATOR_EMAILS.includes(user.email)) {
return { data: { ...user, role: UserRole.MODERATOR } };
}
return { data: user };
},
},
},
}
});