import { sendOtp } from "@/actions/auth-actions"; import { PrismaClient } from "@prisma/client"; import { betterAuth } from "better-auth"; import { prismaAdapter } from "better-auth/adapters/prisma"; import { phoneNumber } from "better-auth/plugins"; const prisma = new PrismaClient(); export const auth = betterAuth({ trustedOrigins: ["http://localhost:3000", "http://192.168.18.194:3000"], user: { additionalFields: { role: { type: "string", required: false, defaultValue: "USER", input: false, // don't allow user to set role }, lang: { type: "string", required: false, defaultValue: "en", }, }, }, database: prismaAdapter(prisma, { provider: "sqlite", // or "mysql", "postgresql", ...etc }), plugins: [ phoneNumber({ sendOTP: async ({ phoneNumber, code }) => { // Implement sending OTP code via SMS console.log("Send OTP in auth.ts", phoneNumber, code); await sendOtp(phoneNumber, code); }, }), ], });