dev env setup

This commit is contained in:
tw-blue
2025-12-06 21:27:29 +01:00
parent 987a380758
commit bc9f0f9f3b
38 changed files with 5953 additions and 733 deletions
+43 -21
View File
@@ -1,3 +1,4 @@
import express from "express";
import { inject, Injectable } from "../infrastructure/di/index.js";
import { ErrorStates } from "../infrastructure/errorStates.js";
import {
@@ -11,16 +12,22 @@ import { DatabaseService } from "./db/prisma.js";
export class MembersService {
private readonly database = inject(DatabaseService);
public async getMembers(): Promise<Member[]> {
const dbMembers = await this.database.doRequest(prisma =>
prisma.member.findMany(),
public async getMembers(request: express.Request): Promise<Member[]> {
const dbMembers = await this.database.doRequest(
async prisma => await prisma.member.findMany(),
request,
);
return dbMembers.map(mapDbMemberToMember);
}
public async getMemberById(memberId: string): Promise<Member> {
const member = await this.database.doRequest(prisma =>
prisma.member.findFirst({ where: { id: memberId } }),
public async getMemberById(
memberId: string,
request: express.Request,
): Promise<Member> {
const member = await this.database.doRequest(
async prisma =>
await prisma.member.findFirst({ where: { id: memberId } }),
request,
);
if (!member) {
@@ -32,36 +39,51 @@ export class MembersService {
return mapDbMemberToMember(member);
}
public async createMember(createArgs: MemberCreateArgs): Promise<Member> {
const newMember = await this.database.doRequest(prisma =>
prisma.member.create({ data: createArgs }),
public async createMember(
createArgs: MemberCreateArgs,
request: express.Request,
): Promise<Member> {
const newMember = await this.database.doRequest(
async prisma => await prisma.member.create({ data: createArgs }),
request,
);
return mapDbMemberToMember(newMember);
}
public async updateMember(member: Member): Promise<Member> {
public async updateMember(
member: Member,
request: express.Request,
): Promise<Member> {
const id = member.id;
if (!id) {
throw new Error("Member id is required for update", {
cause: ErrorStates.BAD_REQUEST,
});
}
const modifiedMember = await this.database.doRequest(prisma =>
prisma.member.update({
data: { ...member, id: id },
where: { id: id },
}),
const modifiedMember = await this.database.doRequest(
async prisma =>
await prisma.member.update({
data: { ...member, id: id },
where: { id: id },
}),
request,
);
return mapDbMemberToMember(modifiedMember);
}
public async scheduleDeletion(memberId: string, cancelDate: Date) {
await this.database.doRequest(prisma =>
prisma.member.update({
where: { id: memberId },
data: { kuendigungzum: cancelDate },
}),
public async scheduleDeletion(
memberId: string,
cancelDate: Date,
request: express.Request,
) {
await this.database.doRequest(
prisma =>
prisma.member.update({
where: { id: memberId },
data: { kuendigungzum: cancelDate },
}),
request,
);
}
}