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

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

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

  @Column({ type: 'varchar', name: 'saving_account_number', nullable: true }) savingAccountNumber?: string;
  @Column({ type: 'varchar', nullable: true }) amount?: string;
  @Column({ type: 'varchar', nullable: true }) time?: string;
  @Column({ type: 'varchar', name: 'start_date', length: 20, nullable: true }) startDate?: string;
  @Column({ type: 'varchar', name: 'start_date_bs', length: 20, nullable: true }) startDateBs?: string;
  @Column({ type: 'varchar', name: 'end_date', length: 20, nullable: true }) endDate?: string;
  @Column({ type: 'varchar', name: 'end_date_bs', length: 20, nullable: true }) endDateBs?: string;
  @Column({ type: 'varchar', name: 'interest_rate', nullable: true }) interestRate?: string;
  @Column({ type: 'varchar', name: 'collateral_amount', nullable: true }) collateralAmount?: string;
  @Column({ type: 'varchar', name: 'account_holder_name', nullable: true }) accountHolderName?: string;
  @Column({ type: 'varchar', name: 'relation', nullable: true }) relation?: 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;
}
