Compare commits
6 Commits
nico/25-fe
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 458f8f56e9 | |||
| 226b0880e6 | |||
| 5d9be8c479 | |||
| f355e5a5a3 | |||
| e83bea2bc2 | |||
| 2b4dd1b7a4 |
@@ -1,16 +1,11 @@
|
||||
import { betterAuth } from "better-auth";
|
||||
import { prismaAdapter } from "better-auth/adapters/prisma";
|
||||
import { PrismaClient } from "../../generated/prisma";
|
||||
import logger from "./logger";
|
||||
import { VITE_PUBLIC_URL } from "./env";
|
||||
|
||||
const baseUrl = process.env.VITE_PUBLIC_URL;
|
||||
const baseUrl = VITE_PUBLIC_URL;
|
||||
const prisma = new PrismaClient();
|
||||
|
||||
if (!baseUrl) {
|
||||
logger.error("VITE_PUBLIC_URL is not defined");
|
||||
throw new Error("VITE_PUBLIC_URL is not defined");
|
||||
}
|
||||
|
||||
// logger.info('Initializing Better Auth with Prisma adapter');
|
||||
export const auth = betterAuth({
|
||||
baseURL: baseUrl,
|
||||
@@ -37,6 +32,23 @@ export const auth = betterAuth({
|
||||
},
|
||||
},
|
||||
},
|
||||
databaseHooks: {
|
||||
user: {
|
||||
create: {
|
||||
before: async (user) => {
|
||||
if (user.email === process.env.ADMIN_EMAIL) {
|
||||
return {
|
||||
data: {
|
||||
...user,
|
||||
role: "admin",
|
||||
},
|
||||
};
|
||||
}
|
||||
return { data: user };
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
secret: process.env.BETTER_AUTH_SECRET,
|
||||
session: {
|
||||
cookieCache: {
|
||||
@@ -47,5 +59,6 @@ export const auth = betterAuth({
|
||||
},
|
||||
advanced: {
|
||||
cookiePrefix: "bun-react",
|
||||
trustProxy: true,
|
||||
},
|
||||
});
|
||||
|
||||
@@ -20,10 +20,21 @@ export const getEnv = (key: string, defaultValue = ""): string => {
|
||||
return defaultValue;
|
||||
};
|
||||
|
||||
export const VITE_PUBLIC_URL = getEnv(
|
||||
"VITE_PUBLIC_URL",
|
||||
"http://localhost:3000",
|
||||
);
|
||||
export const VITE_PUBLIC_URL = (() => {
|
||||
// Priority:
|
||||
// 1. BETTER_AUTH_URL (standard for better-auth)
|
||||
// 2. VITE_PUBLIC_URL (our app standard)
|
||||
// 3. window.location.origin (browser fallback)
|
||||
const envUrl = getEnv("BETTER_AUTH_URL") || getEnv("VITE_PUBLIC_URL");
|
||||
if (envUrl) return envUrl;
|
||||
|
||||
// Fallback for browser
|
||||
if (typeof window !== "undefined") {
|
||||
return window.location.origin;
|
||||
}
|
||||
|
||||
return "http://localhost:3000";
|
||||
})();
|
||||
|
||||
export const IS_DEV = (() => {
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user