hrms-api-kpi/src/entities/kpiLink.ts
2024-04-19 16:19:09 +07:00

46 lines
1 KiB
TypeScript

import { Entity, Column, ManyToOne, JoinColumn, ManyToMany, OneToMany } from "typeorm";
import { EntityBase } from "./base/Base";
import { KpiGroup } from "./kpiGroup";
import { KpiCapacity } from "./kpiCapacity";
import { Position } from "./position";
@Entity("kpiLink")
export class KpiLink extends EntityBase {
@Column({
nullable: true,
length: 40,
comment: "ไอดีกลุ่มงาน",
})
kpiGroupId: string | null;
@ManyToOne(() => KpiGroup, (kpiGroup) => kpiGroup.kpiLinks)
@JoinColumn({ name: "kpiGroupId" })
kpiGroup: KpiGroup;
@ManyToMany(() => KpiCapacity, (kpiCapacity) => kpiCapacity.kpiLinks)
kpiCapacitys: KpiCapacity[];
@OneToMany(() => Position, (position) => position.kpiLink)
positions: Position[];
}
export class createKpiLink {
@Column()
kpiGroupId: string;
@Column()
positions: string[];
@Column()
kpiCapacityIds: string[];
}
export class updateKpiLink {
@Column()
kpiGroupId: string;
@Column()
positions: string[];
@Column()
kpiCapacityIds: string[];
}