2024-11-24 23:30:44 +05:00
|
|
|
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({
|
2024-12-07 14:09:53 +05:00
|
|
|
trustedOrigins: ["http://localhost:3000", "http://192.168.18.194:3000"],
|
2024-11-27 14:17:06 +05:00
|
|
|
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",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
2024-11-24 23:30:44 +05:00
|
|
|
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);
|
|
|
|
},
|
|
|
|
}),
|
|
|
|
],
|
|
|
|
});
|