dev env setup
This commit is contained in:
@@ -17,7 +17,9 @@ export class HealthCheckController extends Controller {
|
||||
|
||||
@Get("ok")
|
||||
@SuccessResponse("200", "OK")
|
||||
public async getOk() {}
|
||||
public async getOk() {
|
||||
return "ok";
|
||||
}
|
||||
|
||||
@Get("auth")
|
||||
@Security(KC_SECURITY_NAME)
|
||||
@@ -25,6 +27,7 @@ export class HealthCheckController extends Controller {
|
||||
public async getAuth() {}
|
||||
|
||||
@Post("testmessage")
|
||||
@SuccessResponse("200", "OK")
|
||||
public async sendTestMessage() {
|
||||
await this.messaging.sendTestMessage();
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import {
|
||||
Body,
|
||||
BodyProp,
|
||||
Controller,
|
||||
Get,
|
||||
@@ -8,25 +7,27 @@ import {
|
||||
Query,
|
||||
Route,
|
||||
Security,
|
||||
SuccessResponse,
|
||||
} from "@tsoa/runtime";
|
||||
import { inject } from "../infrastructure/di";
|
||||
import { Claim } from "../models/claim";
|
||||
import { Topic } from "../models/topic";
|
||||
import { User } from "../models/user";
|
||||
import { inject } from "../infrastructure/di/index.js";
|
||||
import { Claim } from "../models/claim.js";
|
||||
import { type User } from "../models/user.js";
|
||||
import { KC_SECURITY_NAME } from "../services/keycloak/user/index.js";
|
||||
import { UserService } from "../services/userService";
|
||||
import { UserService } from "../services/userService.js";
|
||||
|
||||
@Route("users")
|
||||
export class UsersController extends Controller {
|
||||
private readonly userService = inject(UserService);
|
||||
|
||||
@Security(KC_SECURITY_NAME, [Claim.UserAdmin])
|
||||
@SuccessResponse("200", "OK")
|
||||
@Get()
|
||||
public async getUsers(): Promise<User[]> {
|
||||
return await this.userService.getUsers();
|
||||
}
|
||||
|
||||
@Security(KC_SECURITY_NAME, [Claim.UserAdmin])
|
||||
@SuccessResponse("200", "OK")
|
||||
@Put("/claims/{uid}")
|
||||
public async setClaims(
|
||||
@Path() uid: string,
|
||||
@@ -36,12 +37,12 @@ export class UsersController extends Controller {
|
||||
await this.userService.setClaim(uid, claim, value);
|
||||
}
|
||||
|
||||
@Security(KC_SECURITY_NAME)
|
||||
@Put("/subscriptions/{token}")
|
||||
public async setSubscriptions(
|
||||
@Body() topics: Topic[],
|
||||
@Path() token: string,
|
||||
) {
|
||||
await this.userService.setSubscriptions(token, topics);
|
||||
}
|
||||
// @Security(KC_SECURITY_NAME)
|
||||
// @Put("/subscriptions/{token}")
|
||||
// public async setSubscriptions(
|
||||
// @Body() topics: Topic[],
|
||||
// @Path() token: string,
|
||||
// ) {
|
||||
// await this.userService.setSubscriptions(token, topics);
|
||||
// }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user