import {
  Column,
  CreateDateColumn,
  Entity,
  Index,
  PrimaryGeneratedColumn,
  UpdateDateColumn,
} from "typeorm";

export enum CatalogoVehicularTipo {
  MARCA = "marca",
  MODELO = "modelo",
  MOTOR = "motor",
  CILINDRAJE = "cilindraje",
}

@Entity("taller_catalogos_vehiculares")
export class CatalogoVehicular {
  @PrimaryGeneratedColumn()
  id: number;

  @Column({ type: "enum", enum: CatalogoVehicularTipo })
  @Index()
  tipo: CatalogoVehicularTipo;

  @Column({ length: 120 })
  @Index()
  nombre: string;

  @Column({ length: 120, nullable: true })
  @Index()
  marca: string;

  @Column({ length: 120, nullable: true })
  @Index()
  modelo: string;

  @Column({ length: 120, nullable: true })
  motor: string;

  @Column({ type: "int", nullable: true })
  @Index()
  tipoVehiculoId: number | null;

  @Column({ default: true })
  @Index()
  activo: boolean;

  @CreateDateColumn({ name: "created_at" })
  createdAt: Date;

  @UpdateDateColumn({ name: "updated_at" })
  updatedAt: Date;
}
