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

@Entity({ name: 'board_members' })
export class BoardMember {
  @PrimaryGeneratedColumn('uuid') id!: string;
  @Column({ type: 'varchar' }) officeId!: string;
  @Column({ type: 'varchar', nullable: true }) memberId?: string;
  @Column({ type: 'varchar', nullable: true }) userId?: string;
  @Column({ type: 'varchar', nullable: true }) name?: string;
  @Column({ type: 'varchar', nullable: true }) nameNe?: string;
  @Column({ type: 'varchar', nullable: true }) relation?: string;
  @Column({ type: 'varchar', nullable: true }) position?: string;
  @Column({ type: 'varchar', nullable: true }) order?: string;
  @Column({ type: 'varchar', nullable: true }) contactNumber?: string;
  @Column({ type: 'varchar', nullable: true }) citizenshipNumber?: string;
  @Column({ type: 'varchar', nullable: true }) citizenshipIssueDistrict?: string;
  @Column({ type: 'varchar', nullable: true }) citizenshipIssueDateBs?: string;
  @Column({ type: 'varchar', nullable: true }) citizenshipIssueDate?: string;
  @Column({ type: 'varchar', nullable: true }) startDateBs?: string;
  @Column({ type: 'varchar', nullable: true }) startDate?: string;
  @Column({ type: 'varchar', nullable: true }) endDateBs?: string;
  @Column({ type: 'varchar', nullable: true }) endDate?: string;
  @Column({ type: 'varchar', nullable: true }) signaturePath?: string;
  @Column({ type: 'varchar', default: 'active' }) status!: string;
  @Column({ type: 'varchar', nullable: true }) remarks?: string;
  @CreateDateColumn() createdAt!: Date;
  @UpdateDateColumn() updatedAt!: Date;
  @DeleteDateColumn() deletedAt?: Date;
}
