1- import {
2- Controller ,
3- Get ,
4- UseGuards ,
5- Body ,
6- Post ,
7- Param ,
8- ParseUUIDPipe ,
9- Delete ,
10- } from '@nestjs/common' ;
1+ import { Controller , Get , UseGuards , Body , Post , Param , ParseUUIDPipe , Delete , Put } from '@nestjs/common' ;
112import { ApiTags , ApiBearerAuth , ApiOkResponse , ApiParam } from '@nestjs/swagger' ;
123import { JwtAuthGuard } from '../auth/guards/auth.guard' ;
134import { ProjectsService } from './projects.service' ;
145import { CreateProjectDto } from './dto/create-project.dto' ;
156import { Project } from '@prisma/client' ;
7+ import { ProjectDto } from './dto/project.dto' ;
168
179@Controller ( 'projects' )
1810@ApiTags ( 'projects' )
@@ -22,22 +14,32 @@ export class ProjectsController {
2214 @Get ( )
2315 @ApiBearerAuth ( )
2416 @UseGuards ( JwtAuthGuard )
17+ @ApiOkResponse ( { type : [ ProjectDto ] } )
2518 getAll ( ) : Promise < Project [ ] > {
2619 return this . projectsService . findAll ( ) ;
2720 }
2821
2922 @Post ( )
3023 @ApiBearerAuth ( )
3124 @UseGuards ( JwtAuthGuard )
25+ @ApiOkResponse ( { type : ProjectDto } )
3226 create ( @Body ( ) createProjectDto : CreateProjectDto ) : Promise < Project > {
3327 return this . projectsService . create ( createProjectDto ) ;
3428 }
3529
30+ @Put ( )
31+ @ApiBearerAuth ( )
32+ @UseGuards ( JwtAuthGuard )
33+ @ApiOkResponse ( { type : ProjectDto } )
34+ update ( @Body ( ) projectDto : ProjectDto ) : Promise < Project > {
35+ return this . projectsService . update ( projectDto ) ;
36+ }
37+
3638 @Delete ( ':id' )
37- @ApiParam ( { name : 'id' , required : true } )
3839 @ApiBearerAuth ( )
3940 @UseGuards ( JwtAuthGuard )
40- @ApiOkResponse ( { type : Number } )
41+ @ApiOkResponse ( { type : ProjectDto } )
42+ @ApiParam ( { name : 'id' , required : true } )
4143 remove ( @Param ( 'id' , new ParseUUIDPipe ( ) ) id : string ) : Promise < Project > {
4244 return this . projectsService . remove ( id ) ;
4345 }
0 commit comments