import {
  Entity,
  PrimaryGeneratedColumn,
  Column,
  ManyToOne,
  JoinColumn,
} from "typeorm"
import { BaseEntity } from "../../common/entities/base.entity"
import { Employee } from "./employee.entity"
import { EmployeeTechnology } from "./employee-technology.entity"

@Entity("employee_technology_assignments")
export class EmployeeTechnologyAssignment extends BaseEntity {
  @PrimaryGeneratedColumn()
  id: number

  @Column({ type: "int", nullable: false })
  technology_id: number

  @Column({ type: "int", nullable: false })
  employee_id: number

  @ManyToOne(() => EmployeeTechnology, (tech) => tech.assignments)
  @JoinColumn({ name: "technology_id" })
  technology: EmployeeTechnology

  @ManyToOne(() => Employee, (employee) => employee.technologyAssignments)
  @JoinColumn({ name: "employee_id" })
  employee: Employee
}
