add postgres support

This commit is contained in:
Aman Varshney
2025-03-17 16:36:41 +05:30
parent 30e16b5d09
commit 98b1262b41
21 changed files with 261 additions and 29 deletions

View File

@@ -52,9 +52,11 @@ export async function configureAuth(
const envPath = path.join(serverDir, ".env");
const templateEnvPath = path.join(
PKG_ROOT,
options.orm === "drizzle"
? "template/with-drizzle/packages/server/_env"
: "template/base/packages/server/_env",
getOrmTemplatePath(
options.orm,
options.database,
"packages/server/_env",
),
);
if (!(await fs.pathExists(envPath))) {
@@ -108,7 +110,11 @@ ${options.orm === "prisma" ? 'DATABASE_URL="file:./dev.db"' : ""}
const prismaAuthPath = path.join(serverDir, "src/lib/auth.ts");
const defaultPrismaAuthPath = path.join(
PKG_ROOT,
"template/with-prisma/packages/server/src/lib/auth.ts",
getOrmTemplatePath(
options.orm,
options.database,
"packages/server/src/lib/auth.ts",
),
);
if (
@@ -147,7 +153,11 @@ ${options.orm === "prisma" ? 'DATABASE_URL="file:./dev.db"' : ""}
const drizzleAuthPath = path.join(serverDir, "src/lib/auth.ts");
const defaultDrizzleAuthPath = path.join(
PKG_ROOT,
"template/with-drizzle/packages/server/src/lib/auth.ts",
getOrmTemplatePath(
options.orm,
options.database,
"packages/server/src/lib/auth.ts",
),
);
if (
@@ -180,6 +190,24 @@ ${options.orm === "prisma" ? 'DATABASE_URL="file:./dev.db"' : ""}
}
}
function getOrmTemplatePath(
orm: string,
database: string,
relativePath: string,
): string {
if (orm === "drizzle") {
return database === "sqlite"
? `template/with-drizzle-sqlite/${relativePath}`
: `template/with-drizzle-postgres/${relativePath}`;
}
if (orm === "prisma") {
return database === "sqlite"
? `template/with-prisma-sqlite/${relativePath}`
: `template/with-prisma-postgres/${relativePath}`;
}
return `template/base/${relativePath}`;
}
function generateAuthSecret(length = 32): string {
const characters =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";