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

@Entity('seeker_education')
export class SeekerEducation {
  @PrimaryGeneratedColumn()
  id: number;

  @Column()
  seeker_id: number;

  @Column({ nullable: true })
  education_id: number;

  @Column({ type: 'varchar', length: 150, nullable: true })
  level_of_education: string;

  @Column({ type: 'varchar', length: 150, nullable: true })
  examination_board: string;

  @Column({ type: 'varchar', length: 100, nullable: true })
  medium_of_study: string;

  @Column({ type: 'varchar', length: 100, nullable: true })
  grading_system: string;

  @Column({ type: 'varchar', length: 50, nullable: true })
  marks: string;

  @Column({ type: 'varchar', length: 150, nullable: true })
  degree: string;

  @Column({ type: 'varchar', length: 150, nullable: true })
  specialization: string;

  @Column({ type: 'year', nullable: true })
  year: number;

  @Column({ type: 'varchar', length: 150, nullable: true })
  education_type: string;

  @Column({ type: 'varchar', length: 20, nullable: true })
  start_month: string;

  @Column({ type: 'int', nullable: true })
  start_year: number;

  @Column({ type: 'varchar', length: 20, nullable: true })
  end_month: string;

  @Column({ type: 'int', nullable: true })
  end_year: number;

  @Column({ type: 'text', nullable: true })
  notes: string;

  @Column({ name: 'institute_name', type: 'varchar', length: 255, nullable: true })
  institute_name: string;

  @Column({ name: 'degree_id', type: 'int', nullable: true })
  degree_id: number;

  @Column({ name: 'specialization_id', type: 'int', nullable: true })
  specialization_id: number;

  @Column({ name: 'month', type: 'varchar', length: 20, nullable: true })
  month: string;

  @CreateDateColumn()
  created_at: Date;

  @UpdateDateColumn()
  updated_at: Date;
}