import {
  Column,
  CreateDateColumn,
  Entity,
  Index,
  JoinColumn,
  ManyToOne,
  PrimaryGeneratedColumn,
  UpdateDateColumn,
} from "typeorm";
import { Tienda } from "../../auth/entities/tienda.entity";

@Entity("taller_mecanicos")
export class Mecanico {
  @PrimaryGeneratedColumn()
  id: number;

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

  @Column({ type: "varchar", length: 100, nullable: true })
  telefono: string | null;

  @Column({ type: "varchar", length: 255, nullable: true })
  email: string | null;

  @Column({ type: "varchar", length: 255, nullable: true })
  especialidad: string | null;

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

  @ManyToOne(() => Tienda, { nullable: true })
  @JoinColumn({ name: "tienda_id" })
  tienda: Tienda | null;

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

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

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