export const auth = betterAuth({
database: drizzleAdapter(db, {
provider: "pg",
schema: schema,
usePlural: true,
}),
emailAndPassword: {
enabled: true,
requireEmailVerification: true,
},
user: {
additionalFields: {
currentRole: { type: "string", input: true, returned: true },
},
},
session: {
cookieCache: { enabled: true, maxAge: 5 * 60 },
},
emailVerification: {
sendOnSignUp: false,
autoSignInAfterVerification: true,
sendVerificationEmail: sendVerificationEmail,
onEmailVerification: handleVerification,
},
plugins: [
nextCookies(),
emailOTP({
sendVerificationOnSignUp: false,
overrideDefaultEmailVerification: true,
async sendVerificationOTP(data) {
return await handleOTP(data);
},
}),
customSession(handleCustomSession),
],
});
export const auth = betterAuth({
database: drizzleAdapter(db, {
provider: "pg",
schema: schema,
usePlural: true,
}),
emailAndPassword: {
enabled: true,
requireEmailVerification: true,
},
user: {
additionalFields: {
currentRole: { type: "string", input: true, returned: true },
},
},
session: {
cookieCache: { enabled: true, maxAge: 5 * 60 },
},
emailVerification: {
sendOnSignUp: false,
autoSignInAfterVerification: true,
sendVerificationEmail: sendVerificationEmail,
onEmailVerification: handleVerification,
},
plugins: [
nextCookies(),
emailOTP({
sendVerificationOnSignUp: false,
overrideDefaultEmailVerification: true,
async sendVerificationOTP(data) {
return await handleOTP(data);
},
}),
customSession(handleCustomSession),
],
});