import {
  Column,
  CreateDateColumn,
  Entity,
  Index,
  JoinColumn,
  ManyToOne,
  PrimaryGeneratedColumn,
} from "typeorm";
import { OrdenTrabajo } from "./orden-trabajo.entity";

export enum TipoFoto {
  GENERAL = "general",
  DANO = "dano",
  DOCUMENTO = "documento",
}

@Entity("taller_ot_fotos")
export class OtFoto {
  @PrimaryGeneratedColumn()
  id: number;

  @Column({ name: "ot_id" })
  @Index()
  otId: number;

  @ManyToOne(() => OrdenTrabajo, (ot) => ot.fotos, { onDelete: "CASCADE" })
  @JoinColumn({ name: "ot_id" })
  ordenTrabajo: OrdenTrabajo;

  @Column({
    type: "enum",
    enum: TipoFoto,
    default: TipoFoto.GENERAL,
  })
  tipo: TipoFoto;

  @Column({ length: 500 })
  url: string;

  @Column({ length: 255, nullable: true })
  descripcion: string;

  @Column({ default: 0 })
  orden: number;

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