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

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

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

  @Column({ type: 'varchar', name: 'business_register_office', nullable: true }) businessRegisterOffice?: string;
  @Column({ type: 'varchar', name: 'business_register_number', nullable: true }) businessRegisterNumber?: string;
  @Column({ type: 'varchar', name: 'business_register_date', length: 20, nullable: true }) businessRegisterDate?: string;
  @Column({ type: 'varchar', name: 'business_register_date_bs', length: 20, nullable: true }) businessRegisterDateBs?: string;
  @Column({ type: 'varchar', name: 'business_pan_number', nullable: true }) businessPanNumber?: string;
  @Column({ type: 'varchar', name: 'business_estimated_cost', nullable: true }) businessEstimatedCost?: string;
  @Column({ type: 'varchar', name: 'business_proprietor', nullable: true }) businessProprietor?: string;
  @Column({ type: 'varchar', name: 'business_proprietor_relation', nullable: true }) businessProprietorRelation?: string;
  @Column({ type: 'varchar', name: 'general_loan_bank_name', nullable: true }) generalLoanBankName?: string;
  @Column({ type: 'varchar', name: 'general_loan_cheque_number', nullable: true }) generalLoanChequeNumber?: string;
  @Column({ type: 'varchar', name: 'general_loan_cheque_amount', nullable: true }) generalLoanChequeAmount?: 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;
}
