hrms-api-org/src/entities/DevelopmentProject.ts

71 lines
2.4 KiB
TypeScript

import { Entity, Column, ManyToOne, JoinColumn } from "typeorm";
import { EntityBase } from "./base/Base";
import { ProfileDevelopment } from "./ProfileDevelopment";
import { ProfileDevelopmentHistory } from "./ProfileDevelopmentHistory";
import { DevelopmentRequest } from "./DevelopmentRequest";
@Entity("developmentProject")
export class DevelopmentProject extends EntityBase {
@Column({
// TRAINING = การอบรม
// MEETING = การประชุม
// SEMINAR = การสัมมนา
// STUDY_TOUR = การศึกษาดูงาน
// ACADEMIC_SEMINAR = การสัมมนาทางวิชาการ
// WORKSHOP = การสัมมนาเชิงปฏิบัติการ
// SPECIAL_LECTURE = การบรรยายพิเศษ
// LECTURE = การบรรยาย
// STUDY_TRAINING = การฝึกศึกษา
// OTHER = อื่น
nullable: true,
comment: "เทคนิควิธีการที่ใช้ในการพัฒนา",
default: null,
})
name: string;
@Column({
nullable: true,
comment: "โครงการ/หลักสูตรการฝึกอบรม",
default: null,
})
profileDevelopmentId: string;
@ManyToOne(
() => ProfileDevelopment,
(profileDevelopment) => profileDevelopment.developmentProjects,
)
@JoinColumn({ name: "profileDevelopmentId" })
profileDevelopment: ProfileDevelopment;
@Column({
nullable: true,
comment: "โครงการ/หลักสูตรการฝึกอบรม",
default: null,
})
profileDevelopmentHistoryId: string;
@ManyToOne(
() => ProfileDevelopmentHistory,
(profileDevelopmentHistory) => profileDevelopmentHistory.developmentProjects,
)
@JoinColumn({ name: "profileDevelopmentHistoryId" })
profileDevelopmentHistory: ProfileDevelopmentHistory;
@Column({
nullable: true,
comment: "โครงการ/หลักสูตรการฝึกอบรม",
default: null,
})
developmentRequestId: string;
@ManyToOne(
() => DevelopmentRequest,
(developmentRequest) => developmentRequest.developmentProjects,
)
@JoinColumn({ name: "developmentRequestId" })
developmentRequest: DevelopmentRequest;
}
export class CreateDevelopmentProject {
@Column()
name: string;
}