import { betterAuth } from "better-auth";
import { admin, organization } from "better-auth/plugins";
import { drizzleAdapter } from "better-auth/adapters/drizzle";
import { db } from "~/lib/database/db.server";
import { env } from "~/lib/env.server";
import * as schema from "~/lib/database/schema";
console.log(process.env.BASE_URL, env.APP_SUB_DOMAIN, env.PUBLIC_ROOT_DOMAIN);
export const auth = betterAuth({
baseURL: process.env.BASE_URL, //http://localhost:5173
secret: env.BETTER_AUTH_SECRET,
database: drizzleAdapter(db, {
provider: env.DB_TYPE.toLowerCase() as "pg" | "mysql" | "sqlite", //sqlite
schema: schema,
}),
emailAndPassword: {
enabled: true,
autoSignIn: true,
requireEmailVerification: false,
sendResetPassword: async ({ user, url, token }) => {
if (process.env.NODE_ENV === "development") {
console.log("Send email to reset password");
console.log(user, url, token);
} else {
// Send email
}
},
},
user: {
deleteUser: {
enabled: true,
},
},
plugins: [admin(), organization()],
});
import { betterAuth } from "better-auth";
import { admin, organization } from "better-auth/plugins";
import { drizzleAdapter } from "better-auth/adapters/drizzle";
import { db } from "~/lib/database/db.server";
import { env } from "~/lib/env.server";
import * as schema from "~/lib/database/schema";
console.log(process.env.BASE_URL, env.APP_SUB_DOMAIN, env.PUBLIC_ROOT_DOMAIN);
export const auth = betterAuth({
baseURL: process.env.BASE_URL, //http://localhost:5173
secret: env.BETTER_AUTH_SECRET,
database: drizzleAdapter(db, {
provider: env.DB_TYPE.toLowerCase() as "pg" | "mysql" | "sqlite", //sqlite
schema: schema,
}),
emailAndPassword: {
enabled: true,
autoSignIn: true,
requireEmailVerification: false,
sendResetPassword: async ({ user, url, token }) => {
if (process.env.NODE_ENV === "development") {
console.log("Send email to reset password");
console.log(user, url, token);
} else {
// Send email
}
},
},
user: {
deleteUser: {
enabled: true,
},
},
plugins: [admin(), organization()],
});