import {
  Entity, PrimaryGeneratedColumn, Column,
  OneToOne, JoinColumn
} from 'typeorm';
import { User } from './user.entity';

@Entity('employee_profiles')
export class EmployeeProfile {
  @PrimaryGeneratedColumn({ unsigned: true })
  id: number;

  @OneToOne(() => User)
  @JoinColumn({ name: 'user_id' })
  user: User;

  @Column({ type: 'date', nullable: true })
  birth_date: Date;

  @Column({ type: 'text', nullable: true })
  address: string;

  @Column({ length: 30, nullable: true })
  phone: string;

  @Column({ length: 100, nullable: true })
  emergency_contact_name: string;

  @Column({ length: 30, nullable: true })
  emergency_contact_phone: string;

  @Column({ length: 100 })
  job_title: string;

  @Column({ length: 50, nullable: true })
  contract_type: string;

  @Column({ type: 'json', nullable: true })
  skills: string[];
}