import { betterAuth } from 'better-auth'; import { drizzleAdapter } from 'better-auth/adapters/drizzle'; import { admin, bearer } from 'better-auth/plugins'; import { db } from './db/client'; import * as schema from './db/schema'; import { env } from './env'; export const auth = betterAuth({ secret: env.BETTER_AUTH_SECRET, baseURL: env.BETTER_AUTH_URL, trustedOrigins: [env.BETTER_AUTH_URL, 'http://localhost:3000', ...env.WEB_ORIGINS], database: drizzleAdapter(db, { provider: 'sqlite', schema }), emailAndPassword: { enabled: true, requireEmailVerification: false, disableSignUp: true, // admin creates users; see docs/plans/phase-2-accounts-roles.md }, plugins: [bearer(), admin({ defaultRole: 'worker', adminRoles: ['admin'] })], });