add prisma basic setup
This commit is contained in:
@@ -1 +1,5 @@
|
|||||||
generated/
|
generated/
|
||||||
|
|
||||||
|
/prisma/src/generated/prisma
|
||||||
|
|
||||||
|
.env
|
||||||
|
|||||||
@@ -24,6 +24,7 @@
|
|||||||
"@prisma/client": "^7.0.1",
|
"@prisma/client": "^7.0.1",
|
||||||
"@tsoa/runtime": "^6.6.0",
|
"@tsoa/runtime": "^6.6.0",
|
||||||
"connect-pg-simple": "^10.0.0",
|
"connect-pg-simple": "^10.0.0",
|
||||||
|
"dotenv": "^17.2.3",
|
||||||
"express": "^5.1.0",
|
"express": "^5.1.0",
|
||||||
"express-session": "^1.18.2",
|
"express-session": "^1.18.2",
|
||||||
"keycloak-connect": "^26.1.1",
|
"keycloak-connect": "^26.1.1",
|
||||||
|
|||||||
@@ -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"),
|
||||||
|
},
|
||||||
|
});
|
||||||
@@ -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",
|
|
||||||
});
|
|
||||||
|
|||||||
@@ -1,7 +1,22 @@
|
|||||||
import pgSession from "connect-pg-simple";
|
import pgSession from "connect-pg-simple";
|
||||||
import { type RequestHandler } from "express";
|
import { type RequestHandler } from "express";
|
||||||
import session from "express-session";
|
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"];
|
const cookieSecret = process.env["TKD_COOKIE_SECRET"];
|
||||||
|
|
||||||
|
|||||||
Generated
+9
@@ -29,6 +29,9 @@ importers:
|
|||||||
connect-pg-simple:
|
connect-pg-simple:
|
||||||
specifier: ^10.0.0
|
specifier: ^10.0.0
|
||||||
version: 10.0.0
|
version: 10.0.0
|
||||||
|
dotenv:
|
||||||
|
specifier: ^17.2.3
|
||||||
|
version: 17.2.3
|
||||||
express:
|
express:
|
||||||
specifier: ^5.1.0
|
specifier: ^5.1.0
|
||||||
version: 5.1.0
|
version: 5.1.0
|
||||||
@@ -2005,6 +2008,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==}
|
resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
|
dotenv@17.2.3:
|
||||||
|
resolution: {integrity: sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
dunder-proto@1.0.1:
|
dunder-proto@1.0.1:
|
||||||
resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
|
resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
@@ -5923,6 +5930,8 @@ snapshots:
|
|||||||
|
|
||||||
dotenv@16.6.1: {}
|
dotenv@16.6.1: {}
|
||||||
|
|
||||||
|
dotenv@17.2.3: {}
|
||||||
|
|
||||||
dunder-proto@1.0.1:
|
dunder-proto@1.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
call-bind-apply-helpers: 1.0.2
|
call-bind-apply-helpers: 1.0.2
|
||||||
|
|||||||
Reference in New Issue
Block a user