hrms-api-probation/src/entities/Knowledge.ts
2024-09-05 13:59:43 +07:00

85 lines
2.1 KiB
TypeScript

import { AssignKnowledge } from "./AssignKnowledge";
import {
Entity,
Column,
PrimaryGeneratedColumn,
OneToMany,
JoinColumn,
} from "typeorm";
import { EntityBase } from "./base/Base";
export enum TypeKnowledge {
PERFORMANCE = "performance",
LAW = "law",
}
@Entity("knowledge")
export class Knowledge extends EntityBase {
@PrimaryGeneratedColumn()
id: number;
@Column({
nullable: false,
type: "enum",
enum: TypeKnowledge,
default: TypeKnowledge.PERFORMANCE,
comment:
"หมวดหมู่ความรู้ performance คือความรู้ความสามารถ, law คือความรู้ด้านกฎหมาย",
})
type: TypeKnowledge;
@Column({
nullable: false,
comment: "หัวข้อความรู้",
})
title: string;
@Column({
type: "text",
nullable: true,
comment: "คำอธิบายระดับความรู้ ระดับที่ 1",
})
level1: string;
@Column({
type: "text",
nullable: true,
comment: "คำอธิบายระดับความรู้ ระดับที่ 2",
})
level2: string;
@Column({
type: "text",
nullable: true,
comment: "คำอธิบายระดับความรู้ ระดับที่ 3",
})
level3: string;
@Column({
type: "text",
nullable: true,
comment: "คำอธิบายระดับความรู้ ระดับที่ 4",
})
level4: string;
@Column({
type: "text",
nullable: true,
comment: "คำอธิบายระดับความรู้ ระดับที่ 5",
})
level5: string;
@Column({
nullable: false,
comment: "สถานะการใช้งาน 1 คือใช้งานปกติ, 0 คือไม่ใช้งาน",
default: 1,
})
active: number;
@OneToMany(
() => AssignKnowledge,
(assignKnowledge: AssignKnowledge) => assignKnowledge.knowledge_id
)
@JoinColumn({ name: "id" })
assignKnowledge: AssignKnowledge[];
}