Refactor authors controller and add admin guard

Renamed routes and incorporated `AdminGuard` for deletion. Adjusted parameter names and simplified function bodies to improve readability and security.
This commit is contained in:
Mathis H (Avnyr) 2024-10-08 13:38:29 +02:00
parent d69589c781
commit 0c94d16b19
Signed by: Mathis
GPG Key ID: DD9E0666A747D126

View File

@ -6,39 +6,37 @@ import {
Param, Param,
ParseIntPipe, ParseIntPipe,
Post, Post,
Query, Query, UseGuards
} from "@nestjs/common"; } from '@nestjs/common';
import { AuthorsService } from "apps/backend/src/app/authors/authors.service"; import { AuthorsService } from "apps/backend/src/app/authors/authors.service";
import { AdminGuard } from 'apps/backend/src/app/auth/auth.guard';
@Controller("authors") @Controller("authors")
export class AuthorsController { export class AuthorsController {
constructor(private readonly authorService: AuthorsService) {} constructor(private readonly authorService: AuthorsService) {}
@Get() @Get("find")
async findMany( async findMany(
@Query("limit", new DefaultValuePipe(20), ParseIntPipe) limit: number, @Query("limit", new DefaultValuePipe(20), ParseIntPipe) limit: number,
@Query("offset", new DefaultValuePipe(0), ParseIntPipe) offset: number, @Query("offset", new DefaultValuePipe(0), ParseIntPipe) offset: number,
@Query("search", new DefaultValuePipe("")) search: string, @Query("search", new DefaultValuePipe("")) search: string,
) { ) {}
const query = { limit, offset, search };
}
//POST a new group //TODO DTO
@Post("new") @Post("new")
async newAuthor() {} async newAuthor() {}
//DELETE a group @UseGuards(AdminGuard)
@Delete(":authorId") @Delete(":autor")
async deleteAuthor(@Param("authorId") authorId: string) {} async deleteAuthor(@Param("machineId") machineId: string) {}
//GET files associated to authors with limit and offset //TODO Patch
@Get(":authorId")
async getForAuthor( @Get(":author/files")
async getFilesForAuthor(
@Query("limit", new DefaultValuePipe(20), ParseIntPipe) limit: number, @Query("limit", new DefaultValuePipe(20), ParseIntPipe) limit: number,
@Query("offset", new DefaultValuePipe(0), ParseIntPipe) offset: number, @Query("offset", new DefaultValuePipe(0), ParseIntPipe) offset: number,
@Query("search", new DefaultValuePipe("")) search: string, @Query("search", new DefaultValuePipe("")) search: string,
@Param("authorId") authorId: string, @Param("machineId") machineId: string,
) { ) {}
const query = { limit, offset, search };
}
} }