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
@@ -6,11 +6,13 @@ import {
Path,
Post,
Put,
Request,
Response,
Route,
Security,
SuccessResponse,
} from "@tsoa/runtime";
import express from "express";
import { inject } from "../infrastructure/di/index.js";
import { ErrorStates } from "../infrastructure/errorStates.js";
import { Claim } from "../models/claim.js";
@@ -22,19 +24,27 @@ import { MembersService } from "../services/membersService.js";
export class MembersContoller extends Controller {
private readonly membersService = inject(MembersService);
@Security(KC_SECURITY_NAME, [Claim.MemberAdmin])
@SuccessResponse("200", "OK")
@Get()
public async getMembers(): Promise<Member[]> {
return await this.membersService.getMembers();
public async getMembers(
@Request() request: express.Request,
): Promise<Member[]> {
return await this.membersService.getMembers(request);
}
@Security(KC_SECURITY_NAME, [Claim.MemberAdmin])
@SuccessResponse("200", "OK")
@Response(404, "Member not found")
@Get("{memberId}")
public async getMember(@Path() memberId: string): Promise<Member> {
public async getMember(
@Path() memberId: string,
@Request() request: express.Request,
): Promise<Member> {
try {
const foundMember =
await this.membersService.getMemberById(memberId);
const foundMember = await this.membersService.getMemberById(
memberId,
request,
);
return foundMember;
} catch (error) {
if (
@@ -53,8 +63,9 @@ export class MembersContoller extends Controller {
@Post()
public async createMember(
@Body() createArgs: MemberCreateArgs,
@Request() request: express.Request,
): Promise<Member> {
return await this.membersService.createMember(createArgs);
return await this.membersService.createMember(createArgs, request);
}
@Security(KC_SECURITY_NAME, [Claim.MemberAdmin])
@@ -62,9 +73,12 @@ export class MembersContoller extends Controller {
@Response(400, "Bad Request")
@Response(404, "Member not found")
@Put()
public async updateMember(@Body() member: Member): Promise<void> {
public async updateMember(
@Body() member: Member,
@Request() request: express.Request,
): Promise<void> {
try {
await this.membersService.updateMember(member);
await this.membersService.updateMember(member, request);
} catch (error) {
if (
error instanceof Error &&
@@ -83,8 +97,13 @@ export class MembersContoller extends Controller {
@Delete("{memberId}")
public async scheduleDeletion(
@Path() memberId: string,
@Body() cancelDate: Date
){
await this.membersService.scheduleDeletion(memberId, cancelDate);
@Body() cancelDate: Date,
@Request() request: express.Request,
) {
await this.membersService.scheduleDeletion(
memberId,
cancelDate,
request,
);
}
}