This commit is contained in:
2025-10-21 15:07:59 -06:00
parent ce2c283778
commit 2cafeaff0b
21 changed files with 619 additions and 37 deletions
+1
View File
@@ -0,0 +1 @@
export class CreateEquipoDto {}
+4
View File
@@ -0,0 +1,4 @@
import { PartialType } from '@nestjs/mapped-types';
import { CreateEquipoDto } from './create-equipo.dto';
export class UpdateEquipoDto extends PartialType(CreateEquipoDto) {}
+85
View File
@@ -0,0 +1,85 @@
import { Column, Entity, OneToMany, PrimaryGeneratedColumn } from 'typeorm';
import { Equipo } from './equipo.entity';
@Entity()
export class Uso {
@PrimaryGeneratedColumn()
id_tipo_uso: number;
@Column()
tipo_uso: string;
@OneToMany(() => Equipo, (equipo) => equipo.tipoUso)
equipo: Equipo;
}
@Entity()
export class Marca {
@PrimaryGeneratedColumn()
id_marca: number;
@Column()
tipo_marca: string;
@OneToMany(() => Equipo, (equipo) => equipo.marca)
equipo: Equipo;
}
@Entity()
export class Estado {
@PrimaryGeneratedColumn()
id_estado: number;
@Column()
estado: string;
@OneToMany(() => Equipo, (equipo) => equipo.estado)
equipo: Equipo;
}
@Entity()
export class Adscripcion {
@PrimaryGeneratedColumn()
id_adscripcion: number;
@Column()
adscripcion: string;
@OneToMany(() => Equipo, (equipo) => equipo.adscripcion)
equipo: Equipo;
}
@Entity()
export class TipoEquipo {
@PrimaryGeneratedColumn()
id_tipo_de_equipo: number;
@Column()
tipo_equipo: string;
@OneToMany(() => Equipo, (equipo) => equipo.tipoEquipo)
equipo: Equipo;
}
@Entity()
export class SistemaOperativo {
@PrimaryGeneratedColumn()
id_sistema_operativo: number;
@Column()
sistema_operativo: string;
@OneToMany(() => Equipo, (equipo) => equipo.sistemaOperativo)
equipo: Equipo;
}
@Entity()
export class Procesador {
@PrimaryGeneratedColumn()
id_procesador: number;
@Column()
procesador: string;
@OneToMany(() => Equipo, (equipo) => equipo.procesador)
equipo: Equipo;
}
+65
View File
@@ -0,0 +1,65 @@
import {
Column,
Entity,
ManyToOne,
OneToMany,
PrimaryGeneratedColumn,
} from 'typeorm';
import { Adscripcion, Estado, Marca, Procesador, SistemaOperativo, TipoEquipo, Uso } from './catalogo.entities';
@Entity()
export class Equipo {
@PrimaryGeneratedColumn()
id_equipo: number;
@Column({ length: 100, nullable: true })
inventario: string;
@Column({ length: 100, nullable: true })
serie: string;
@ManyToOne(() => Estado, (estado) => estado.equipo)
estado: Estado;
@ManyToOne(() => Adscripcion, (adscripcion) => adscripcion.equipo)
adscripcion: Adscripcion;
@Column({ length: 100, nullable: true })
lugar: string;
@ManyToOne(() => TipoEquipo, (tipoEquipo) => tipoEquipo.equipo)
tipoEquipo: TipoEquipo;
@ManyToOne(
() => SistemaOperativo,
(sistemaOperativo) => sistemaOperativo.equipo,
)
sistemaOperativo: SistemaOperativo;
@ManyToOne(() => Procesador, (procesador) => procesador.equipo)
procesador: Procesador;
@ManyToOne(() => Uso, (tipoUso) => tipoUso.equipo)
tipoUso: Uso;
@Column({ name: 'fecha_factura' })
fechaFactura: Date;
@Column({ length: 100, nullable: true })
antiguedad: string;
@Column({ length: 100, nullable: true })
modelo: string;
@ManyToOne(() => Marca, (marca) => marca.equipo)
marca: Marca;
@OneToMany(() => Equipo, (equipo) => equipo.marca)
equipo: Equipo;
}
}
+20
View File
@@ -0,0 +1,20 @@
import { Test, TestingModule } from '@nestjs/testing';
import { EquipoController } from './equipo.controller';
import { EquipoService } from './equipo.service';
describe('EquipoController', () => {
let controller: EquipoController;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
controllers: [EquipoController],
providers: [EquipoService],
}).compile();
controller = module.get<EquipoController>(EquipoController);
});
it('should be defined', () => {
expect(controller).toBeDefined();
});
});
+34
View File
@@ -0,0 +1,34 @@
import { Controller, Get, Post, Body, Patch, Param, Delete } from '@nestjs/common';
import { EquipoService } from './equipo.service';
import { CreateEquipoDto } from './dto/create-equipo.dto';
import { UpdateEquipoDto } from './dto/update-equipo.dto';
@Controller('equipo')
export class EquipoController {
constructor(private readonly equipoService: EquipoService) {}
@Post()
create(@Body() createEquipoDto: CreateEquipoDto) {
return this.equipoService.create(createEquipoDto);
}
@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);
}
}
+9
View File
@@ -0,0 +1,9 @@
import { Module } from '@nestjs/common';
import { EquipoService } from './equipo.service';
import { EquipoController } from './equipo.controller';
@Module({
controllers: [EquipoController],
providers: [EquipoService],
})
export class EquipoModule {}
+18
View File
@@ -0,0 +1,18 @@
import { Test, TestingModule } from '@nestjs/testing';
import { EquipoService } from './equipo.service';
describe('EquipoService', () => {
let service: EquipoService;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [EquipoService],
}).compile();
service = module.get<EquipoService>(EquipoService);
});
it('should be defined', () => {
expect(service).toBeDefined();
});
});
+26
View File
@@ -0,0 +1,26 @@
import { Injectable } from '@nestjs/common';
import { CreateEquipoDto } from './dto/create-equipo.dto';
import { UpdateEquipoDto } from './dto/update-equipo.dto';
@Injectable()
export class EquipoService {
create(createEquipoDto: CreateEquipoDto) {
return 'This action adds a new equipo';
}
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`;
}
remove(id: number) {
return `This action removes a #${id} equipo`;
}
}