From 332575a8e17d0fd5e10f416a66a557670a7e096f Mon Sep 17 00:00:00 2001 From: Emilio Date: Wed, 29 Oct 2025 13:55:11 -0600 Subject: [PATCH] Se creo endpoint para crear equipos --- mariadb/aria_log.00000001 | Bin 4915200 -> 4923392 bytes mariadb/aria_log_control | Bin 52 -> 52 bytes src/equipo/dto/create-equipo.dto.ts | 41 ++++++++++++++++++++++++++- src/equipo/entities/equipo.entity.ts | 3 -- src/equipo/equipo.controller.ts | 9 ++++++ src/equipo/equipo.service.ts | 21 ++++++++++++++ 6 files changed, 70 insertions(+), 4 deletions(-) diff --git a/mariadb/aria_log.00000001 b/mariadb/aria_log.00000001 index 79f42a4fc484ec28f81e3fdf73e82867babeb88e..5e7e9763ec7b9c975ad6f2e58232ec4ecde0278e 100644 GIT binary patch delta 3725 zcmZA3S!_&U7{>AGbej$x)#{ioMq5=?Rk|pux{RtCd+oIswbx#IJ9yL@7a}GR5fKp) z5ky2>h`10D#9E1nh=_=YrS_tnI7$0YPjYVF-+9jae0QJEcgE_wX1ofJRe=gputF3n zo5EyQJGEE19O|G5byTFH)Jf5Dsd?RhOTf8uhR%U^fLYY(q#85-aEi#;}{`GW(T2lxZtL`9o$m0$(D zB?JPTAJHWU;2{J9stF;0!-P=44T25ONC*SCKcST!;3c#J)DYSOjuXNGcL@$a6QKhj zr4g+n0Of>^fLcN%;4~o$&_L(}uztq!Xg~(R38)}+2GkQ=fD42ez;i+@!2SiT;sCjX zct9ng3t&IN4Y)$+3V2OO07QO8t3*HnAqlXU&<${ikPNs^=ni;KNCCutL#rNuQbHKA`Aq~B;*115C#D*5%K{q34;NSCbTL5fa8QwfV+gz zfF{BiK*}Gq8Ve{Vj04mX$^oYd;{gqX2>@#|mQMs^5GDaC2$KQzgeiavgsFh%gbIND zFIr6lDhV?H`w24vR|vCOA@Vh0w$)-W&f+VMGp|zdmJzL&v^lLQM;W0Ku!b<# zgk$%OYaHkE5V%d45BNc-0wf2Z)B+R6J}_2rz7T=UghhZ;gvEeIgeCvs&_iQ`6`Pmh z`*gxGz!X9?K!oKcoNK#c1p?0)SP8HNqSPut4q>$kvmY6!;Cu}N`v_|RmkBk1SA=yY zL_9WD1fkP<1o8GO6gMh1okc5enC#n8h9Bp4U~V0;Ay delta 27 fcmXppnII>2|HZ2WMh1pQ@4Og*6vJN-!N33jf@KF- diff --git a/src/equipo/dto/create-equipo.dto.ts b/src/equipo/dto/create-equipo.dto.ts index 6b2a034..6190df3 100644 --- a/src/equipo/dto/create-equipo.dto.ts +++ b/src/equipo/dto/create-equipo.dto.ts @@ -1,3 +1,42 @@ +import { IsString, IsOptional, IsDateString, IsInt } from 'class-validator'; + export class CreateEquipoDto { - + @IsString() + inventario: string; + + @IsString() + serie: string; + + @IsString() + lugar: string; + + @IsDateString() + fechaFactura: Date; + + @IsString() + antiguedad: string; + + @IsString() + modelo: string; + + @IsInt() + id_estado: number; + + @IsInt() + id_adscripcion: number; + + @IsInt() + id_tipo_equipo: number; + + @IsInt() + id_sistema_operativo: number; + + @IsInt() + id_procesador: number; + + @IsInt() + id_uso: number; + + @IsInt() + id_marca: number; } diff --git a/src/equipo/entities/equipo.entity.ts b/src/equipo/entities/equipo.entity.ts index 2dd9f8f..b856799 100644 --- a/src/equipo/entities/equipo.entity.ts +++ b/src/equipo/entities/equipo.entity.ts @@ -75,7 +75,4 @@ export class Equipo { @JoinColumn({ name: 'id_marca' }) @ManyToOne(() => Marca, (marca) => marca.equipo) marca: Marca; - - @OneToMany(() => Equipo, (equipo) => equipo.marca) - equipo: Equipo[]; } diff --git a/src/equipo/equipo.controller.ts b/src/equipo/equipo.controller.ts index 886499f..430f2de 100644 --- a/src/equipo/equipo.controller.ts +++ b/src/equipo/equipo.controller.ts @@ -7,10 +7,13 @@ import { UseGuards, Get, Query, + Post, } from '@nestjs/common'; import { EquipoService } from './equipo.service'; import { UpdateEquipoDto } from './dto/update-equipo.dto'; import { AuthGuard } from '@nestjs/passport'; +import { Equipo } from './entities/equipo.entity'; +import { CreateEquipoDto } from './dto/create-equipo.dto'; @Controller('equipos') export class EquipoController { @@ -31,6 +34,12 @@ export class EquipoController { return this.equipoService.findEquipo(inv); } + @UseGuards(AuthGuard('jwt')) + @Post('crear') + create(@Body() Equipo: CreateEquipoDto) { + return this.equipoService.create(Equipo); + } + @UseGuards(AuthGuard('jwt')) @Patch('update/:id') update( diff --git a/src/equipo/equipo.service.ts b/src/equipo/equipo.service.ts index c722180..5755257 100644 --- a/src/equipo/equipo.service.ts +++ b/src/equipo/equipo.service.ts @@ -14,6 +14,7 @@ import { Uso, } from './entities/catalogo.entities'; import { response } from 'express'; +import { CreateEquipoDto } from './dto/create-equipo.dto'; @Injectable() export class EquipoService { @@ -221,4 +222,24 @@ export class EquipoService { const response = await axios.post(url, entrada); return response.data; } + + create(equipo: CreateEquipoDto) { + const nuevoEquipo = this.equipoRepository.create({ + inventario: equipo.inventario, + serie: equipo.serie, + lugar: equipo.lugar, + fechaFactura: equipo.fechaFactura, + antiguedad: equipo.antiguedad, + modelo: equipo.modelo, + estado: { id_estado: equipo.id_estado }, + adscripcion: { id_adscripcion: equipo.id_adscripcion }, + tipoEquipo: { id_tipo_de_equipo: equipo.id_tipo_equipo }, + sistemaOperativo: { id_sistema_operativo: equipo.id_sistema_operativo }, + procesador: { id_procesador: equipo.id_procesador }, + tipoUso: { id_tipo_uso: equipo.id_uso }, + marca: { id_marca: equipo.id_marca }, + }); + + return this.equipoRepository.save(nuevoEquipo); + } }