87 lines
2.0 KiB
TypeScript
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: 10, nullable: true })
|
|
inventario: string;
|
|
|
|
@Column({ type: 'varchar', length: 15, nullable: true })
|
|
serie: string;
|
|
|
|
@Column({ type: 'varchar', length: 200, nullable: true })
|
|
lugar: string;
|
|
|
|
@Column({ name: 'fecha_factura' })
|
|
fechaFactura: Date;
|
|
|
|
@Column({ type: 'varchar', length: 20, nullable: true })
|
|
antiguedad: string;
|
|
|
|
@Column({ type: 'varchar', length: 20, 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;
|
|
}
|