diff --git a/src/movimiento/movimiento.controller.ts b/src/movimiento/movimiento.controller.ts new file mode 100644 index 0000000..5af90a0 --- /dev/null +++ b/src/movimiento/movimiento.controller.ts @@ -0,0 +1,21 @@ +// src/movimiento/movimiento.controller.ts +import { Controller, Get, UseGuards } from '@nestjs/common'; +import { MovimientoService } from './movimiento.service'; +import { Movimiento } from '../entities/entities'; +import { AuthGuard } from '@nestjs/passport'; +import { ApiTags, ApiBearerAuth, ApiOperation, ApiResponse } from '@nestjs/swagger'; + +@ApiTags('Movimientos') +@ApiBearerAuth('bearer') +@UseGuards(AuthGuard('jwt')) +@Controller('movimientos') +export class MovimientoController { + constructor(private readonly movimientoService: MovimientoService) {} + + @Get() + @ApiOperation({ summary: 'Listar movimientos', description: 'Obtiene todos los registros de movimientos con usuario y origen.' }) + @ApiResponse({ status: 200, description: 'Listado de movimientos', type: Movimiento, isArray: true }) + async findAll(): Promise { + return this.movimientoService.findAll(); + } +} diff --git a/src/movimiento/movimiento.module.ts b/src/movimiento/movimiento.module.ts index 7275540..55692d9 100644 --- a/src/movimiento/movimiento.module.ts +++ b/src/movimiento/movimiento.module.ts @@ -3,10 +3,13 @@ import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; import { MovimientoService } from './movimiento.service'; import { Movimiento, Origen } from '../entities/entities'; +import { MovimientoController } from './movimiento.controller'; @Module({ imports: [TypeOrmModule.forFeature([Movimiento, Origen])], providers: [MovimientoService], + controllers: [MovimientoController], + exports: [MovimientoService], }) export class MovimientoModule {} diff --git a/src/movimiento/movimiento.service.ts b/src/movimiento/movimiento.service.ts index e6f772f..33a9c83 100644 --- a/src/movimiento/movimiento.service.ts +++ b/src/movimiento/movimiento.service.ts @@ -36,4 +36,17 @@ export class MovimientoService { origen: { id_origen: origin.id_origen }, }); } + + + + + /** Devuelve todos los movimientos con usuario y origen */ + async findAll(): Promise { + return this.movRepo.find({ + relations: [ 'origen'], + order: { fecha_mov: 'DESC' }, + }); + } + + }