diff --git a/src/carrera-programa/carrera-programa.controller.ts b/src/carrera-programa/carrera-programa.controller.ts index 5a7d639..2972275 100644 --- a/src/carrera-programa/carrera-programa.controller.ts +++ b/src/carrera-programa/carrera-programa.controller.ts @@ -8,7 +8,13 @@ import { UseGuards, } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; -import { ApiBody, ApiOperation, ApiQuery, ApiTags } from '@nestjs/swagger'; +import { + ApiBearerAuth, + ApiBody, + ApiOperation, + ApiQuery, + ApiTags, +} from '@nestjs/swagger'; import { Serealize } from '../interceptors/serialize.interceptor'; import { CarreraProgramaService } from './carrera-programa.service'; import { IdInstitucionDto } from '../dto/id-institucion.dto'; @@ -22,11 +28,12 @@ export class CarreraProgramaController { constructor(private carreraProgramaService: CarreraProgramaService) {} @Post() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que crea una asociación entre una carrera y un programa.', }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Ambas variables son obligatorios.', examples: { @@ -41,11 +48,12 @@ export class CarreraProgramaController { } @Delete() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que borra la asociación entre una carrera y un programa.', }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Es obligatorio mandar la variable id_carrera_programa.', examples: { ejemplo: { value: { id_carrera_programa: 1 } } }, diff --git a/src/carrera-programa/carrera-programa.module.ts b/src/carrera-programa/carrera-programa.module.ts index ea5345d..68aea8c 100644 --- a/src/carrera-programa/carrera-programa.module.ts +++ b/src/carrera-programa/carrera-programa.module.ts @@ -1,4 +1,5 @@ import { Module } from '@nestjs/common'; +import { PassportModule } from '@nestjs/passport'; import { TypeOrmModule } from '@nestjs/typeorm'; import { CarreraProgramaController } from './carrera-programa.controller'; import { CarreraProgramaService } from './carrera-programa.service'; @@ -12,6 +13,7 @@ import { InstitucionProgramaModule } from '../institucion-programa/institucion-p InstitucionModule, InstitucionCarreraModule, InstitucionProgramaModule, + PassportModule.register({ defaultStrategy: 'jwt' }), TypeOrmModule.forFeature([CarreraPrograma]), ], controllers: [CarreraProgramaController], diff --git a/src/carrito/carrito.controller.ts b/src/carrito/carrito.controller.ts index d950946..fe511c6 100644 --- a/src/carrito/carrito.controller.ts +++ b/src/carrito/carrito.controller.ts @@ -8,7 +8,13 @@ import { UseGuards, } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; -import { ApiBody, ApiOperation, ApiQuery, ApiTags } from '@nestjs/swagger'; +import { + ApiBearerAuth, + ApiBody, + ApiOperation, + ApiQuery, + ApiTags, +} from '@nestjs/swagger'; import { Serealize } from '../interceptors/serialize.interceptor'; import { CarritoService } from './carrito.service'; import { CarritoDto } from './dto/input/carrito.dto'; @@ -25,10 +31,11 @@ export class CarritoController { @Serealize(CarritoOutputDto) @Get('carrito') - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna la información de un carrito.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Id del carrito.', name: 'id_carrito', @@ -40,11 +47,12 @@ export class CarritoController { @Serealize(CarritosOutputDto) @Get('carritos') - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna 25 carritos de un módulo dependiendo de la página en la que se encuentra el usuario y sus filtros.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Página en la que se encuentra el usuario.', name: 'pagina', @@ -85,10 +93,11 @@ export class CarritoController { } @Post() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que crea un carrito nuevo en un módulo.', }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Todas las variables son obligatorias.', examples: { @@ -107,10 +116,11 @@ export class CarritoController { } @Put() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que actualiza la información de un carrito.', }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Todas las variables a excepción de id_carrito son opcionales.', diff --git a/src/carrito/carrito.module.ts b/src/carrito/carrito.module.ts index 1f66a14..2c031ad 100644 --- a/src/carrito/carrito.module.ts +++ b/src/carrito/carrito.module.ts @@ -1,4 +1,5 @@ import { Module } from '@nestjs/common'; +import { PassportModule } from '@nestjs/passport'; import { TypeOrmModule } from '@nestjs/typeorm'; import { CarritoController } from './carrito.controller'; import { CarritoService } from './carrito.service'; @@ -12,6 +13,7 @@ import { ModuloModule } from '../modulo/modulo.module'; InstitucionModule, InstitucionTipoCarritoModule, ModuloModule, + PassportModule.register({ defaultStrategy: 'jwt' }), TypeOrmModule.forFeature([Carrito]), ], controllers: [CarritoController], diff --git a/src/equipo-programa/equipo-programa.controller.ts b/src/equipo-programa/equipo-programa.controller.ts index bf74a4e..18c04ee 100644 --- a/src/equipo-programa/equipo-programa.controller.ts +++ b/src/equipo-programa/equipo-programa.controller.ts @@ -1,6 +1,6 @@ import { Body, Controller, Delete, Post, UseGuards } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; -import { ApiBody, ApiOperation, ApiTags } from '@nestjs/swagger'; +import { ApiBearerAuth, ApiBody, ApiOperation, ApiTags } from '@nestjs/swagger'; import { EquipoProgramaService } from './equipo-programa.service'; import { CreateEquipoProgramaDto } from './dto/input/create.dto'; import { DeleteEquipoProgramaDto } from './dto/input/delete.dto'; @@ -11,11 +11,12 @@ export class EquipoProgramaController { constructor(private equipoProgramaService: EquipoProgramaService) {} @Post() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que crea una relación entre un equipo y un programa.', }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Ambas variables son obligatorios.', examples: { ejemplo: { value: { id_equipo: 1, id_programa: 1 } } }, @@ -25,11 +26,12 @@ export class EquipoProgramaController { } @Delete() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que elimina una relación entre un equipo y un programa.', }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'La variable id_equipo_programa es obligatoria.', examples: { ejemplo: { value: { id_equipo_programa: 1 } } }, diff --git a/src/equipo-programa/equipo-programa.module.ts b/src/equipo-programa/equipo-programa.module.ts index 2df0ae5..f11fae7 100644 --- a/src/equipo-programa/equipo-programa.module.ts +++ b/src/equipo-programa/equipo-programa.module.ts @@ -1,4 +1,5 @@ import { forwardRef, Module } from '@nestjs/common'; +import { PassportModule } from '@nestjs/passport'; import { TypeOrmModule } from '@nestjs/typeorm'; import { EquipoProgramaController } from './equipo-programa.controller'; import { EquipoProgramaService } from './equipo-programa.service'; @@ -10,6 +11,7 @@ import { InstitucionProgramaModule } from '../institucion-programa/institucion-p imports: [ forwardRef(() => EquipoModule), InstitucionProgramaModule, + PassportModule.register({ defaultStrategy: 'jwt' }), TypeOrmModule.forFeature([EquipoPrograma]), ], controllers: [EquipoProgramaController], diff --git a/src/equipo-tipo-entrada/equipo-tipo-entrada.controller.ts b/src/equipo-tipo-entrada/equipo-tipo-entrada.controller.ts index 8b1d0c6..aa6490a 100644 --- a/src/equipo-tipo-entrada/equipo-tipo-entrada.controller.ts +++ b/src/equipo-tipo-entrada/equipo-tipo-entrada.controller.ts @@ -1,6 +1,6 @@ import { Body, Controller, Delete, Post, UseGuards } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; -import { ApiBody, ApiOperation, ApiTags } from '@nestjs/swagger'; +import { ApiBearerAuth, ApiBody, ApiOperation, ApiTags } from '@nestjs/swagger'; import { EquipoTipoEntradaService } from './equipo-tipo-entrada.service'; import { CreateEquipoTipoEntradaDto } from './dto/input/create.dto'; import { DeleteEquipoTipoEntradaDto } from './dto/input/delete.dto'; @@ -11,11 +11,12 @@ export class EquipoTipoEntradaController { constructor(private equipoTipoEntradaService: EquipoTipoEntradaService) {} @Post() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que crea una relación entre un equipo y un tipo de entrada.', }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Ambas variables son obligatorios.', examples: { ejemplo: { value: { id_equipo: 1, id_tipo_entrada: 1 } } }, @@ -28,11 +29,12 @@ export class EquipoTipoEntradaController { } @Delete() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que elimina una relación entre un equipo y un tipo de entrada.', }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'La variable id_equipo_tipo_entrada es obligatoria.', examples: { ejemplo: { value: { id_equipo_tipo_entrada: 1 } } }, diff --git a/src/equipo-tipo-entrada/equipo-tipo-entrada.module.ts b/src/equipo-tipo-entrada/equipo-tipo-entrada.module.ts index cdf2675..b127918 100644 --- a/src/equipo-tipo-entrada/equipo-tipo-entrada.module.ts +++ b/src/equipo-tipo-entrada/equipo-tipo-entrada.module.ts @@ -1,4 +1,5 @@ import { Module } from '@nestjs/common'; +import { PassportModule } from '@nestjs/passport'; import { TypeOrmModule } from '@nestjs/typeorm'; import { EquipoTipoEntradaController } from './equipo-tipo-entrada.controller'; import { EquipoTipoEntradaService } from './equipo-tipo-entrada.service'; @@ -10,6 +11,7 @@ import { InstitucionTipoEntradaModule } from '../institucion-tipo-entrada/instit imports: [ EquipoModule, InstitucionTipoEntradaModule, + PassportModule.register({ defaultStrategy: 'jwt' }), TypeOrmModule.forFeature([EquipoTipoEntrada]), ], controllers: [EquipoTipoEntradaController], diff --git a/src/equipo/equipo.controller.ts b/src/equipo/equipo.controller.ts index dc75bd2..100294b 100644 --- a/src/equipo/equipo.controller.ts +++ b/src/equipo/equipo.controller.ts @@ -1,6 +1,12 @@ import { Body, Controller, Get, Put, Query, UseGuards } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; -import { ApiBody, ApiOperation, ApiQuery, ApiTags } from '@nestjs/swagger'; +import { + ApiBearerAuth, + ApiBody, + ApiOperation, + ApiQuery, + ApiTags, +} from '@nestjs/swagger'; import { Serealize } from '../interceptors/serialize.interceptor'; import { EquipoService } from './equipo.service'; import { NumeroInventarioDto } from '../dto/numero-inventario.dto'; @@ -16,11 +22,12 @@ export class EquipoController { @Serealize(EquipoOutputDto) @Get('equipo') - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna la información de un equipo por su número de inventario de una institución.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Id de la institución.', name: 'id_institucion', @@ -40,11 +47,12 @@ export class EquipoController { @Serealize(EquiposOutputDto) @Get('equipos') - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna 15 equipos dependiendo de la página en la que esta el usuario y sus filtros.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Página en la que se encuentra el usuario.', name: 'pagina', @@ -103,10 +111,11 @@ export class EquipoController { } @Put() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que actualiza lan información de un equipo.', }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Todas las variables a excepción de id_carrito son opcionales.', diff --git a/src/equipo/equipo.module.ts b/src/equipo/equipo.module.ts index 2669dfe..abe602a 100644 --- a/src/equipo/equipo.module.ts +++ b/src/equipo/equipo.module.ts @@ -1,4 +1,5 @@ import { forwardRef, Module } from '@nestjs/common'; +import { PassportModule } from '@nestjs/passport'; import { TypeOrmModule } from '@nestjs/typeorm'; import { EquipoController } from './equipo.controller'; import { EquipoService } from './equipo.service'; @@ -25,6 +26,7 @@ import { StatusModule } from '../status/status.module'; ModuloModule, forwardRef(() => MotivoModule), OperadorModule, + PassportModule.register({ defaultStrategy: 'jwt' }), StatusModule, TypeOrmModule.forFeature([Equipo]), ], diff --git a/src/hora-excepcion/hora-excepcion.controller.ts b/src/hora-excepcion/hora-excepcion.controller.ts index 46319f4..45c052b 100644 --- a/src/hora-excepcion/hora-excepcion.controller.ts +++ b/src/hora-excepcion/hora-excepcion.controller.ts @@ -9,7 +9,13 @@ import { UseGuards, } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; -import { ApiBody, ApiOperation, ApiQuery, ApiTags } from '@nestjs/swagger'; +import { + ApiBearerAuth, + ApiBody, + ApiOperation, + ApiQuery, + ApiTags, +} from '@nestjs/swagger'; import { Serealize } from '../interceptors/serialize.interceptor'; import { HoraExcepcionService } from './hora-excepcion.service'; import { CreateHoraExcepcionDto } from './dto/input/create.dto'; @@ -24,10 +30,11 @@ export class HoraExcepcionController { constructor(private horaExcepcionService: HoraExcepcionService) {} @Post() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que crea una hora excepción.', }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Todas las variables son obligatorias.', examples: { @@ -49,10 +56,11 @@ export class HoraExcepcionController { } @Delete() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que elimina una hora excepción.', }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Es obligatorio mandar la variable id_hora_excepcion.', examples: { ejemplo: { value: { id_hora_excepcion: 1 } } }, @@ -63,11 +71,12 @@ export class HoraExcepcionController { @Serealize(HoraExcepcionOutputDto) @Get() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna las horas excepcion de un día de una institución.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Id de la institucion día', name: 'id_institucion_dia', @@ -79,11 +88,12 @@ export class HoraExcepcionController { } @Put() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que actualiza lan información de una hora excepcion.', }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Todoas las variables a excepción de id_hora_excepcion son opcionales pero se tiene que mandar forzosamente una hora.', diff --git a/src/hora-excepcion/hora-excepcion.module.ts b/src/hora-excepcion/hora-excepcion.module.ts index ec6ca66..a1d68e0 100644 --- a/src/hora-excepcion/hora-excepcion.module.ts +++ b/src/hora-excepcion/hora-excepcion.module.ts @@ -1,4 +1,5 @@ import { Module } from '@nestjs/common'; +import { PassportModule } from '@nestjs/passport'; import { TypeOrmModule } from '@nestjs/typeorm'; import { HoraExcepcionController } from './hora-excepcion.controller'; import { HoraExcepcionService } from './hora-excepcion.service'; @@ -6,7 +7,11 @@ import { HoraExcepcion } from './entity/hora-excepcion.entity'; import { InstitucionDiaModule } from '../institucion-dia/institucion-dia.module'; @Module({ - imports: [InstitucionDiaModule, TypeOrmModule.forFeature([HoraExcepcion])], + imports: [ + InstitucionDiaModule, + PassportModule.register({ defaultStrategy: 'jwt' }), + TypeOrmModule.forFeature([HoraExcepcion]), + ], controllers: [HoraExcepcionController], providers: [HoraExcepcionService], exports: [HoraExcepcionService], diff --git a/src/institucion-dia/institucion-dia.controller.ts b/src/institucion-dia/institucion-dia.controller.ts index 7ac0d58..2f688f2 100644 --- a/src/institucion-dia/institucion-dia.controller.ts +++ b/src/institucion-dia/institucion-dia.controller.ts @@ -1,6 +1,12 @@ import { Body, Controller, Get, Put, Query, UseGuards } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; -import { ApiBody, ApiOperation, ApiQuery, ApiTags } from '@nestjs/swagger'; +import { + ApiBearerAuth, + ApiBody, + ApiOperation, + ApiQuery, + ApiTags, +} from '@nestjs/swagger'; import { Serealize } from '../interceptors/serialize.interceptor'; import { InstitucionDiaService } from './institucion-dia.service'; import { IdInstitucionDto } from '../dto/id-institucion.dto'; @@ -14,10 +20,11 @@ export class InstitucionDiaController { @Serealize(InstitucionCarreaOutputDto) @Get() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna todos los días de una institución.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Id de la institución.', name: 'id_institucion', @@ -31,11 +38,12 @@ export class InstitucionDiaController { @Serealize(InstitucionCarreaOutputDto) @Get('hoy') - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna la información del día de hoy de una institución.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Id de la institución.', name: 'id_institucion', @@ -46,11 +54,12 @@ export class InstitucionDiaController { } @Put() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que actualiza la información de un día de una institución.', }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Todas las variables a excepción de id_institucion_dia son opcionales.', diff --git a/src/institucion-dia/institucion-dia.module.ts b/src/institucion-dia/institucion-dia.module.ts index 1a396d4..ba116a9 100644 --- a/src/institucion-dia/institucion-dia.module.ts +++ b/src/institucion-dia/institucion-dia.module.ts @@ -1,4 +1,5 @@ import { Module } from '@nestjs/common'; +import { PassportModule } from '@nestjs/passport'; import { TypeOrmModule } from '@nestjs/typeorm'; import { InstitucionDiaController } from './institucion-dia.controller'; import { InstitucionDiaService } from './institucion-dia.service'; @@ -7,7 +8,11 @@ import { InstitucionDia } from './entity/institucion-dia.entity'; import { InstitucionModule } from '../institucion/institucion.module'; @Module({ - imports: [InstitucionModule, TypeOrmModule.forFeature([Dia, InstitucionDia])], + imports: [ + InstitucionModule, + PassportModule.register({ defaultStrategy: 'jwt' }), + TypeOrmModule.forFeature([Dia, InstitucionDia]), + ], controllers: [InstitucionDiaController], providers: [InstitucionDiaService], exports: [InstitucionDiaService], diff --git a/src/institucion-infraccion/institucion-infraccion.controller.ts b/src/institucion-infraccion/institucion-infraccion.controller.ts index 842a8f6..247cada 100644 --- a/src/institucion-infraccion/institucion-infraccion.controller.ts +++ b/src/institucion-infraccion/institucion-infraccion.controller.ts @@ -8,7 +8,13 @@ import { UseGuards, } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; -import { ApiBody, ApiOperation, ApiQuery, ApiTags } from '@nestjs/swagger'; +import { + ApiBearerAuth, + ApiBody, + ApiOperation, + ApiQuery, + ApiTags, +} from '@nestjs/swagger'; import { Serealize } from '../interceptors/serialize.interceptor'; import { InstitucionInfraccionService } from './institucion-infraccion.service'; import { IdInstitucionDto } from '../dto/id-institucion.dto'; @@ -25,8 +31,9 @@ export class InstitucionInfraccionController { ) {} @Post() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que crea una infracción.' }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Es obligatorio mandar la variable infraccion.', examples: { ejemplo: { value: { infraccion: '' } } }, @@ -37,18 +44,20 @@ export class InstitucionInfraccionController { @Serealize(InfraccionOutputDto) @Get() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna todas las infracciones.' }) + @ApiBearerAuth('jwt') get() { return this.institucionInfraccionService.findAll(); } @Serealize(InstitucionInfraccionOutputDto) @Get('infracciones') - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna las infracciones de una institución.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Id de la institución.', name: 'id_institucion', @@ -61,10 +70,11 @@ export class InstitucionInfraccionController { } @Put() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que actualiza los días de multa de una infracción.', }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Las dos variables son obligatorias.', examples: { diff --git a/src/institucion-infraccion/institucion-infraccion.module.ts b/src/institucion-infraccion/institucion-infraccion.module.ts index 67b6313..16196cc 100644 --- a/src/institucion-infraccion/institucion-infraccion.module.ts +++ b/src/institucion-infraccion/institucion-infraccion.module.ts @@ -1,4 +1,5 @@ import { Module } from '@nestjs/common'; +import { PassportModule } from '@nestjs/passport'; import { TypeOrmModule } from '@nestjs/typeorm'; import { InstitucionInfraccionController } from './institucion-infraccion.controller'; import { InstitucionInfraccionService } from './institucion-infraccion.service'; @@ -8,8 +9,9 @@ import { InstitucionModule } from '../institucion/institucion.module'; @Module({ imports: [ - TypeOrmModule.forFeature([Infraccion, InstitucionInfraccion]), InstitucionModule, + PassportModule.register({ defaultStrategy: 'jwt' }), + TypeOrmModule.forFeature([Infraccion, InstitucionInfraccion]), ], controllers: [InstitucionInfraccionController], providers: [InstitucionInfraccionService], diff --git a/src/institucion-programa/institucion-programa.controller.ts b/src/institucion-programa/institucion-programa.controller.ts index 9e75901..3e65695 100644 --- a/src/institucion-programa/institucion-programa.controller.ts +++ b/src/institucion-programa/institucion-programa.controller.ts @@ -8,7 +8,13 @@ import { UseGuards, } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; -import { ApiBody, ApiOperation, ApiQuery, ApiTags } from '@nestjs/swagger'; +import { + ApiBearerAuth, + ApiBody, + ApiOperation, + ApiQuery, + ApiTags, +} from '@nestjs/swagger'; import { Serealize } from '../interceptors/serialize.interceptor'; import { InstitucionProgramaService } from './institucion-programa.service'; import { IdInstitucionDto } from '../dto/id-institucion.dto'; @@ -24,8 +30,9 @@ export class InstitucionProgramaController { constructor(private institucionProgramaService: InstitucionProgramaService) {} @Post() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que crea un programa nuevo.' }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Es obligatorio mandar la varible programa.', examples: { ejemplo: { value: { programa: '' } } }, @@ -36,18 +43,20 @@ export class InstitucionProgramaController { @Serealize(ProgramaOutputDto) @Get() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna todos los programas.' }) + @ApiBearerAuth('jwt') get() { return this.institucionProgramaService.findAllProgramas(); } @Serealize(InstitucionProgramaOutputDto) @Get('programas') - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna todos los programas de una institución.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Id de la institución.', name: 'id_institucion', @@ -61,11 +70,12 @@ export class InstitucionProgramaController { @Serealize(InstitucionProgramaMinOutputDto) @Get('programas-mostrar') - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna todos los programas de una institución que tengan el campo mostrar en true.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Id de la institución.', name: 'id_institucion', @@ -79,11 +89,12 @@ export class InstitucionProgramaController { } @Put() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que actualiza la información de una institución programa.', }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Es obligatorio mandar la varible programa.', examples: { diff --git a/src/institucion-programa/institucion-programa.module.ts b/src/institucion-programa/institucion-programa.module.ts index ee7fd4d..89978ea 100644 --- a/src/institucion-programa/institucion-programa.module.ts +++ b/src/institucion-programa/institucion-programa.module.ts @@ -1,4 +1,5 @@ import { Module } from '@nestjs/common'; +import { PassportModule } from '@nestjs/passport'; import { TypeOrmModule } from '@nestjs/typeorm'; import { InstitucionProgramaController } from './institucion-programa.controller'; import { InstitucionProgramaService } from './institucion-programa.service'; @@ -9,6 +10,7 @@ import { InstitucionModule } from '../institucion/institucion.module'; @Module({ imports: [ InstitucionModule, + PassportModule.register({ defaultStrategy: 'jwt' }), TypeOrmModule.forFeature([InstitucionPrograma, Programa]), ], controllers: [InstitucionProgramaController], diff --git a/src/institucion-tipo-carrito/institucion-tipo-carrito.controller.ts b/src/institucion-tipo-carrito/institucion-tipo-carrito.controller.ts index 12aa9e5..b21c81a 100644 --- a/src/institucion-tipo-carrito/institucion-tipo-carrito.controller.ts +++ b/src/institucion-tipo-carrito/institucion-tipo-carrito.controller.ts @@ -8,7 +8,13 @@ import { UseGuards, } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; -import { ApiBody, ApiOperation, ApiQuery, ApiTags } from '@nestjs/swagger'; +import { + ApiBearerAuth, + ApiBody, + ApiOperation, + ApiQuery, + ApiTags, +} from '@nestjs/swagger'; import { Serealize } from '../interceptors/serialize.interceptor'; import { InstitucionTipoCarritoService } from './institucion-tipo-carrito.service'; import { IdInstitucionDto } from '../dto/id-institucion.dto'; @@ -26,12 +32,13 @@ export class InstitucionTipoCarritoController { ) {} @Post() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que crea un tipo de carrito.' }) @ApiBody({ description: 'Ambas variables son obligatorias.', examples: { ejemplo: { value: { letra: '', tipo_carrito: '' } } }, }) + @ApiBearerAuth('jwt') create(@Body() body: CreateInstitucionTipoCarritoDto) { return this.institucionTipoCarritoService.create( body.letra, @@ -41,21 +48,23 @@ export class InstitucionTipoCarritoController { @Serealize(TipoCarritoOutputDto) @Get() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna todos los tipos de carrito.', }) + @ApiBearerAuth('jwt') get() { return this.institucionTipoCarritoService.findAll(); } @Serealize(InstitucionTiposCarritoOutputDto) @Get('tipos-carrito') - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna todos los tipos de carrito de una institución.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Id de la institución.', name: 'id_institucion', @@ -69,11 +78,12 @@ export class InstitucionTipoCarritoController { @Serealize(InstitucionTiposCarritoMostarOutputDto) @Get('tipos-carrito-mostrar') - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna todos los tipos de carrito de una institución que tengan el campo mostrar en true.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Id de la institución.', name: 'id_institucion', @@ -87,11 +97,12 @@ export class InstitucionTipoCarritoController { } @Put() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que actualiza el campo mostrar de una institución tipo carrito.', }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Ambas variables son obligatorias.', examples: { diff --git a/src/institucion-tipo-carrito/institucion-tipo-carrito.module.ts b/src/institucion-tipo-carrito/institucion-tipo-carrito.module.ts index 7329cbd..b6f5069 100644 --- a/src/institucion-tipo-carrito/institucion-tipo-carrito.module.ts +++ b/src/institucion-tipo-carrito/institucion-tipo-carrito.module.ts @@ -1,4 +1,5 @@ import { Module } from '@nestjs/common'; +import { PassportModule } from '@nestjs/passport'; import { TypeOrmModule } from '@nestjs/typeorm'; import { InstitucionTipoCarritoController } from './institucion-tipo-carrito.controller'; import { InstitucionTipoCarritoService } from './institucion-tipo-carrito.service'; @@ -8,8 +9,9 @@ import { InstitucionModule } from '../institucion/institucion.module'; @Module({ imports: [ - TypeOrmModule.forFeature([InstitucionTipoCarrito, TipoCarrito]), InstitucionModule, + PassportModule.register({ defaultStrategy: 'jwt' }), + TypeOrmModule.forFeature([InstitucionTipoCarrito, TipoCarrito]), ], controllers: [InstitucionTipoCarritoController], providers: [InstitucionTipoCarritoService], diff --git a/src/institucion-tipo-entrada/institucion-tipo-entrada.controller.ts b/src/institucion-tipo-entrada/institucion-tipo-entrada.controller.ts index 638c9ad..887e098 100644 --- a/src/institucion-tipo-entrada/institucion-tipo-entrada.controller.ts +++ b/src/institucion-tipo-entrada/institucion-tipo-entrada.controller.ts @@ -8,7 +8,13 @@ import { UseGuards, } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; -import { ApiBody, ApiOperation, ApiQuery, ApiTags } from '@nestjs/swagger'; +import { + ApiBearerAuth, + ApiBody, + ApiOperation, + ApiQuery, + ApiTags, +} from '@nestjs/swagger'; import { Serealize } from '../interceptors/serialize.interceptor'; import { InstitucionTipoEntradaService } from './institucion-tipo-entrada.service'; import { IdInstitucionDto } from '../dto/id-institucion.dto'; @@ -24,8 +30,9 @@ export class InstitucionTipoEntradaController { constructor(private tipoEntradaService: InstitucionTipoEntradaService) {} @Post() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que crea un tipo de entrada.' }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Es obligatorio mandar la variable tipo_entrada.', examples: { ejemplo: { value: { tipo_entrada: '' } } }, @@ -36,21 +43,23 @@ export class InstitucionTipoEntradaController { @Serealize(TipoEntradaOutputDto) @Get() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna todos los tipos de entrada.', }) + @ApiBearerAuth('jwt') get() { return this.tipoEntradaService.findAll(); } @Serealize(InstitucionTipoEntradaOutputDto) @Get('tipos-entrada') - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna todos los tipos de entradas de una institución.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Id de la institución', name: 'id_institucion', @@ -64,11 +73,12 @@ export class InstitucionTipoEntradaController { @Serealize(InstitucionTipoEntradaMinOutputDto) @Get('tipos-entrada-mostrar') - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna todos los tipos de entrada de una institución que tengan el campo mostrar en true.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Id de la institución', name: 'id_institucion', @@ -82,11 +92,12 @@ export class InstitucionTipoEntradaController { } @Put() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que actualiza la información de el tipo de entrada de una institución', }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Ambas variables son obligatorias.', examples: { diff --git a/src/institucion-tipo-entrada/institucion-tipo-entrada.module.ts b/src/institucion-tipo-entrada/institucion-tipo-entrada.module.ts index 7d15f02..848b649 100644 --- a/src/institucion-tipo-entrada/institucion-tipo-entrada.module.ts +++ b/src/institucion-tipo-entrada/institucion-tipo-entrada.module.ts @@ -1,4 +1,5 @@ import { Module } from '@nestjs/common'; +import { PassportModule } from '@nestjs/passport'; import { TypeOrmModule } from '@nestjs/typeorm'; import { InstitucionTipoEntradaController } from './institucion-tipo-entrada.controller'; import { InstitucionTipoEntradaService } from './institucion-tipo-entrada.service'; @@ -9,6 +10,7 @@ import { TipoEntrada } from './entity/tipo-entrada.entity'; @Module({ imports: [ InstitucionModule, + PassportModule.register({ defaultStrategy: 'jwt' }), TypeOrmModule.forFeature([InstitucionTipoEntrada, TipoEntrada]), ], controllers: [InstitucionTipoEntradaController], diff --git a/src/institucion/institucion.controller.ts b/src/institucion/institucion.controller.ts index bcb3cb4..3b1d38e 100644 --- a/src/institucion/institucion.controller.ts +++ b/src/institucion/institucion.controller.ts @@ -1,6 +1,12 @@ import { Body, Controller, Get, Put, Query, UseGuards } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; -import { ApiBody, ApiOperation, ApiQuery, ApiTags } from '@nestjs/swagger'; +import { + ApiBearerAuth, + ApiBody, + ApiOperation, + ApiQuery, + ApiTags, +} from '@nestjs/swagger'; import { Serealize } from '../interceptors/serialize.interceptor'; import { InstitucionService } from './institucion.service'; import { IdInstitucionDto } from '../dto/id-institucion.dto'; @@ -16,20 +22,22 @@ export class InstitucionController { @Serealize(InstitucionMinOutputDto) @Get() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna todas las instituciones.', }) + @ApiBearerAuth('jwt') get() { return this.institucionService.findAll(); } @Serealize(InstitucionOutputDto) @Get('institucion') - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna la información de una institución.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Id de la institución.', name: 'id_institucion', @@ -49,10 +57,11 @@ export class InstitucionController { } @Put() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que actualiza la información de una institución.', }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Todas las variables a excepción de id_institucion son opcionales.', diff --git a/src/institucion/institucion.module.ts b/src/institucion/institucion.module.ts index 251b80a..cd81e3d 100644 --- a/src/institucion/institucion.module.ts +++ b/src/institucion/institucion.module.ts @@ -1,11 +1,15 @@ import { Module } from '@nestjs/common'; +import { PassportModule } from '@nestjs/passport'; import { TypeOrmModule } from '@nestjs/typeorm'; import { InstitucionController } from './institucion.controller'; import { InstitucionService } from './institucion.service'; import { Institucion } from './entity/institucion.entity'; @Module({ - imports: [TypeOrmModule.forFeature([Institucion])], + imports: [ + PassportModule.register({ defaultStrategy: 'jwt' }), + TypeOrmModule.forFeature([Institucion]), + ], controllers: [InstitucionController], providers: [InstitucionService], exports: [InstitucionService], diff --git a/src/main.ts b/src/main.ts index 3fee84c..2e4e935 100644 --- a/src/main.ts +++ b/src/main.ts @@ -10,6 +10,7 @@ async function bootstrap() { .setTitle('pcpuma_unam_api') .setDescription('Api de Pc puma') .setVersion('1.0') + .addBearerAuth({ bearerFormat: 'JWT', type: 'http' }, 'jwt') .build(); const document = SwaggerModule.createDocument(app, config); diff --git a/src/modulo/modulo.controller.ts b/src/modulo/modulo.controller.ts index c04e3cd..687a4b5 100644 --- a/src/modulo/modulo.controller.ts +++ b/src/modulo/modulo.controller.ts @@ -8,7 +8,13 @@ import { UseGuards, } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; -import { ApiBody, ApiOperation, ApiQuery, ApiTags } from '@nestjs/swagger'; +import { + ApiBearerAuth, + ApiBody, + ApiOperation, + ApiQuery, + ApiTags, +} from '@nestjs/swagger'; import { Serealize } from '../interceptors/serialize.interceptor'; import { ModuloService } from './modulo.service'; import { IdInstitucionDto } from '../dto/id-institucion.dto'; @@ -23,8 +29,9 @@ export class ModuloController { constructor(private moduloService: ModuloService) {} @Post() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que crea un módulo.' }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Ambas variables son obligatorias.', examples: { ejemplo: { value: { id_institucion: 200, modulo: '' } } }, @@ -35,10 +42,11 @@ export class ModuloController { @Serealize(ModuloOutputDto) @Get('modulo') - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna la información de un módulo.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Id del modulo.', name: 'id_modulo', @@ -65,10 +73,11 @@ export class ModuloController { } @Put() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que actualiza la información de un módulo.', }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Todas las variables a excepción de id_modulo son opcionales.', examples: { diff --git a/src/motivo/motivo.controller.ts b/src/motivo/motivo.controller.ts index e738604..bfbacb3 100644 --- a/src/motivo/motivo.controller.ts +++ b/src/motivo/motivo.controller.ts @@ -1,6 +1,11 @@ import { Controller, Get, Query, UseGuards } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; -import { ApiOperation, ApiQuery, ApiTags } from '@nestjs/swagger'; +import { + ApiBearerAuth, + ApiOperation, + ApiQuery, + ApiTags, +} from '@nestjs/swagger'; import { Serealize } from '../interceptors/serialize.interceptor'; import { MotivoService } from './motivo.service'; import { IdEquipoPaginaDto } from '../dto/id-equipo-pagina.dto'; @@ -13,11 +18,12 @@ export class MotivoController { @Serealize(MotivoOutputDto) @Get() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna 25 cambios de status que ha tenido el equipo dependiendo de la página en la que se encuentra el alumno.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Id del equipo.', name: 'id_equipo', diff --git a/src/motivo/motivo.module.ts b/src/motivo/motivo.module.ts index 26b3351..1e83f86 100644 --- a/src/motivo/motivo.module.ts +++ b/src/motivo/motivo.module.ts @@ -1,4 +1,5 @@ import { forwardRef, Module } from '@nestjs/common'; +import { PassportModule } from '@nestjs/passport'; import { TypeOrmModule } from '@nestjs/typeorm'; import { MotivoController } from './motivo.controller'; import { MotivoService } from './motivo.service'; @@ -12,6 +13,7 @@ import { StatusModule } from '../status/status.module'; forwardRef(() => EquipoModule), OperadorModule, StatusModule, + PassportModule.register({ defaultStrategy: 'jwt' }), TypeOrmModule.forFeature([Motivo]), ], controllers: [MotivoController], diff --git a/src/multa/multa.controller.ts b/src/multa/multa.controller.ts index 2f3da05..42c81a7 100644 --- a/src/multa/multa.controller.ts +++ b/src/multa/multa.controller.ts @@ -1,5 +1,20 @@ -import { Body, Controller, Get, Post, Put, Query } from '@nestjs/common'; -import { ApiBody, ApiOperation, ApiQuery, ApiTags } from '@nestjs/swagger'; +import { + Body, + Controller, + Get, + Post, + Put, + Query, + UseGuards, +} from '@nestjs/common'; +import { AuthGuard } from '@nestjs/passport'; +import { + ApiBearerAuth, + ApiBody, + ApiOperation, + ApiQuery, + ApiTags, +} from '@nestjs/swagger'; import { Serealize } from '../interceptors/serialize.interceptor'; import { MultaService } from './multa.service'; import { IdUsuarioDto } from '../dto/id-usuario.dto'; @@ -19,7 +34,9 @@ export class MultaController { constructor(private multaService: MultaService) {} @Post() + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint utilizado para multar a un usuario.' }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Todas las vairales son obligatorias.', examples: { @@ -45,10 +62,12 @@ export class MultaController { @Serealize(MultasOutputDto) @Get() + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna 25 multas dependiendo de la página en la que este el usuario y sus filtros.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Página en la que se encuentra el usuario.', name: 'pagina', @@ -72,9 +91,11 @@ export class MultaController { @Serealize(MultasEquipoOutputDto) @Get('multas-equipo') + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna todas las multas de un equipo.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Id del equipo.', name: 'id_equipo', @@ -94,9 +115,11 @@ export class MultaController { @Serealize(MultasUsuarioOutputDto) @Get('multas-usuario') + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna todas las multas de un usuario .', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Id del usuario.', name: 'id_usuario', @@ -116,10 +139,12 @@ export class MultaController { @Serealize(MultasMinOutputDto) @Get('multas-usuario-activas') + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna todas las multas de un usuario que esten activas.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Id del usuario.', name: 'id_usuario', @@ -143,5 +168,7 @@ export class MultaController { } // @Get('reporte') + // @UseGuards(AuthGuard('jwt')) + // @ApiBearerAuth('jwt') // reporte() {} } diff --git a/src/multa/multa.module.ts b/src/multa/multa.module.ts index a52904c..37950b7 100644 --- a/src/multa/multa.module.ts +++ b/src/multa/multa.module.ts @@ -1,4 +1,5 @@ import { forwardRef, Module } from '@nestjs/common'; +import { PassportModule } from '@nestjs/passport'; import { TypeOrmModule } from '@nestjs/typeorm'; import { MultaController } from './multa.controller'; import { MultaService } from './multa.service'; @@ -17,8 +18,9 @@ import { UsuarioModule } from '../usuario/usuario.module'; InstitucionModule, InstitucionInfraccionModule, InstitucionUsuarioModule, - OperadorModule, + PassportModule.register({ defaultStrategy: 'jwt' }), forwardRef(() => PrestamoModule), + OperadorModule, TypeOrmModule.forFeature([Multa]), UsuarioModule, ], diff --git a/src/operador/operador.controller.ts b/src/operador/operador.controller.ts index b1d0e88..31dc4ab 100644 --- a/src/operador/operador.controller.ts +++ b/src/operador/operador.controller.ts @@ -8,7 +8,13 @@ import { UseGuards, } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; -import { ApiBody, ApiOperation, ApiQuery, ApiTags } from '@nestjs/swagger'; +import { + ApiBearerAuth, + ApiBody, + ApiOperation, + ApiQuery, + ApiTags, +} from '@nestjs/swagger'; import { Serealize } from '../interceptors/serialize.interceptor'; import { OperadorService } from './operador.service'; import { CreateOperadorDto } from './dto/input/create.dto'; @@ -23,8 +29,9 @@ export class OperadorController { constructor(private operadorService: OperadorService) {} @Post() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que crea un operador.' }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Todas las variables son obligatorias.', examples: { @@ -53,10 +60,11 @@ export class OperadorController { @Serealize(OperadorOutputDto) @Get('operador') - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna la información de un operador.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Id del operador.', name: 'id_operador', @@ -68,11 +76,12 @@ export class OperadorController { @Serealize(OperadorOutputDto) @Get('operadores') - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna 25 operadores dependiendo de la página en la que se encuentra el usuario y sus filtros.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Página en la que se encuentra el usuario.', name: 'pagina', @@ -102,13 +111,15 @@ export class OperadorController { // @Get('reporte') // @UseGuards(AuthGuard('jwt')) + // @ApiBearerAuth('jwt') // reporte() {} @Put('update-password') - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Enpoint que envía una nueva password al correo del usuario.', }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Es obligatorio enviar el campo id_usuario.', examples: { ejemplo: { value: { id_usuario: 1 } } }, @@ -118,10 +129,11 @@ export class OperadorController { } @Put() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que actualiza la información de un operador.', }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Todas las variables a excepción de id_operador son opcionales.', diff --git a/src/prestamo/prestamo.controller.ts b/src/prestamo/prestamo.controller.ts index 035ea92..0eb33e2 100644 --- a/src/prestamo/prestamo.controller.ts +++ b/src/prestamo/prestamo.controller.ts @@ -1,5 +1,20 @@ -import { Body, Controller, Get, Post, Put, Query } from '@nestjs/common'; -import { ApiBody, ApiOperation, ApiQuery, ApiTags } from '@nestjs/swagger'; +import { + Body, + Controller, + Get, + Post, + Put, + Query, + UseGuards, +} from '@nestjs/common'; +import { AuthGuard } from '@nestjs/passport'; +import { + ApiBearerAuth, + ApiBody, + ApiOperation, + ApiQuery, + ApiTags, +} from '@nestjs/swagger'; import { Serealize } from '../interceptors/serialize.interceptor'; import { PrestamoService } from './prestamo.service'; import { IdEquipoPaginaDto } from '../dto/id-equipo-pagina.dto'; @@ -30,10 +45,12 @@ export class PrestamoController { @Serealize(ActivosOutputDto) @Get('activos') + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna 25 prestamos activos dependiendo de la página en la que se encuentra el operador y sus filtros.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Página en la que se encuentra el usuario.', name: 'pagina', @@ -92,9 +109,11 @@ export class PrestamoController { } @Put('cancelar-operador') + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que cancela un prestamo por parte del operador.', }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Ambas variables son obligatorias.', examples: { @@ -110,9 +129,11 @@ export class PrestamoController { } @Put('cancelar-usuario') + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que cancela el prestamo del usuario.', }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'La variable id_prestamo es obligatoria.', examples: { ejemplo: { value: { id_prestamo: 1 } } }, @@ -123,9 +144,11 @@ export class PrestamoController { @Serealize(EntregaOutputDto) @Put('entregar') + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que actualiza el status del equipo a "En uso".', }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Ambas variables son obligatorias.', examples: { ejemplo: { value: { id_operador: 4, id_prestamo: 1 } } }, @@ -136,10 +159,12 @@ export class PrestamoController { @Serealize(PrestamosOutputDto) @Get('historial') + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna 25 prestamos dependiendo de la página en la que se encuentra el operador y sus filtros.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Página en la que se encuentra el usuario.', name: 'pagina', @@ -211,10 +236,12 @@ export class PrestamoController { @Serealize(PrestamosEquipoOutputDto) @Get('historial-equipo') + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna 25 prestamos de un usuario dependiendo de la página en la que se encuentra el operador y sus filtros.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Id del equipo.', name: 'id_equipo', @@ -234,10 +261,12 @@ export class PrestamoController { @Serealize(PrestamosUsuarioOutputDto) @Get('historial-usuario') + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna 25 prestamos de un equipo dependiendo de la página en la que se encuentra el operador y sus filtros.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Id del usuario.', name: 'id_usuario', @@ -257,7 +286,9 @@ export class PrestamoController { @Serealize(PrestamoOutputDto) @Post() + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que crea un prestamo nuevo.' }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Todas las variables a excepción de id_programa y id_tipo_entrada son obligatorios.', @@ -285,7 +316,9 @@ export class PrestamoController { @Serealize(PrestamoOutputDto) @Get('prestamo-id-prestamo') + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna un préstamo por su id.' }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Id del préstamo.', name: 'id_prestamo', @@ -297,10 +330,12 @@ export class PrestamoController { @Serealize(PrestamoOutputDto) @Get('prestamo-id-usuario') + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna un préstamo activo por el id del usuario.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Id del usuario.', name: 'id_usuario', @@ -312,10 +347,12 @@ export class PrestamoController { @Serealize(PrestamoEquipoOutputDto) @Get('prestamo-numero-inventario') + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna un préstamo activo por el número de inventario de un equipo.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Id de la institución.', name: 'id_institucion', @@ -334,7 +371,9 @@ export class PrestamoController { } @Put('regresar-id-prestamo') + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que desactiva un préstamo.' }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Ambas variables son obligatorias.', examples: { @@ -358,7 +397,9 @@ export class PrestamoController { } @Put('regresar-numero-inventario') + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que desactiva un préstamo.' }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Ambas variables son obligatorias.', examples: { @@ -382,5 +423,7 @@ export class PrestamoController { } // @Get('reporte') + // @UseGuards(AuthGuard('jwt')) + // @ApiBearerAuth('jwt') // reporte() {} } diff --git a/src/prestamo/prestamo.module.ts b/src/prestamo/prestamo.module.ts index 05e94a8..aa849d5 100644 --- a/src/prestamo/prestamo.module.ts +++ b/src/prestamo/prestamo.module.ts @@ -1,4 +1,5 @@ import { forwardRef, Module } from '@nestjs/common'; +import { PassportModule } from '@nestjs/passport'; import { TypeOrmModule } from '@nestjs/typeorm'; import { AppGateway } from '../app.gateway'; import { PrestamoController } from './prestamo.controller'; @@ -26,6 +27,7 @@ import { UsuarioModule } from '../usuario/usuario.module'; ModuloModule, forwardRef(() => MultaModule), OperadorModule, + PassportModule.register({ defaultStrategy: 'jwt' }), TypeOrmModule.forFeature([Prestamo]), TipoUsuarioModule, UsuarioModule, diff --git a/src/status/status.controller.ts b/src/status/status.controller.ts index c3e46df..ca42f83 100644 --- a/src/status/status.controller.ts +++ b/src/status/status.controller.ts @@ -1,6 +1,6 @@ import { Controller, Get, UseGuards } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; -import { ApiOperation, ApiTags } from '@nestjs/swagger'; +import { ApiBearerAuth, ApiOperation, ApiTags } from '@nestjs/swagger'; import { Serealize } from '../interceptors/serialize.interceptor'; import { StatusService } from './status.service'; import { StatusOutputDto } from './dto/output/status.dto'; @@ -12,8 +12,9 @@ export class StatusController { @Serealize(StatusOutputDto) @Get() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna todos los status.' }) + @ApiBearerAuth('jwt') get() { return this.statusService.findAll(); } diff --git a/src/status/status.module.ts b/src/status/status.module.ts index 50f3a01..5b49c0d 100644 --- a/src/status/status.module.ts +++ b/src/status/status.module.ts @@ -1,11 +1,15 @@ import { Module } from '@nestjs/common'; +import { PassportModule } from '@nestjs/passport'; import { TypeOrmModule } from '@nestjs/typeorm'; import { StatusController } from './status.controller'; import { StatusService } from './status.service'; import { Status } from './entity/status.entity'; @Module({ - imports: [TypeOrmModule.forFeature([Status])], + imports: [ + TypeOrmModule.forFeature([Status]), + PassportModule.register({ defaultStrategy: 'jwt' }), + ], controllers: [StatusController], providers: [StatusService], exports: [StatusService], diff --git a/src/tipo-usuario/tipo-usuario.controller.ts b/src/tipo-usuario/tipo-usuario.controller.ts index 5e402b9..bfae631 100644 --- a/src/tipo-usuario/tipo-usuario.controller.ts +++ b/src/tipo-usuario/tipo-usuario.controller.ts @@ -1,6 +1,6 @@ import { Body, Controller, Get, Post, UseGuards } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; -import { ApiBody, ApiOperation, ApiTags } from '@nestjs/swagger'; +import { ApiBearerAuth, ApiBody, ApiOperation, ApiTags } from '@nestjs/swagger'; import { Serealize } from '../interceptors/serialize.interceptor'; import { TipoUsuarioService } from './tipo-usuario.service'; import { CreateTipoUsuarioDto } from './dto/input/create.dto'; @@ -12,8 +12,9 @@ export class TipoUsuarioController { constructor(private tipoUsuarioService: TipoUsuarioService) {} @Post() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que crea un nuevo tipo de usuario.' }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Es obligatorio mandar el campo tipo_usuario.', examples: { ejemplo: { value: { tipo_usuario: '' } } }, @@ -24,21 +25,23 @@ export class TipoUsuarioController { @Serealize(TipoUsuarioOutputDto) @Get() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna todos los tipos de usuario.', }) + @ApiBearerAuth('jwt') get() { return this.tipoUsuarioService.findAll(); } @Serealize(TipoUsuarioOutputDto) @Get('operador') - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna todos los tipos de usuario que debe ver un operador.', }) + @ApiBearerAuth('jwt') operador() { return this.tipoUsuarioService.findAll('operador'); } diff --git a/src/tipo-usuario/tipo-usuario.module.ts b/src/tipo-usuario/tipo-usuario.module.ts index 75b7c29..f5c0928 100644 --- a/src/tipo-usuario/tipo-usuario.module.ts +++ b/src/tipo-usuario/tipo-usuario.module.ts @@ -1,11 +1,15 @@ import { Module } from '@nestjs/common'; +import { PassportModule } from '@nestjs/passport'; import { TypeOrmModule } from '@nestjs/typeorm'; import { TipoUsuarioController } from './tipo-usuario.controller'; import { TipoUsuarioService } from './tipo-usuario.service'; import { TipoUsuario } from './entity/tipo-usuario.entity'; @Module({ - imports: [TypeOrmModule.forFeature([TipoUsuario])], + imports: [ + PassportModule.register({ defaultStrategy: 'jwt' }), + TypeOrmModule.forFeature([TipoUsuario]), + ], controllers: [TipoUsuarioController], providers: [TipoUsuarioService], exports: [TipoUsuarioService], diff --git a/src/upload-file/upload-file.module.ts b/src/upload-file/upload-file.module.ts index 0b0b0e0..5b89df7 100644 --- a/src/upload-file/upload-file.module.ts +++ b/src/upload-file/upload-file.module.ts @@ -1,4 +1,5 @@ import { ConflictException, Module } from '@nestjs/common'; +import { PassportModule } from '@nestjs/passport'; import { MulterModule } from '@nestjs/platform-express'; import { UploadFileController } from './upload-file.controller'; import { UploadFileService } from './upload-file.service'; @@ -40,6 +41,7 @@ import { UsuarioModule } from '../usuario/usuario.module'; return cb(null, true); }, }), + PassportModule.register({ defaultStrategy: 'jwt' }), TipoUsuarioModule, UsuarioModule, ], diff --git a/src/usuario/usuario.controller.ts b/src/usuario/usuario.controller.ts index 82a396a..453b4f4 100644 --- a/src/usuario/usuario.controller.ts +++ b/src/usuario/usuario.controller.ts @@ -8,7 +8,13 @@ import { UseGuards, } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; -import { ApiBody, ApiOperation, ApiQuery, ApiTags } from '@nestjs/swagger'; +import { + ApiBearerAuth, + ApiBody, + ApiOperation, + ApiQuery, + ApiTags, +} from '@nestjs/swagger'; import { Serealize } from '../interceptors/serialize.interceptor'; import { UsuarioService } from './usuario.service'; import { DgaeInputDto } from './dto/input/dgae.dto'; @@ -87,10 +93,11 @@ export class UsuarioController { } @Put() - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Enpoint que actualiza la información de un usuario.', }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Todas las variables a excepción de id_usuario son opcionales.', @@ -111,10 +118,11 @@ export class UsuarioController { } @Put('update-password') - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Enpoint que envía una nueva password al correo del usuario.', }) + @ApiBearerAuth('jwt') @ApiBody({ description: 'Es obligatorio enviar el campo id_usuario.', examples: { ejemplo: { value: { id_usuario: 1 } } }, @@ -125,10 +133,11 @@ export class UsuarioController { @Serealize(UsuarioOutputDto) @Get('usuario') - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Enpoint que retorna la información de un usuario.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'El número de cuenta que se quiere buscar.', name: 'usuario', @@ -140,11 +149,12 @@ export class UsuarioController { @Serealize(UsuariosOutputDto) @Get('usuarios') - // @UseGuards(AuthGuard('jwt')) + @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que retorna 25 usuarios dependiendo de la página en la que se encuentra el usuario y sus filtros.', }) + @ApiBearerAuth('jwt') @ApiQuery({ description: 'Página en la que se encuentra el usuario.', name: 'pagina',