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

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

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

  @Column({ type: 'varchar', name: 'programe_name', nullable: true }) programeName?: string;
  @Column({ type: 'varchar', name: 'center_number', nullable: true }) centerNumber?: string;
  @Column({ type: 'varchar', name: 'center_name', nullable: true }) centerName?: string;
  @Column({ type: 'varchar', name: 'previous_loan_amount', nullable: true }) previousLoanAmount?: string;
  @Column({ type: 'varchar', name: 'loan_times', nullable: true }) loanTimes?: string;
  @Column({ type: 'varchar', nullable: true }) balance?: string;
  @Column({ type: 'varchar', name: 'total_savings', nullable: true }) totalSavings?: string;
  @Column({ type: 'varchar', nullable: true }) loan?: string;
  @Column({ type: 'varchar', name: 'group_number', nullable: true }) groupNumber?: string;
  @Column({ type: 'varchar', nullable: true }) group?: string;
  @Column({ type: 'varchar', name: 'group_address', nullable: true }) groupAddress?: string;
  @Column({ type: 'varchar', name: 'group_saving', nullable: true }) groupSaving?: string;
  @Column({ type: 'varchar', name: 'group_loan', nullable: true }) groupLoan?: string;
  @Column({ type: 'varchar', name: 'meeting_date', length: 20, nullable: true }) meetingDate?: string;
  @Column({ type: 'varchar', name: 'meeting_date_bs', length: 20, nullable: true }) meetingDateBs?: 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;
}
