hrms-api-development/src/entities/StrategyChild4.ts

66 lines
2.1 KiB
TypeScript

import { Entity, Column, ManyToOne, JoinColumn, OneToMany, PrimaryGeneratedColumn } from "typeorm";
import { EntityBase } from "./base/Base";
import { StrategyChild1 } from "./StrategyChild1";
import { StrategyChild2 } from "./StrategyChild2";
import { StrategyChild3 } from "./StrategyChild3";
import { StrategyChild5 } from "./StrategyChild5";
import { Development } from "./Development";
@Entity("strategyChild4")
export class StrategyChild4 extends EntityBase {
@Column({
nullable: true,
comment: "ยุทธศาสตร์ย่อยที่",
length: 255,
default: null,
})
strategyChild4Name: string;
@Column({
length: 40,
comment: "คีย์นอก(FK)ของตาราง strategyChild1",
})
strategyChild1Id: string;
@Column({
length: 40,
comment: "คีย์นอก(FK)ของตาราง strategyChild2",
})
strategyChild2Id: string;
@Column({
length: 40,
comment: "คีย์นอก(FK)ของตาราง strategyChild3",
})
strategyChild3Id: string;
@ManyToOne(() => StrategyChild1, (strategyChild1) => strategyChild1.strategyChild4s)
@JoinColumn({ name: "strategyChild1Id" })
strategyChild1: StrategyChild1;
@ManyToOne(() => StrategyChild2, (strategyChild2) => strategyChild2.strategyChild4s)
@JoinColumn({ name: "strategyChild2Id" })
strategyChild2: StrategyChild2;
@ManyToOne(() => StrategyChild3, (strategyChild3) => strategyChild3.strategyChild4s)
@JoinColumn({ name: "strategyChild3Id" })
strategyChild3: StrategyChild3;
@OneToMany(() => StrategyChild5, (strategyChild5) => strategyChild5.strategyChild4)
strategyChild5s: StrategyChild5[];
@OneToMany(() => Development, (development) => development.strategyChild4Planned)
developmentPlanneds: Development[];
@OneToMany(() => Development, (development) => development.strategyChild4Actual)
developmentActuals: Development[];
}
export class CreateStrategyChild4 {
@Column()
strategyChild4Name: string;
@Column("uuid")
strategyChild3Id: string;
}
export type UpdateStrategyChild4 = Partial<CreateStrategyChild4>;