dev env setup
This commit is contained in:
@@ -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,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user