85 lines
2.1 KiB
TypeScript
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[];
|
|
}
|