import { Column, CreateDateColumn, DeleteDateColumn, Entity, PrimaryGeneratedColumn, UpdateDateColumn } from 'typeorm';

@Entity({ name: 'collateral_vehicle_details' })
export class CollateralVehicle {
  @PrimaryGeneratedColumn('uuid') id!: string;

  @Column({ type: 'varchar', name: 'application_id' }) applicationId!: string;

  @Column({ type: 'varchar', nullable: true }) name?: string;
  @Column({ type: 'varchar', nullable: true }) color?: string;
  @Column({ type: 'varchar', nullable: true }) model?: string;
  @Column({ type: 'varchar', nullable: true }) cc?: string;
  @Column({ type: 'varchar', nullable: true }) number?: string;
  @Column({ type: 'varchar', name: 'engine_number', nullable: true }) engineNumber?: string;
  @Column({ type: 'varchar', name: 'chassis_number', nullable: true }) chassisNumber?: string;
  @Column({ type: 'varchar', name: 'company_name', nullable: true }) companyName?: string;
  @Column({ type: 'varchar', name: 'cylinder_count', nullable: true }) cylinderCount?: string;
  @Column({ type: 'varchar', name: 'manufacture_year', nullable: true }) manufactureYear?: string;
  @Column({ type: 'varchar', nullable: true }) price?: string;
  @Column({ type: 'varchar', name: 'purchasing_org', nullable: true }) purchasingOrg?: string;
  @Column({ type: 'varchar', name: 'yatayat_representative', nullable: true }) yatayatRepresentative?: string;
  @Column({ type: 'varchar', name: 'yatayat_office_name', nullable: true }) yatayatOfficeName?: string;
  @Column({ type: 'varchar', name: 'collateral_valuator', nullable: true }) collateralValuator?: string;
  @Column({ type: 'varchar', name: 'collateral_amount', nullable: true }) collateralAmount?: string;

  @Column({ type: 'varchar', name: 'created_by', nullable: true }) createdBy?: string;
  @Column({ type: 'varchar', name: 'updated_by', nullable: true }) updatedBy?: string;
  @CreateDateColumn({ name: 'created_at' }) createdAt!: Date;
  @UpdateDateColumn({ name: 'updated_at' }) updatedAt!: Date;
  @DeleteDateColumn({ name: 'deleted_at' }) deletedAt?: Date;
}
