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

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

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

  @Column({ type: 'varchar', nullable: true }) province?: string;
  @Column({ type: 'varchar', nullable: true }) district?: string;
  @Column({ type: 'varchar', name: 'local_govt', nullable: true }) localGovt?: string;
  @Column({ type: 'varchar', name: 'previous_address', nullable: true }) previousAddress?: string;
  @Column({ type: 'varchar', name: 'change_address', nullable: true }) changeAddress?: string;
  @Column({ type: 'varchar', nullable: true }) ward?: string;
  @Column({ type: 'varchar', nullable: true }) tole?: string;

  @Column({ type: 'varchar', name: 'kitta_number', nullable: true }) kittaNumber?: string;
  @Column({ type: 'varchar', name: 'sn_number', nullable: true }) snNumber?: string;
  @Column({ type: 'varchar', nullable: true }) area?: string;
  @Column({ type: 'varchar', name: 'land_type', nullable: true }) landType?: string;
  @Column({ type: 'varchar', name: 'area_type', nullable: true }) areaType?: string;

  @Column({ type: 'varchar', default: '0' }) ropani!: string;
  @Column({ type: 'varchar', default: '0' }) aana!: string;
  @Column({ type: 'varchar', default: '0' }) paisa!: string;
  @Column({ type: 'varchar', default: '0' }) daam!: string;
  @Column({ type: 'varchar', default: '0' }) dhur!: string;
  @Column({ type: 'varchar', default: '0' }) bigha!: string;
  @Column({ type: 'varchar', default: '0' }) kanwa!: string;
  @Column({ type: 'varchar', default: '0' }) sqmeter!: string;
  @Column({ type: 'varchar', default: '0' }) sqfeet!: string;
  @Column({ type: 'varchar', default: '0' }) haat!: string;
  @Column({ type: 'varchar', default: '0' }) kattha!: string;
  @Column({ type: 'varchar', default: '0' }) total!: string;

  @Column({ type: 'varchar', nullable: true }) charkilla?: string;
  @Column({ type: 'varchar', name: 'charkilla_east', nullable: true }) charkillsEast?: string;
  @Column({ type: 'varchar', name: 'charkilla_west', nullable: true }) charkillsWest?: string;
  @Column({ type: 'varchar', name: 'charkilla_north', nullable: true }) charkillsNorth?: string;
  @Column({ type: 'varchar', name: 'charkilla_south', nullable: true }) charkillsSouth?: string;

  @Column({ type: 'varchar', name: 'blocked_date', length: 20, nullable: true }) blockedDate?: string;
  @Column({ type: 'varchar', name: 'blocked_date_bs', length: 20, nullable: true }) blockedDateBs?: string;
  @Column({ type: 'varchar', name: 'invoice_number', nullable: true }) invoiceNumber?: string;
  @Column({ type: 'varchar', name: 'registration_number', nullable: true }) registrationNumber?: string;
  @Column({ type: 'varchar', name: 'malpot_representative', nullable: true }) malpotRepresentative?: string;
  @Column({ type: 'varchar', name: 'malpot_representative_c_info', nullable: true }) malpotRepresentativeCInfo?: string;
  @Column({ type: 'varchar', name: 'malpot_name', nullable: true }) malpotName?: 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;
}
