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"];
+9
View File
@@ -29,6 +29,9 @@ importers:
connect-pg-simple:
specifier: ^10.0.0
version: 10.0.0
dotenv:
specifier: ^17.2.3
version: 17.2.3
express:
specifier: ^5.1.0
version: 5.1.0
@@ -2005,6 +2008,10 @@ packages:
resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==}
engines: {node: '>=12'}
dotenv@17.2.3:
resolution: {integrity: sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==}
engines: {node: '>=12'}
dunder-proto@1.0.1:
resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
engines: {node: '>= 0.4'}
@@ -5923,6 +5930,8 @@ snapshots:
dotenv@16.6.1: {}
dotenv@17.2.3: {}
dunder-proto@1.0.1:
dependencies:
call-bind-apply-helpers: 1.0.2