From f5d65926c5d81f69f090a5da470290c69929cfc5 Mon Sep 17 00:00:00 2001 From: xXpuma99Xx <51341582+xXpuma99Xx@users.noreply.github.com> Date: Mon, 1 Aug 2022 02:09:30 -0500 Subject: [PATCH] tipo usaurio endpoints restringidos a usuario --- src/tipo-usuario/tipo-usuario.controller.ts | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/tipo-usuario/tipo-usuario.controller.ts b/src/tipo-usuario/tipo-usuario.controller.ts index bfae631..d32ddf4 100644 --- a/src/tipo-usuario/tipo-usuario.controller.ts +++ b/src/tipo-usuario/tipo-usuario.controller.ts @@ -1,8 +1,17 @@ -import { Body, Controller, Get, Post, UseGuards } from '@nestjs/common'; +import { + Body, + ConflictException, + Controller, + Get, + Post, + Request, + UseGuards, +} from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; import { ApiBearerAuth, ApiBody, ApiOperation, ApiTags } from '@nestjs/swagger'; import { Serealize } from '../interceptors/serialize.interceptor'; import { TipoUsuarioService } from './tipo-usuario.service'; +import { Operador } from 'src/operador/entity/operador.entity'; import { CreateTipoUsuarioDto } from './dto/input/create.dto'; import { TipoUsuarioOutputDto } from './dto/output/tipo-usuario.dto'; @@ -19,7 +28,13 @@ export class TipoUsuarioController { description: 'Es obligatorio mandar el campo tipo_usuario.', examples: { ejemplo: { value: { tipo_usuario: '' } } }, }) - create(@Body() body: CreateTipoUsuarioDto) { + create(@Request() req, @Body() body: CreateTipoUsuarioDto) { + const superAdmin: Operador = req.user.operador; + + if (!superAdmin || superAdmin.tipoUsuario.id_tipo_usuario != 2) + throw new ConflictException( + 'No tienes permisos para realizar esta acción.', + ); return this.tipoUsuarioService.create(body.tipo_usuario); }