diff --git a/.github/workflow/deploy.yml b/.github/workflow/deploy.yml index 981909b..db79e46 100644 --- a/.github/workflow/deploy.yml +++ b/.github/workflow/deploy.yml @@ -19,6 +19,6 @@ jobs: cd /home/ynov/project git fetch origin git reset --hard origin/master - docker compose build backend + docker compose build --no-cache backend docker compose up -d backend docker compose restart backend diff --git a/package-lock.json b/package-lock.json index d00a635..3c2f567 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.1", "license": "UNLICENSED", "dependencies": { - "@nestjs/common": "^11.0.1", + "@nestjs/common": "^11.1.6", "@nestjs/config": "^4.0.2", "@nestjs/core": "^11.0.1", "@nestjs/jwt": "^11.0.0", @@ -34,7 +34,7 @@ "devDependencies": { "@eslint/eslintrc": "^3.2.0", "@eslint/js": "^9.18.0", - "@nestjs/cli": "^11.0.0", + "@nestjs/cli": "^11.0.10", "@nestjs/schematics": "^11.0.0", "@nestjs/testing": "^11.0.1", "@types/bcrypt": "^6.0.0", @@ -2322,9 +2322,9 @@ } }, "node_modules/@nestjs/common": { - "version": "11.1.5", - "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-11.1.5.tgz", - "integrity": "sha512-DQpWdr3ShO0BHWkHl3I4W/jR6R3pDtxyBlmrpTuZF+PXxQyBXNvsUne0Wyo6QHPEDi+pAz9XchBFoKbqOhcdTg==", + "version": "11.1.6", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-11.1.6.tgz", + "integrity": "sha512-krKwLLcFmeuKDqngG2N/RuZHCs2ycsKcxWIDgcm7i1lf3sQ0iG03ci+DsP/r3FcT/eJDFsIHnKtNta2LIi7PzQ==", "license": "MIT", "dependencies": { "file-type": "21.0.0", diff --git a/package.json b/package.json index 09a8f2f..b0f43a4 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "test:e2e": "jest --config ./test/jest-e2e.json" }, "dependencies": { - "@nestjs/common": "^11.0.1", + "@nestjs/common": "^11.1.6", "@nestjs/config": "^4.0.2", "@nestjs/core": "^11.0.1", "@nestjs/jwt": "^11.0.0", @@ -47,7 +47,7 @@ "devDependencies": { "@eslint/eslintrc": "^3.2.0", "@eslint/js": "^9.18.0", - "@nestjs/cli": "^11.0.0", + "@nestjs/cli": "^11.0.10", "@nestjs/schematics": "^11.0.0", "@nestjs/testing": "^11.0.1", "@types/bcrypt": "^6.0.0", diff --git a/src/routes/assistantes_maternelles/assistantes_maternelles.controller.ts b/src/routes/assistantes_maternelles/assistantes_maternelles.controller.ts index b2bfa6b..94b2bb0 100644 --- a/src/routes/assistantes_maternelles/assistantes_maternelles.controller.ts +++ b/src/routes/assistantes_maternelles/assistantes_maternelles.controller.ts @@ -6,22 +6,28 @@ import { Patch, Param, Delete, + UseGuards, } from '@nestjs/common'; import { AssistantesMaternellesService } from './assistantes_maternelles.service'; -import { ApiBody, ApiResponse, ApiTags } from '@nestjs/swagger'; +import { ApiBearerAuth, ApiBody, ApiOperation, ApiParam, ApiResponse, ApiTags } from '@nestjs/swagger'; import { AssistanteMaternelle } from 'src/entities/assistantes_maternelles.entity'; import { Roles } from 'src/common/decorators/roles.decorator'; import { RoleType } from 'src/entities/users.entity'; import { CreateAssistanteDto } from '../user/dto/create_assistante.dto'; import { UpdateAssistanteDto } from '../user/dto/update_assistante.dto'; +import { RolesGuard } from 'src/common/guards/roles.guard'; +import { AuthGuard } from 'src/common/guards/auth.guard'; @ApiTags("Assistantes Maternelles") +@ApiBearerAuth('access-token') +@UseGuards(AuthGuard, RolesGuard) @Controller('assistantes-maternelles') export class AssistantesMaternellesController { - constructor(private readonly assistantesMaternellesService: AssistantesMaternellesService) {} + constructor(private readonly assistantesMaternellesService: AssistantesMaternellesService) { } @Roles(RoleType.SUPER_ADMIN, RoleType.GESTIONNAIRE) - @ApiResponse({ status: 201, description: 'Assistante maternelle créée avec succès' }) + @ApiOperation({ summary: 'Créer nounou' }) + @ApiResponse({ status: 201, description: 'Nounou créée avec succès' }) @ApiResponse({ status: 403, description: 'Accès refusé : Réservé aux super_admins et gestionnaires' }) @ApiBody({ type: CreateAssistanteDto }) @Post() @@ -31,7 +37,8 @@ export class AssistantesMaternellesController { @Roles(RoleType.SUPER_ADMIN, RoleType.GESTIONNAIRE) @Get() - @ApiResponse({ status: 200, description: 'Liste des assistantes maternelles' }) + @ApiOperation({ summary: 'Récupérer la liste des nounous' }) + @ApiResponse({ status: 200, description: 'Liste des nounous' }) @ApiResponse({ status: 403, description: 'Accès refusé : Réservé aux super_admins et gestionnaires' }) getAll(): Promise { return this.assistantesMaternellesService.findAll(); @@ -39,8 +46,10 @@ export class AssistantesMaternellesController { @Roles(RoleType.SUPER_ADMIN, RoleType.GESTIONNAIRE) @Get(':id') - @ApiResponse({ status: 200, description: 'Détails de l\'assistante maternelle' }) - @ApiResponse({ status: 404, description: 'Assistante maternelle non trouvée' }) + @ApiParam({ name: 'id', description: "UUID de la nounou" }) + @ApiOperation({ summary: 'Récupérer une nounou par id' }) + @ApiResponse({ status: 200, description: 'Détails de la nounou' }) + @ApiResponse({ status: 404, description: 'Nounou non trouvée' }) @ApiResponse({ status: 403, description: 'Accès refusé : Réservé aux super_admins et gestionnaires' }) getOne(@Param('id') user_id: string): Promise { return this.assistantesMaternellesService.findOne(user_id); @@ -48,18 +57,22 @@ export class AssistantesMaternellesController { @Roles(RoleType.SUPER_ADMIN, RoleType.GESTIONNAIRE) @ApiBody({ type: UpdateAssistanteDto }) - @ApiResponse({ status: 200, description: 'Assistante maternelle mise à jour avec succès' }) + @ApiOperation({ summary: 'Mettre à jour une nounou' }) + @ApiResponse({ status: 200, description: 'Nounou mise à jour avec succès' }) @ApiResponse({ status: 403, description: 'Accès refusé : Réservé aux super_admins et gestionnaires' }) - @ApiResponse({ status: 404, description: 'Assistante maternelle non trouvée' }) + @ApiResponse({ status: 404, description: 'Nounou non trouvée' }) + @ApiParam({ name: 'id', description: "UUID de la nounou" }) @Patch(':id') update(@Param('id') id: string, @Body() dto: UpdateAssistanteDto): Promise { return this.assistantesMaternellesService.update(id, dto); } @Roles(RoleType.SUPER_ADMIN, RoleType.GESTIONNAIRE) - @ApiResponse({ status: 200, description: 'Assistante maternelle supprimée avec succès' }) + @ApiOperation({ summary: 'Supprimer une nounou' }) + @ApiResponse({ status: 200, description: 'Nounou supprimée avec succès' }) @ApiResponse({ status: 403, description: 'Accès refusé : Réservé aux super_admins et gestionnaires' }) - @ApiResponse({ status: 404, description: 'Assistante maternelle non trouvée' }) + @ApiResponse({ status: 404, description: 'Nounou non trouvée' }) + @ApiParam({ name: 'id', description: "UUID de la nounou" }) @Delete(':id') remove(@Param('id') id: string): Promise { return this.assistantesMaternellesService.remove(id);