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

@Entity({ name: 'mortgage_appraisals' })
export class MortgageAppraisal {
  @PrimaryGeneratedColumn('uuid') id!: string;
  @Column({ type: 'varchar', nullable: true }) applicationId?: string;
  @Column({ type: 'varchar', nullable: true }) officeId?: string;
  @Column({ type: 'varchar', nullable: true }) memberName?: string;
  @Column({ type: 'varchar', nullable: true }) landUnit?: string;
  @Column({ type: 'varchar', nullable: true }) tLandArea?: string;
  @Column({ type: 'varchar', nullable: true }) mLandArea?: string;
  @Column({ type: 'varchar', nullable: true }) vLandArea?: string;
  @Column({ type: 'varchar', nullable: true }) collateralType?: string;
  @Column({ type: 'varchar', nullable: true }) landValue?: string;
  @Column({ type: 'varchar', nullable: true }) totalAssessmentValue?: string;
  @Column({ type: 'varchar', nullable: true }) province?: string;
  @Column({ type: 'varchar', nullable: true }) district?: string;
  @Column({ type: 'varchar', nullable: true }) localGovt?: string;
  @Column({ type: 'varchar', nullable: true }) ward?: string;
  @Column({ type: 'varchar', nullable: true }) tole?: string;
  @Column({ type: 'text', nullable: true }) descriptionBusinessProject?: string;
  @Column({ type: 'text', nullable: true }) performancePreviousLoan?: string;
  @Column({ type: 'text', nullable: true }) financingAbility?: string;
  @Column({ type: 'text', nullable: true }) conclusionOpinion?: string;
  @Column({ type: 'varchar', nullable: true }) mortgageViewDateBs?: string;
  @Column({ type: 'varchar', nullable: true }) mortgageViewDate?: string;
  @Column({ type: 'varchar', nullable: true }) valuatorId?: string;
  @Column({ type: 'varchar', nullable: true }) valuatorName?: string;
  @Column({ type: 'varchar', default: 'draft' }) status!: string;
  @Column({ type: 'varchar', nullable: true }) remarks?: string;
  @CreateDateColumn() createdAt!: Date;
  @UpdateDateColumn() updatedAt!: Date;
  @DeleteDateColumn() deletedAt?: Date;
}
