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