import {
  Column,
  Entity,
  OneToMany,
  PrimaryColumn,
  PrimaryGeneratedColumn,
} from 'typeorm';
import { Equipo } from './equipo.entity';

@Entity()
export class Uso {
  @PrimaryGeneratedColumn({ name: 'id_uso' })
  id_uso: number;

  @Column({ type: 'varchar', length: 100 })
  tipo_uso: string;
  @OneToMany(() => Equipo, (equipo) => equipo.tipoUso)
  equipo: Equipo[];
}

@Entity()
export class Laboratorio {
  @PrimaryGeneratedColumn()
  id_laboratorio: number;

  @Column({ type: 'varchar', length: 20 })
  laboratorio: string;

  @OneToMany(() => Equipo, (equipo) => equipo.laboratorio)
  equipo: Equipo[];
}

@Entity()
export class Proyecto {
  @PrimaryGeneratedColumn()
  id_proyecto: number;

  @Column({ type: 'varchar', length: 10 })
  proyecto: string;

  @OneToMany(() => Equipo, (equipo) => equipo.proyecto)
  equipo: Equipo[];
}

@Entity()
export class Marca {
  @PrimaryGeneratedColumn()
  id_marca: number;

  @Column({ type: 'varchar', length: 100 })
  marca: string;

  @OneToMany(() => Equipo, (equipo) => equipo.marca)
  equipo: Equipo[];
}

@Entity()
export class Estado {
  @PrimaryGeneratedColumn()
  id_estado: number;

  @Column({ type: 'varchar', length: 100 })
  estado: string;

  @OneToMany(() => Equipo, (equipo) => equipo.estado)
  equipo: Equipo[];
}

@Entity()
export class Adscripcion {
  @PrimaryColumn()
  id_adscripcion: number;

  @Column({ type: 'varchar', length: 300 })
  adscripcion: string;

  @OneToMany(() => Equipo, (equipo) => equipo.adscripcion)
  equipo: Equipo[];
}

@Entity()
export class TipoEquipo {
  @PrimaryGeneratedColumn()
  id_tipo_de_equipo: number;

  @Column({ type: 'varchar', length: 200 })
  tipo_equipo: string;

  @OneToMany(() => Equipo, (eqp) => eqp.tipoEquipo)
  equipo: Equipo[];
}

@Entity()
export class SistemaOperativo {
  @PrimaryGeneratedColumn()
  id_sistema_operativo: number;

  @Column({ type: 'varchar', length: 200 })
  sistema_operativo: string;

  @OneToMany(() => Equipo, (equipo) => equipo.sistemaOperativo)
  equipo: Equipo[];
}

@Entity()
export class Procesador {
  @PrimaryGeneratedColumn()
  id_procesador: number;

  @Column({ type: 'varchar', length: 200 })
  procesador: string;

  @OneToMany(() => Equipo, (equipo) => equipo.procesador)
  equipo: Equipo[];
}

@Entity()
export class Periferico {
  @PrimaryGeneratedColumn()
  id_periferico: number;

  @Column({ type: 'varchar', length: 100 })
  periferico: string;

  @OneToMany(() => Equipo, (equipo) => equipo.periferico)
  equipo: Equipo[];
}
