From e9318220103f8258508eeb6bdbed9eda3703bba8 Mon Sep 17 00:00:00 2001 From: Mathis Date: Tue, 8 Oct 2024 13:29:34 +0200 Subject: [PATCH] Refactor GroupsController with route updates and guards Renamed route for fetching groups and added an admin guard to the delete endpoint. Also updated the endpoint for getting files associated with a group and removed unnecessary method bodies and comments. --- .../src/app/groups/groups.controller.ts | 28 ++++++++----------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/apps/backend/src/app/groups/groups.controller.ts b/apps/backend/src/app/groups/groups.controller.ts index 3972e2d..3cf5110 100644 --- a/apps/backend/src/app/groups/groups.controller.ts +++ b/apps/backend/src/app/groups/groups.controller.ts @@ -7,42 +7,38 @@ import { Param, ParseIntPipe, Post, - Query, -} from "@nestjs/common"; + Query, UseGuards +} from '@nestjs/common'; import { CreateGroupDto } from "apps/backend/src/app/groups/groups.dto"; import { ISearchQuery } from "apps/backend/src/app/groups/groups.types"; import { GroupsService } from "./groups.service"; +import { AdminGuard } from 'apps/backend/src/app/auth/auth.guard'; @Controller("groups") export class GroupsController { constructor(private readonly groupsService: GroupsService) {} - //GET all groups with limit and offset + optional search - @Get() + @Get("find") async findMany( @Query("limit", new DefaultValuePipe(20), ParseIntPipe) limit: number, @Query("offset", new DefaultValuePipe(0), ParseIntPipe) offset: number, @Query("search", new DefaultValuePipe("")) search: string, - ) { - //TODO add service method - } + ) {} - //POST a new group @Post("new") - async newGroup(@Body() dto: CreateGroupDto) {} + async newGroup() {} - //DELETE a group + @UseGuards(AdminGuard) @Delete(":groupId") async deleteGroup(@Param("groupId") groupId: string) {} - //GET files associated to group with limit and offset - @Get(":groupId") - async getForGroup( + //TODO Patch + + @Get(":groupId/files") + async getFilesForGroup( @Query("limit", new DefaultValuePipe(20), ParseIntPipe) limit: number, @Query("offset", new DefaultValuePipe(0), ParseIntPipe) offset: number, @Query("search", new DefaultValuePipe("")) search: string, @Param("groupId") groupId: string, - ) { - const query = { limit, offset, search }; - } + ) {} }