add prisma basic setup

This commit is contained in:
tw-blue
2025-11-29 18:57:15 +01:00
parent d6e7de09a4
commit 8bbdc59907
7 changed files with 57 additions and 15 deletions
+4
View File
@@ -1 +1,5 @@
generated/
/prisma/src/generated/prisma
.env
+1
View File
@@ -24,6 +24,7 @@
"@prisma/client": "^7.0.1",
"@tsoa/runtime": "^6.6.0",
"connect-pg-simple": "^10.0.0",
"dotenv": "^17.2.3",
"express": "^5.1.0",
"express-session": "^1.18.2",
"keycloak-connect": "^26.1.1",
+14
View File
@@ -0,0 +1,14 @@
// This file was generated by Prisma and assumes you have installed the following:
// npm install --save-dev prisma dotenv
import "dotenv/config";
import { defineConfig, env } from "prisma/config";
export default defineConfig({
schema: "prisma/schema.prisma",
migrations: {
path: "prisma/migrations",
},
datasource: {
url: env("DATABASE_URL"),
},
});
+13
View File
@@ -0,0 +1,13 @@
generator client {
provider = "prisma-client"
output = "../src/generated/prisma"
}
datasource db {
provider = "postgresql"
}
model test {
id String @id @db.Uuid
text String? @db.VarChar
}
@@ -1,16 +1,2 @@
import { Pool } from "pg";
const dbUser = process.env["TKD_DB_USER"];
const dbPassword = process.env["TKD_DB_PASSWORD"];
if (dbUser === undefined || dbPassword === undefined) {
throw new Error("missing db configuration (user/password)");
}
export const DB_POOL = new Pool({
user: dbUser,
password: dbPassword,
host: "localhost",
port: 5432,
database: "taekwondo",
});
+16 -1
View File
@@ -1,7 +1,22 @@
import pgSession from "connect-pg-simple";
import { type RequestHandler } from "express";
import session from "express-session";
import { DB_POOL } from "./database.js";
import { Pool } from "pg";
const dbUser = process.env["TKD_DB_USER"];
const dbPassword = process.env["TKD_DB_PASSWORD"];
if (dbUser === undefined || dbPassword === undefined) {
throw new Error("missing db configuration (user/password)");
}
const DB_POOL = new Pool({
user: dbUser,
password: dbPassword,
host: "localhost",
port: 5432,
database: "taekwondo",
});
const cookieSecret = process.env["TKD_COOKIE_SECRET"];