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

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

  @Column({ type: 'varchar', name: 'office_id', nullable: true }) officeId?: string;
  @Index()
  @Column({ type: 'varchar', nullable: true }) name?: string;
  @Column({ type: 'varchar', name: 'name_ne', nullable: true }) nameNe?: string;
  @Column({ type: 'varchar', nullable: true }) code?: string;
  @Column({ type: 'varchar', name: 'interest_rate', default: '0' }) interestRate!: string;
  @Column({ type: 'varchar', name: 'max_period_months', nullable: true }) maxPeriodMonths?: string;
  @Column({ type: 'varchar', name: 'min_amount', nullable: true }) minAmount?: string;
  @Column({ type: 'varchar', name: 'max_amount', nullable: true }) maxAmount?: string;
  @Column({ type: 'varchar', name: 'loan_type', nullable: true }) loanType?: string;
  @Column({ type: 'varchar', default: 'true' }) status!: string;
  @Column({ type: 'varchar', nullable: true }) description?: string;

  @CreateDateColumn({ name: 'created_at' }) createdAt!: Date;
  @UpdateDateColumn({ name: 'updated_at' }) updatedAt!: Date;
  @DeleteDateColumn({ name: 'deleted_at' }) deletedAt?: Date;
}
