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.
This commit is contained in:
Mathis H (Avnyr) 2024-10-08 13:29:34 +02:00
parent d3feeb6d6a
commit e931822010
Signed by: Mathis
GPG Key ID: DD9E0666A747D126

View File

@ -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 };
}
) {}
}