import { betterAuth } from "better-auth"; import { prismaAdapter } from "better-auth/adapters/prisma"; import { admin } from "better-auth/plugins"; import { prisma } from "./prisma"; export const auth = betterAuth({ database: prismaAdapter(prisma, { provider: "postgresql", }), emailAndPassword: { enabled: true, requireEmailVerification: true, }, plugins: [ admin({ defaultRole: "student", adminRoles: ["admin"], }), ], trustedOrigins: [ process.env.BETTER_AUTH_URL ?? "http://localhost:3000", "https://school.second-brain.ru", ], user: { additionalFields: { role: { type: "string", defaultValue: "student", input: false, }, }, }, }); export type Session = typeof auth.$Infer.Session; export type User = typeof auth.$Infer.Session.user;