forked from Ynov/ptitspas-ynov-back
56 lines
1.8 KiB
TypeScript
56 lines
1.8 KiB
TypeScript
import { Controller, Get, Post, Body, Patch, Param, Delete, ForbiddenException } from '@nestjs/common';
|
|
import { GestionnairesService } from './gestionnaires.service';
|
|
import { RoleType, Users } from 'src/entities/users.entity';
|
|
import { ApiBody } from '@nestjs/swagger';
|
|
import { BaseController } from 'src/common/base.controller';
|
|
import { Roles } from 'src/common/decorators/roles.decorator';
|
|
import { UpdateGestionnaireDto } from '../user/dto/update_gestionnaire.dto';
|
|
import { CreateGestionnaireDto } from '../user/dto/create_gestionnaire.dto';
|
|
|
|
@Controller('gestionnaires')
|
|
export class GestionnairesController extends BaseController<Users> {
|
|
constructor(private readonly gestionnairesService: GestionnairesService) {
|
|
super(gestionnairesService);
|
|
}
|
|
|
|
@Roles(RoleType.SUPER_ADMIN)
|
|
@Post()
|
|
create(@Body() createGestionnaireDto: CreateGestionnaireDto) {
|
|
return this.gestionnairesService.create(createGestionnaireDto);
|
|
}
|
|
|
|
//Lister tous les gestionnaires
|
|
@Roles(RoleType.SUPER_ADMIN, RoleType.GESTIONNAIRE)
|
|
@Get()
|
|
getAll(): Promise<Users[]> {
|
|
//Dans gestionnaire service le findAll cherche deja les gestionnaires
|
|
const gestionnaire = this.gestionnairesService.findAll();
|
|
return gestionnaire;
|
|
}
|
|
|
|
//Récupérer un gestionnaire
|
|
@Roles(RoleType.GESTIONNAIRE, RoleType.SUPER_ADMIN)
|
|
@Get(':id')
|
|
findOne(@Param('id') id: string) {
|
|
return this.gestionnairesService.findOne(id);
|
|
}
|
|
|
|
|
|
//Modifier un gestionnaire
|
|
@Roles(RoleType.SUPER_ADMIN)
|
|
@Patch(':id')
|
|
update(
|
|
@Param('id') id: string,
|
|
@Body() dto: UpdateGestionnaireDto,
|
|
) {
|
|
const update_gestionnaire = this.gestionnairesService.update(id, dto);
|
|
return update_gestionnaire;
|
|
}
|
|
|
|
@Roles(RoleType.SUPER_ADMIN)
|
|
@Delete(':id')
|
|
remove(@Param('id') id: string) {
|
|
return this.gestionnairesService.remove(id);
|
|
}
|
|
}
|