update equipo

This commit is contained in:
Drakthor475
2025-10-22 13:53:49 -06:00
parent be27c3d9da
commit 4134c487eb
5 changed files with 73 additions and 46 deletions
+3 -1
View File
@@ -1 +1,3 @@
export class CreateEquipoDto {}
export class CreateEquipoDto {
}
+35 -1
View File
@@ -1,4 +1,38 @@
import { PartialType } from '@nestjs/mapped-types';
import { CreateEquipoDto } from './create-equipo.dto';
import { IsInt, IsOptional, IsString } from 'class-validator';
export class UpdateEquipoDto extends PartialType(CreateEquipoDto) {}
export class UpdateEquipoDto extends PartialType(CreateEquipoDto) {
@IsInt()
@IsOptional()
id_estado?:number
@IsInt()
@IsOptional()
id_adscripcion?: number;
@IsString()
@IsOptional()
lugar?: string;
@IsInt()
@IsOptional()
id_sistema_operativo?: number;
@IsInt()
@IsOptional()
id_procesador?: number;
@IsInt()
@IsOptional()
id_tipo_uso?: number;
@IsString()
@IsOptional()
modelo?: string;
@IsInt()
@IsOptional()
id_marca?: number;
}
+2 -5
View File
@@ -34,10 +34,7 @@ export class Equipo {
@ManyToOne(() => TipoEquipo, (tipoEquipo) => tipoEquipo.equipo)
tipoEquipo: TipoEquipo;
@ManyToOne(
() => SistemaOperativo,
(sistemaOperativo) => sistemaOperativo.equipo,
)
@ManyToOne(() => SistemaOperativo,(sistemaOperativo) => sistemaOperativo.equipo)
sistemaOperativo: SistemaOperativo;
@ManyToOne(() => Procesador, (procesador) => procesador.equipo)
@@ -66,4 +63,4 @@ export class Equipo {
}
}
+6 -24
View File
@@ -1,34 +1,16 @@
import { Controller, Get, Post, Body, Patch, Param, Delete } from '@nestjs/common';
import { Controller, Body, Patch, Param, ParseIntPipe, UseGuards } from '@nestjs/common';
import { EquipoService } from './equipo.service';
import { CreateEquipoDto } from './dto/create-equipo.dto';
import { UpdateEquipoDto } from './dto/update-equipo.dto';
import { AuthGuard } from '@nestjs/passport';
@Controller('equipo')
export class EquipoController {
constructor(private readonly equipoService: EquipoService) {}
@Post()
create(@Body() createEquipoDto: CreateEquipoDto) {
return this.equipoService.create(createEquipoDto);
@UseGuards(AuthGuard("jwt"))
@Patch("update/:id")
update(@Param('id', ParseIntPipe) id:number, @Body() equipoNuevo: UpdateEquipoDto) {
return this.equipoService.updateEquipo( equipoNuevo,id);
}
@Get()
findAll() {
return this.equipoService.findAll();
}
@Get(':id')
findOne(@Param('id') id: string) {
return this.equipoService.findOne(+id);
}
@Patch(':id')
update(@Param('id') id: string, @Body() updateEquipoDto: UpdateEquipoDto) {
return this.equipoService.update(+id, updateEquipoDto);
}
@Delete(':id')
remove(@Param('id') id: string) {
return this.equipoService.remove(+id);
}
}
+27 -15
View File
@@ -1,26 +1,38 @@
import { Injectable } from '@nestjs/common';
import { CreateEquipoDto } from './dto/create-equipo.dto';
import { UpdateEquipoDto } from './dto/update-equipo.dto';
import { InjectRepository } from '@nestjs/typeorm';
import { Equipo } from './entities/equipo.entity';
import { Repository } from 'typeorm';
@Injectable()
export class EquipoService {
create(createEquipoDto: CreateEquipoDto) {
return 'This action adds a new equipo';
}
constructor(
@InjectRepository(Equipo)
private readonly equipoRepository: Repository <Equipo>
){}
async updateEquipo(equipoNuevo:UpdateEquipoDto,id_equipo:number){
const updateData={
lugar: equipoNuevo.lugar,
modelo: equipoNuevo.modelo,
estado: equipoNuevo.id_estado ? { id_estado: equipoNuevo.id_estado } : undefined,
adscripcion: equipoNuevo.id_adscripcion ? { id_adscripcion: equipoNuevo.id_adscripcion } : undefined,
sistemaOperativo: equipoNuevo.id_sistema_operativo ? { id_sistema_operativo: equipoNuevo.id_sistema_operativo } : undefined,
procesador: equipoNuevo.id_procesador ? { id_procesador: equipoNuevo.id_procesador } : undefined,
tipoUso: equipoNuevo.id_tipo_uso ? { id_tipo_uso: equipoNuevo.id_tipo_uso } : undefined,
marca: equipoNuevo.id_marca ? { id_marca: equipoNuevo.id_marca } : undefined,
};
findAll() {
return `This action returns all equipo`;
}
findOne(id: number) {
return `This action returns a #${id} equipo`;
}
update(id: number, updateEquipoDto: UpdateEquipoDto) {
return `This action updates a #${id} equipo`;
}
const equipoUpdate=await this.equipoRepository.preload(updateData);
if(!equipoUpdate){
throw new Error(`No se encontró el equipo con id ${id_equipo}`);
remove(id: number) {
return `This action removes a #${id} equipo`;
}
return await this.equipoRepository.save(equipoUpdate);
}
}