Files
Censo_api/src/equipo/entities/equipo.entity.ts
T
2025-11-11 13:59:10 -06:00

87 lines
2.0 KiB
TypeScript

import {
Column,
Entity,
JoinColumn,
ManyToOne,
OneToMany,
PrimaryGeneratedColumn,
} from 'typeorm';
import {
Adscripcion,
Estado,
Marca,
Periferico,
Procesador,
SistemaOperativo,
TipoEquipo,
Uso,
} from './catalogo.entities';
import { Movimiento } from 'src/movimiento/entities/movimiento.entity';
@Entity()
export class Equipo {
@PrimaryGeneratedColumn()
id_equipo: number;
//checar bien aqui si estoy bien
@Column({ type: 'varchar', length: 200, nullable: true })
inventario: string;
@Column({ type: 'varchar', length: 200, nullable: true })
serie: string;
@Column({ type: 'varchar', length: 200, nullable: true })
lugar: string;
@Column({ name: 'fecha_factura' })
fechaFactura: Date;
@Column({ type: 'varchar', length: 200, nullable: true })
antiguedad: string;
@Column({ type: 'varchar', length: 200, nullable: true })
modelo: string;
//Relaciones
@OneToMany(() => Movimiento, (mov) => mov.equipo)
mov: Movimiento[];
@JoinColumn({ name: 'id_estado' })
@ManyToOne(() => Estado, (estado) => estado.equipo)
estado: Estado;
@JoinColumn({ name: 'id_adscripcion' })
@ManyToOne(() => Adscripcion, (adscripcion) => adscripcion.equipo)
adscripcion: Adscripcion;
@JoinColumn({ name: 'id_sistema_operativo' })
@ManyToOne(
() => SistemaOperativo,
(sistemaOperativo) => sistemaOperativo.equipo,
)
sistemaOperativo: SistemaOperativo;
@JoinColumn({ name: 'id_tipo_equipo' })
@ManyToOne(() => TipoEquipo, (tipoEquipo) => tipoEquipo.equipo)
tipoEquipo: TipoEquipo;
@JoinColumn({ name: 'id_procesador' })
@ManyToOne(() => Procesador, (procesador) => procesador.equipo, {
nullable: true,
onDelete: 'SET NULL',
})
procesador: Procesador;
@JoinColumn({ name: 'id_uso' })
@ManyToOne(() => Uso, (tipoUso) => tipoUso.equipo)
tipoUso: Uso;
@JoinColumn({ name: 'id_marca' })
@ManyToOne(() => Marca, (marca) => marca.equipo)
marca: Marca;
@JoinColumn({ name: 'id_periferico' })
@ManyToOne(() => Periferico, (Periferico) => Periferico.equipo)
periferico: Periferico;
}