visual + updates
This commit is contained in:
@@ -5,3 +5,6 @@ generated/
|
||||
.env
|
||||
|
||||
keycloak/realm-export
|
||||
|
||||
src/cert.pem
|
||||
src/key.pem
|
||||
|
||||
+13
-13
@@ -12,27 +12,27 @@
|
||||
"devDependencies": {
|
||||
"@types/connect-pg-simple": "^7.0.3",
|
||||
"@types/cors": "^2.8.19",
|
||||
"@types/express": "^5.0.5",
|
||||
"@types/express": "^5.0.6",
|
||||
"@types/express-session": "^1.18.2",
|
||||
"@types/node": "^24.9.2",
|
||||
"@types/pg": "^8.15.6",
|
||||
"prisma": "^7.0.1",
|
||||
"tsx": "^4.20.6",
|
||||
"@types/node": "^25.3.5",
|
||||
"@types/pg": "^8.18.0",
|
||||
"prisma": "^7.4.2",
|
||||
"tsx": "^4.21.0",
|
||||
"typescript": "~5.9.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"@keycloak/keycloak-admin-client": "^26.4.4",
|
||||
"@prisma/adapter-pg": "^7.0.1",
|
||||
"@prisma/client": "^7.0.1",
|
||||
"@keycloak/keycloak-admin-client": "^26.5.5",
|
||||
"@prisma/adapter-pg": "^7.4.2",
|
||||
"@prisma/client": "^7.4.2",
|
||||
"@tsoa/runtime": "^6.6.0",
|
||||
"connect-pg-simple": "^10.0.0",
|
||||
"cors": "^2.8.5",
|
||||
"dotenv": "^17.2.3",
|
||||
"express": "^5.1.0",
|
||||
"express-session": "^1.18.2",
|
||||
"cors": "^2.8.6",
|
||||
"dotenv": "^17.3.1",
|
||||
"express": "^5.2.1",
|
||||
"express-session": "^1.19.0",
|
||||
"helmet": "^8.1.0",
|
||||
"keycloak-connect": "^26.1.1",
|
||||
"pg": "^8.16.3",
|
||||
"pg": "^8.20.0",
|
||||
"rxjs": "~7.8.2",
|
||||
"tsoa": "^6.6.0"
|
||||
}
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "Member" ADD COLUMN "creationDate" DATE;
|
||||
@@ -0,0 +1,2 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "Member" ALTER COLUMN "creationDate" SET DEFAULT CURRENT_TIMESTAMP;
|
||||
@@ -21,6 +21,7 @@ model Member {
|
||||
kontakt String? @db.VarChar
|
||||
kuendigungzum DateTime? @db.Date
|
||||
marker Boolean?
|
||||
creationDate DateTime? @db.Date @default(now())
|
||||
}
|
||||
|
||||
model session {
|
||||
|
||||
@@ -14,11 +14,12 @@ export interface MemberDto {
|
||||
kontakt: string;
|
||||
kuendigungzum: string;
|
||||
marker: boolean;
|
||||
creationDate: string;
|
||||
}
|
||||
|
||||
export class MemberCreateArgs implements Omit<
|
||||
MemberDto,
|
||||
"id" | "kuendigungzum" | "letztePruefung"
|
||||
"id" | "kuendigungzum" | "letztePruefung" | "creationDate"
|
||||
> {
|
||||
vorname!: string;
|
||||
nachname!: string;
|
||||
@@ -47,6 +48,7 @@ export function mapDbMemberToMember(dbMember: DbMember): MemberDto {
|
||||
passnummer: dbMember.passnummer ?? "",
|
||||
verein: dbMember.verein ?? false,
|
||||
marker: dbMember.marker ?? false,
|
||||
creationDate: dbMember.creationDate?.toDateString() ?? "",
|
||||
};
|
||||
}
|
||||
|
||||
@@ -71,5 +73,8 @@ export function mapMemberDtoToDbMember(member: MemberDto): DbMember {
|
||||
? new Date(member.kuendigungzum)
|
||||
: null,
|
||||
marker: member.marker,
|
||||
creationDate: member.creationDate
|
||||
? new Date(member.creationDate)
|
||||
: null,
|
||||
};
|
||||
}
|
||||
|
||||
+29
-14
@@ -66,25 +66,40 @@ async function run() {
|
||||
},
|
||||
);
|
||||
|
||||
if (environment.isDev()) {
|
||||
//TODO create self-signed for localhost
|
||||
const port = 3000;
|
||||
app.listen(port, () => {
|
||||
const isDev = environment.isDev();
|
||||
|
||||
let cert: https.ServerOptions["cert"];
|
||||
let key: https.ServerOptions["key"];
|
||||
let SSL_KEY_PASSWORD: string | undefined;
|
||||
let port: number;
|
||||
|
||||
if (isDev) {
|
||||
// cert = fs.readFileSync("src/cert.pem");
|
||||
// key = fs.readFileSync("src/key.pem");
|
||||
|
||||
port = 3000;
|
||||
app.listen(port, error => {
|
||||
if (error) {
|
||||
console.error("Startup crashed:", error);
|
||||
}
|
||||
console.log(`Server is running at http://localhost:${port}`);
|
||||
});
|
||||
} else {
|
||||
//TODO start with HTTPS in production
|
||||
const port = 5443;
|
||||
port = 5443;
|
||||
const SSL_CERT_PATH = process.env["SSL_CERT_PATH"];
|
||||
const SSL_KEY_PATH = process.env["SSL_KEY_PATH"];
|
||||
const SSL_KEY_PASSWORD = process.env["SSL_KEY_PASSWORD"];
|
||||
SSL_KEY_PASSWORD = process.env["SSL_KEY_PASSWORD"];
|
||||
if (!SSL_CERT_PATH || !SSL_KEY_PATH || !SSL_KEY_PASSWORD) {
|
||||
throw new Error("Missing SSL configuration");
|
||||
}
|
||||
|
||||
cert = fs.readFileSync(SSL_CERT_PATH);
|
||||
key = fs.readFileSync(SSL_KEY_PATH);
|
||||
|
||||
const sslOptions: https.ServerOptions = {
|
||||
cert: fs.readFileSync(SSL_CERT_PATH),
|
||||
key: fs.readFileSync(SSL_KEY_PATH),
|
||||
cert: cert,
|
||||
key: key,
|
||||
passphrase: SSL_KEY_PASSWORD,
|
||||
minVersion: "TLSv1.3",
|
||||
maxVersion: "TLSv1.3",
|
||||
@@ -100,14 +115,14 @@ async function run() {
|
||||
https.createServer(sslOptions, app).listen(port, () => {
|
||||
console.log(`Server is running on port ${port}`);
|
||||
});
|
||||
|
||||
// const h2SslOptions={};
|
||||
// http2.createServer(h2SslOptions, app).listen(port, ()=>{
|
||||
// console.log(`HTTP/2 server is running on port ${port}`);
|
||||
// })
|
||||
}
|
||||
|
||||
console.log("done");
|
||||
// const h2SslOptions={};
|
||||
// http2.createServer(h2SslOptions, app).listen(port, ()=>{
|
||||
// console.log(`HTTP/2 server is running on port ${port}`);
|
||||
// })
|
||||
|
||||
console.log("setup done");
|
||||
}
|
||||
|
||||
run();
|
||||
|
||||
@@ -82,6 +82,9 @@ export class MembersService {
|
||||
kuendigungzum: member.kuendigungzum
|
||||
? member.kuendigungzum
|
||||
: null,
|
||||
creationDate: member.creationDate
|
||||
? member.creationDate
|
||||
: null,
|
||||
},
|
||||
where: { id: id },
|
||||
}),
|
||||
|
||||
Reference in New Issue
Block a user