This repository has been archived on 2025-08-19. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
coinstorge/website/src/lib/auth.ts

56 lines
1.5 KiB
TypeScript
Raw Normal View History

2025-05-22 13:17:11 +03:00
import { betterAuth } from "better-auth";
import { drizzleAdapter } from "better-auth/adapters/drizzle";
import { env } from '$env/dynamic/private';
import { db } from "./server/db";
if (!env.GOOGLE_CLIENT_ID) throw new Error('GOOGLE_CLIENT_ID is not set');
if (!env.GOOGLE_CLIENT_SECRET) throw new Error('GOOGLE_CLIENT_SECRET is not set');
export const auth = betterAuth({
baseURL: env.PUBLIC_BETTER_AUTH_URL,
secret: env.PRIVATE_BETTER_AUTH_SECRET,
appName: "Rugplay",
database: drizzleAdapter(db, {
provider: "pg",
}),
socialProviders: {
google: {
clientId: env.GOOGLE_CLIENT_ID,
clientSecret: env.GOOGLE_CLIENT_SECRET,
}
},
session: {
cookieCache: {
enabled: true,
maxAge: 60 * 5, // 5 minutes
}
},
user: {
additionalFields: {
isAdmin: {
type: "boolean",
required: true,
defaultValue: false,
input: false
},
isBanned: {
type: "boolean",
required: true,
defaultValue: false,
input: false
},
banReason: {
type: "string",
required: false,
defaultValue: null,
input: false
}
},
deleteUser: { enabled: true }
},
2025-05-22 14:37:19 +03:00
advanced: {
generateId: false,
}
2025-05-22 13:17:11 +03:00
});