institucion endpoints restringidos a usuario
This commit is contained in:
parent
59bbb1218e
commit
20d8081c84
@ -46,7 +46,7 @@ export class CarreraProgramaController {
|
||||
create(@Request() req, @Body() body: CreateCarreraProgramaDto) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
if (admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
if (!admin || admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
throw new ConflictException('No tienes permiso de realizar esta acción.');
|
||||
return this.carreraProgramaService.create(
|
||||
admin,
|
||||
@ -69,7 +69,7 @@ export class CarreraProgramaController {
|
||||
delete(@Request() req, @Body() body: DeleteCarreraProgramaDto) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
if (admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
if (!admin || admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
throw new ConflictException('No tienes permiso de realizar esta acción.');
|
||||
return this.carreraProgramaService.delete(admin, body.id_carrera_programa);
|
||||
}
|
||||
|
@ -53,7 +53,7 @@ export class HoraExcepcionController {
|
||||
create(@Request() req, @Body() body: CreateHoraExcepcionDto) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
if (admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
if (!admin || admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
throw new ConflictException('No tienes permiso de realizar esta acción.');
|
||||
return this.horaExcepcionService.create(
|
||||
admin,
|
||||
@ -76,7 +76,7 @@ export class HoraExcepcionController {
|
||||
delete(@Request() req, @Body() body: DeleteHoraExcepcionDto) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
if (admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
if (!admin || admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
throw new ConflictException('No tienes permiso de realizar esta acción.');
|
||||
return this.horaExcepcionService.delete(admin, body.id_hora_excepcion);
|
||||
}
|
||||
@ -118,7 +118,7 @@ export class HoraExcepcionController {
|
||||
update(@Request() req, @Body() body: UpdateHoraExcepcionDto) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
if (admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
if (!admin || admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
throw new ConflictException('No tienes permiso de realizar esta acción.');
|
||||
return this.horaExcepcionService.update(admin, body);
|
||||
}
|
||||
|
@ -87,7 +87,7 @@ export class InstitucionDiaController {
|
||||
update(@Request() req, @Body() body: UpdateInstitucionDiaDto) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
if (admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
if (!admin || admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
throw new ConflictException('No tienes permiso de realizar esta acción.');
|
||||
return this.institucionDiaService.update(admin, body);
|
||||
}
|
||||
|
@ -44,7 +44,7 @@ export class InstitucionInfraccionController {
|
||||
create(@Request() req, @Body() body: CreateInstitucionInfraccionDto) {
|
||||
const superAdmin: Operador = req.user.operador;
|
||||
|
||||
if (superAdmin.tipoUsuario.id_tipo_usuario != 2)
|
||||
if (!superAdmin || superAdmin.tipoUsuario.id_tipo_usuario != 2)
|
||||
throw new ConflictException('No tienes permiso de realizar esta acción.');
|
||||
return this.institucionInfraccionService.create(body.infraccion);
|
||||
}
|
||||
@ -91,7 +91,7 @@ export class InstitucionInfraccionController {
|
||||
update(@Request() req, @Body() body: UpdateInstitucionInfraccionDto) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
if (admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
if (!admin || admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
throw new ConflictException('No tienes permiso de realizar esta acción.');
|
||||
return this.institucionInfraccionService.update(admin, body);
|
||||
}
|
||||
|
@ -43,7 +43,7 @@ export class InstitucionProgramaController {
|
||||
create(@Request() req, @Body() body: CreateProgramaDto) {
|
||||
const superAdmin: Operador = req.user.operador;
|
||||
|
||||
if (superAdmin.tipoUsuario.id_tipo_usuario != 2)
|
||||
if (!superAdmin || superAdmin.tipoUsuario.id_tipo_usuario != 2)
|
||||
throw new ConflictException('No tienes permiso de realizar esta acción.');
|
||||
return this.institucionProgramaService.create(body.programa);
|
||||
}
|
||||
@ -111,7 +111,7 @@ export class InstitucionProgramaController {
|
||||
update(@Request() req, @Body() body: UpdateProgramaDto) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
if (admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
if (!admin || admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
throw new ConflictException('No tienes permiso de realizar esta acción.');
|
||||
return this.institucionProgramaService.update(admin, body);
|
||||
}
|
||||
|
@ -45,7 +45,7 @@ export class InstitucionTipoCarritoController {
|
||||
create(@Request() req, @Body() body: CreateInstitucionTipoCarritoDto) {
|
||||
const superAdmin: Operador = req.user.operador;
|
||||
|
||||
if (superAdmin.tipoUsuario.id_tipo_usuario != 2)
|
||||
if (!superAdmin || superAdmin.tipoUsuario.id_tipo_usuario != 2)
|
||||
throw new ConflictException('No tienes permiso de realizar esta acción.');
|
||||
return this.institucionTipoCarritoService.create(
|
||||
body.letra,
|
||||
@ -119,7 +119,7 @@ export class InstitucionTipoCarritoController {
|
||||
update(@Request() req, @Body() body: UpdateInstitucionTipoCarritoDto) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
if (admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
if (!admin || admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
throw new ConflictException('No tienes permiso de realizar esta acción.');
|
||||
return this.institucionTipoCarritoService.update(admin, body);
|
||||
}
|
||||
|
@ -43,7 +43,7 @@ export class InstitucionTipoEntradaController {
|
||||
create(@Request() req, @Body() body: CreateInstitucionTipoEntradaDto) {
|
||||
const superAdmin: Operador = req.user.operador;
|
||||
|
||||
if (superAdmin.tipoUsuario.id_tipo_usuario != 2)
|
||||
if (!superAdmin || superAdmin.tipoUsuario.id_tipo_usuario != 2)
|
||||
throw new ConflictException('No tienes permiso de realizar esta acción.');
|
||||
return this.tipoEntradaService.create(body.tipo_entrada);
|
||||
}
|
||||
@ -114,7 +114,7 @@ export class InstitucionTipoEntradaController {
|
||||
update(@Request() req, @Body() body: UpdateInstitucionTipoEntradaDto) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
if (admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
if (!admin || admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
throw new ConflictException('No tienes permiso de realizar esta acción.');
|
||||
return this.tipoEntradaService.update(admin, body);
|
||||
}
|
||||
|
@ -1,4 +1,13 @@
|
||||
import { Body, Controller, Get, Put, Query, UseGuards } from '@nestjs/common';
|
||||
import {
|
||||
Body,
|
||||
ConflictException,
|
||||
Controller,
|
||||
Get,
|
||||
Put,
|
||||
Query,
|
||||
Request,
|
||||
UseGuards,
|
||||
} from '@nestjs/common';
|
||||
import { AuthGuard } from '@nestjs/passport';
|
||||
import {
|
||||
ApiBearerAuth,
|
||||
@ -9,6 +18,7 @@ import {
|
||||
} from '@nestjs/swagger';
|
||||
import { Serealize } from '../interceptors/serialize.interceptor';
|
||||
import { InstitucionService } from './institucion.service';
|
||||
import { Operador } from 'src/operador/entity/operador.entity';
|
||||
import { IdInstitucionDto } from '../dto/id-institucion.dto';
|
||||
import { UpdateInstitucionDto } from './dto/input/update.dto';
|
||||
import { InstitucionOutputDto } from './dto/output/institucion.dto';
|
||||
@ -21,6 +31,15 @@ import { InstitucionesMinOutputDto } from './dto/output/instituciones-min.dto';
|
||||
export class InstitucionController {
|
||||
constructor(private institucionService: InstitucionService) {}
|
||||
|
||||
@Serealize(InstitucionesMinOutputDto)
|
||||
@Get('instituciones-activas')
|
||||
@ApiOperation({
|
||||
description: 'Endpoint que retorna todas las instituciones activas.',
|
||||
})
|
||||
activas() {
|
||||
return this.institucionService.findAll(true);
|
||||
}
|
||||
|
||||
@Serealize(InstitucionMinOutputDto)
|
||||
@Get()
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@ -32,17 +51,6 @@ export class InstitucionController {
|
||||
return this.institucionService.findAll();
|
||||
}
|
||||
|
||||
@Serealize(InstitucionesOutputDto)
|
||||
@Get('instituciones')
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@ApiOperation({
|
||||
description: 'Endpoint que retorna todas las instituciones.',
|
||||
})
|
||||
@ApiBearerAuth('jwt')
|
||||
instituciones() {
|
||||
return this.institucionService.findAll();
|
||||
}
|
||||
|
||||
@Serealize(InstitucionOutputDto)
|
||||
@Get('institucion')
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@ -55,17 +63,29 @@ export class InstitucionController {
|
||||
name: 'id_institucion',
|
||||
type: 'string',
|
||||
})
|
||||
institucion(@Query() query: IdInstitucionDto) {
|
||||
institucion(@Request() req, @Query() query: IdInstitucionDto) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!admin ||
|
||||
(admin.tipoUsuario.id_tipo_usuario != 2 &&
|
||||
admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
)
|
||||
throw new ConflictException(
|
||||
'No tienes permiso para acceder a esta información.',
|
||||
);
|
||||
return this.institucionService.findById(parseInt(query.id_institucion));
|
||||
}
|
||||
|
||||
@Serealize(InstitucionesMinOutputDto)
|
||||
@Get('activas')
|
||||
@Serealize(InstitucionesOutputDto)
|
||||
@Get('instituciones')
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@ApiOperation({
|
||||
description: 'Endpoint que retorna todas las instituciones activas.',
|
||||
description: 'Endpoint que retorna todas las instituciones.',
|
||||
})
|
||||
activas() {
|
||||
return this.institucionService.findAll(true);
|
||||
@ApiBearerAuth('jwt')
|
||||
instituciones() {
|
||||
return this.institucionService.findAll();
|
||||
}
|
||||
|
||||
@Put()
|
||||
@ -95,7 +115,15 @@ export class InstitucionController {
|
||||
},
|
||||
},
|
||||
})
|
||||
update(@Body() body: UpdateInstitucionDto) {
|
||||
return this.institucionService.update(body);
|
||||
update(@Request() req, @Body() body: UpdateInstitucionDto) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!admin ||
|
||||
(admin.tipoUsuario.id_tipo_usuario != 2 &&
|
||||
admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
)
|
||||
throw new ConflictException('No tienes permiso de realizar esta acción.');
|
||||
return this.institucionService.update(admin, body);
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,12 @@
|
||||
import { Injectable, NotFoundException } from '@nestjs/common';
|
||||
import {
|
||||
ConflictException,
|
||||
Injectable,
|
||||
NotFoundException,
|
||||
} from '@nestjs/common';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
import { Repository } from 'typeorm';
|
||||
import { Institucion } from './entity/institucion.entity';
|
||||
import { Operador } from 'src/operador/entity/operador.entity';
|
||||
|
||||
@Injectable()
|
||||
export class InstitucionService {
|
||||
@ -27,9 +32,16 @@ export class InstitucionService {
|
||||
});
|
||||
}
|
||||
|
||||
update(attrs: Partial<Institucion>) {
|
||||
update(admin: Operador, attrs: Partial<Institucion>) {
|
||||
return this.findById(attrs.id_institucion)
|
||||
.then((institucion) => {
|
||||
if (
|
||||
admin.tipoUsuario.id_tipo_usuario === 3 &&
|
||||
admin.institucion.id_institucion != institucion.id_institucion
|
||||
)
|
||||
throw new ConflictException(
|
||||
'No puedes actualizar la información de esta institución porque no correspondes a ella.',
|
||||
);
|
||||
Object.assign(institucion, attrs);
|
||||
return this.repository.save(institucion);
|
||||
})
|
||||
|
@ -397,8 +397,8 @@ export class UploadFileService {
|
||||
|
||||
if (!file) throw new BadRequestException('No se mandó ningún logo.');
|
||||
institucion.logo = path;
|
||||
return this.institucionService
|
||||
.update(institucion)
|
||||
.then((_) => ({ message: 'Se subió correctamente el logo.' }));
|
||||
// return this.institucionService
|
||||
// .update(institucion)
|
||||
// .then((_) => ({ message: 'Se subió correctamente el logo.' }));
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user