2025-10-24 14:37:59 -06:00
|
|
|
import {
|
|
|
|
|
Controller,
|
|
|
|
|
Body,
|
|
|
|
|
Patch,
|
|
|
|
|
Param,
|
|
|
|
|
ParseIntPipe,
|
|
|
|
|
UseGuards,
|
|
|
|
|
Get,
|
|
|
|
|
Query,
|
2025-10-29 13:55:11 -06:00
|
|
|
Post,
|
2025-11-05 10:43:08 -06:00
|
|
|
Res,
|
2025-11-07 12:05:38 -06:00
|
|
|
Request,
|
2025-11-10 10:58:11 -06:00
|
|
|
BadRequestException,
|
2025-10-24 14:37:59 -06:00
|
|
|
} from '@nestjs/common';
|
2025-10-21 15:07:59 -06:00
|
|
|
import { EquipoService } from './equipo.service';
|
|
|
|
|
import { UpdateEquipoDto } from './dto/update-equipo.dto';
|
2025-10-22 13:53:49 -06:00
|
|
|
import { AuthGuard } from '@nestjs/passport';
|
2025-10-29 13:55:11 -06:00
|
|
|
import { Equipo } from './entities/equipo.entity';
|
|
|
|
|
import { CreateEquipoDto } from './dto/create-equipo.dto';
|
2025-11-05 10:43:08 -06:00
|
|
|
import type { Response } from 'express';
|
2025-10-21 15:07:59 -06:00
|
|
|
|
2025-10-23 11:16:16 -06:00
|
|
|
@Controller('equipos')
|
2025-10-21 15:07:59 -06:00
|
|
|
export class EquipoController {
|
2025-11-10 10:58:11 -06:00
|
|
|
constructor(private readonly equipoService: EquipoService) { }
|
2025-10-24 14:37:59 -06:00
|
|
|
@UseGuards(AuthGuard('jwt'))
|
2025-10-23 11:16:16 -06:00
|
|
|
@Get('buscar')
|
|
|
|
|
async buscarEquipos(
|
|
|
|
|
@Query() filtros: any,
|
|
|
|
|
@Query('page') page: number = 1,
|
|
|
|
|
@Query('limit') limit: number = 10,
|
|
|
|
|
) {
|
|
|
|
|
return this.equipoService.buscarEquipos(filtros, +page, +limit);
|
2025-10-21 15:07:59 -06:00
|
|
|
}
|
2025-11-07 12:05:50 -06:00
|
|
|
@UseGuards(AuthGuard('jwt'))
|
2025-10-29 08:51:21 -06:00
|
|
|
@Get('buscar/:inv')
|
2025-11-07 12:05:50 -06:00
|
|
|
async serch(@Param('inv') inv: string) {
|
|
|
|
|
return await this.equipoService.findEquipo(inv);
|
2025-10-29 08:51:21 -06:00
|
|
|
}
|
|
|
|
|
|
2025-10-29 13:55:11 -06:00
|
|
|
@UseGuards(AuthGuard('jwt'))
|
|
|
|
|
@Post('crear')
|
2025-11-07 12:05:50 -06:00
|
|
|
async create(@Body() Equipo: CreateEquipoDto) {
|
|
|
|
|
return await this.equipoService.create(Equipo);
|
2025-10-29 13:55:11 -06:00
|
|
|
}
|
2025-11-07 12:05:50 -06:00
|
|
|
@UseGuards(AuthGuard('jwt'))
|
2025-10-24 14:37:59 -06:00
|
|
|
@Patch('update/:id')
|
|
|
|
|
update(
|
2025-11-07 12:05:38 -06:00
|
|
|
@Request() req,
|
2025-10-24 14:37:59 -06:00
|
|
|
@Param('id', ParseIntPipe) id: number,
|
|
|
|
|
@Body() equipoNuevo: UpdateEquipoDto,
|
|
|
|
|
) {
|
2025-11-07 13:23:56 -06:00
|
|
|
return this.equipoService.updateEquipo(equipoNuevo, id, req.user.id);
|
2025-10-21 15:07:59 -06:00
|
|
|
}
|
|
|
|
|
|
2025-10-24 14:37:59 -06:00
|
|
|
@UseGuards(AuthGuard('jwt'))
|
2025-10-24 13:43:00 -06:00
|
|
|
@Get('usos')
|
|
|
|
|
findUsos() {
|
|
|
|
|
return this.equipoService.findAllUsos();
|
|
|
|
|
}
|
2025-10-24 14:37:59 -06:00
|
|
|
|
|
|
|
|
@UseGuards(AuthGuard('jwt'))
|
2025-10-24 13:43:00 -06:00
|
|
|
@Get('marcas')
|
|
|
|
|
findMarcas() {
|
|
|
|
|
return this.equipoService.findAllMarcas();
|
|
|
|
|
}
|
2025-10-30 10:08:23 -06:00
|
|
|
|
2025-10-24 14:37:59 -06:00
|
|
|
@UseGuards(AuthGuard('jwt'))
|
2025-10-24 13:43:00 -06:00
|
|
|
@Get('estados')
|
|
|
|
|
findEstados() {
|
|
|
|
|
return this.equipoService.findAllEstados();
|
|
|
|
|
}
|
2025-10-30 10:08:23 -06:00
|
|
|
|
2025-10-24 14:37:59 -06:00
|
|
|
@UseGuards(AuthGuard('jwt'))
|
2025-10-24 13:43:00 -06:00
|
|
|
@Get('adscripciones')
|
|
|
|
|
findAdscripciones() {
|
|
|
|
|
return this.equipoService.findAllAdscripciones();
|
|
|
|
|
}
|
2025-10-24 14:37:59 -06:00
|
|
|
@UseGuards(AuthGuard('jwt'))
|
2025-10-24 13:43:00 -06:00
|
|
|
@Get('tipos-equipo')
|
|
|
|
|
findTiposEquipo() {
|
|
|
|
|
return this.equipoService.findAllTiposEquipo();
|
|
|
|
|
}
|
2025-10-24 14:37:59 -06:00
|
|
|
@UseGuards(AuthGuard('jwt'))
|
2025-10-24 13:43:00 -06:00
|
|
|
@Get('sistemas-operativos')
|
|
|
|
|
findSistemasOperativos() {
|
|
|
|
|
return this.equipoService.findAllSistemasOperativos();
|
|
|
|
|
}
|
2025-10-24 14:37:59 -06:00
|
|
|
@UseGuards(AuthGuard('jwt'))
|
2025-10-24 13:43:00 -06:00
|
|
|
@Get('procesadores')
|
|
|
|
|
findProcesadores() {
|
|
|
|
|
return this.equipoService.findAllProcesadores();
|
|
|
|
|
}
|
2025-10-30 10:08:23 -06:00
|
|
|
|
|
|
|
|
@UseGuards(AuthGuard('jwt'))
|
|
|
|
|
@Get('perifericos')
|
|
|
|
|
findPerifericos() {
|
2025-10-31 09:56:01 -06:00
|
|
|
return this.equipoService.findAllPerifericos();
|
2025-10-30 10:08:23 -06:00
|
|
|
}
|
2025-10-31 12:11:12 -06:00
|
|
|
|
|
|
|
|
@UseGuards(AuthGuard('jwt'))
|
|
|
|
|
@Get('procesador-tipo-equipos')
|
|
|
|
|
findProcesadorTipoEquipos() {
|
|
|
|
|
return this.equipoService.findAllProcesadorTipoEquipos();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@UseGuards(AuthGuard('jwt'))
|
|
|
|
|
@Get('procesador-tipo-equipos/:idEquipo')
|
|
|
|
|
findProcesadorforTipoEquipos(
|
|
|
|
|
@Param('idEquipo', ParseIntPipe) idEquipo: number,
|
|
|
|
|
) {
|
|
|
|
|
return this.equipoService.findAllProcesadorforTipoEquipos(idEquipo);
|
|
|
|
|
}
|
2025-11-05 10:43:08 -06:00
|
|
|
|
2025-11-05 11:09:19 -06:00
|
|
|
@UseGuards(AuthGuard('jwt'))
|
|
|
|
|
@Get('reporteXLSX')
|
2025-11-05 10:43:08 -06:00
|
|
|
async generarReporte(@Res() res: Response) {
|
|
|
|
|
try {
|
|
|
|
|
await this.equipoService.createEcxel(res);
|
|
|
|
|
} catch (error) {
|
|
|
|
|
console.error('Error al generar el Excel:', error);
|
|
|
|
|
res.status(500).send('Error al generar el archivo Excel');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2025-11-05 11:09:19 -06:00
|
|
|
@UseGuards(AuthGuard('jwt'))
|
|
|
|
|
@Get('reporte')
|
2025-11-10 10:58:11 -06:00
|
|
|
async reporte() {
|
2025-11-05 11:09:19 -06:00
|
|
|
try {
|
2025-11-10 10:58:11 -06:00
|
|
|
return await this.equipoService.generar_reporte();
|
2025-11-05 11:09:19 -06:00
|
|
|
} catch (error) {
|
2025-11-10 10:58:11 -06:00
|
|
|
throw new BadRequestException('Error al generar el Excel:', error);
|
2025-11-05 11:09:19 -06:00
|
|
|
}
|
|
|
|
|
}
|
2025-11-07 12:05:50 -06:00
|
|
|
@UseGuards(AuthGuard('jwt'))
|
2025-11-05 10:43:08 -06:00
|
|
|
@Post('example')
|
|
|
|
|
async generate() {
|
|
|
|
|
this.equipoService.example();
|
|
|
|
|
}
|
2025-10-21 15:07:59 -06:00
|
|
|
}
|