From 3411737e6dacf5753d6c86541de2b6f18d4e9614 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 18 Jun 2025 16:59:33 -0600 Subject: [PATCH] obtener movimientos de la tabla sql --- src/movimiento/movimiento.controller.ts | 21 +++++++++++++++++++++ src/movimiento/movimiento.module.ts | 3 +++ src/movimiento/movimiento.service.ts | 13 +++++++++++++ 3 files changed, 37 insertions(+) create mode 100644 src/movimiento/movimiento.controller.ts 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' }, + }); + } + + }