59 lines
1.8 KiB
TypeScript
59 lines
1.8 KiB
TypeScript
import { Entity, Column, ManyToOne, JoinColumn, OneToMany, PrimaryGeneratedColumn } from "typeorm";
|
|
import { EntityBase } from "./base/Base";
|
|
import { StrategyChild1 } from "./StrategyChild1";
|
|
import { StrategyChild3 } from "./StrategyChild3";
|
|
import { StrategyChild4 } from "./StrategyChild4";
|
|
import { StrategyChild5 } from "./StrategyChild5";
|
|
import { Development } from "./Development";
|
|
|
|
@Entity("strategyChild2")
|
|
export class StrategyChild2 extends EntityBase {
|
|
@Column({
|
|
nullable: true,
|
|
comment: "ชื่อยุทธศาสตร์/แผน",
|
|
length: 255,
|
|
default: null,
|
|
})
|
|
strategyChild2Name: string;
|
|
|
|
@Column({
|
|
length: 40,
|
|
comment: "คีย์นอก(FK)ของตาราง strategyChild1",
|
|
})
|
|
strategyChild1Id: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
comment: "ลำดับความสำคัญ",
|
|
default: null,
|
|
})
|
|
order: number;
|
|
|
|
@ManyToOne(() => StrategyChild1, (strategyChild1) => strategyChild1.strategyChild2s)
|
|
@JoinColumn({ name: "strategyChild1Id" })
|
|
strategyChild1: StrategyChild1;
|
|
|
|
@OneToMany(() => StrategyChild3, (strategyChild3) => strategyChild3.strategyChild2)
|
|
strategyChild3s: StrategyChild3[];
|
|
|
|
@OneToMany(() => StrategyChild4, (strategyChild4) => strategyChild4.strategyChild2)
|
|
strategyChild4s: StrategyChild4[];
|
|
|
|
@OneToMany(() => StrategyChild5, (strategyChild5) => strategyChild5.strategyChild2)
|
|
strategyChild5s: StrategyChild5[];
|
|
|
|
@OneToMany(() => Development, (development) => development.strategyChild2Planned)
|
|
developmentPlanneds: Development[];
|
|
@OneToMany(() => Development, (development) => development.strategyChild2Actual)
|
|
developmentActuals: Development[];
|
|
}
|
|
|
|
export class CreateStrategyChild2 {
|
|
@Column()
|
|
strategyChild2Name: string;
|
|
|
|
@Column("uuid")
|
|
strategyChild1Id: string;
|
|
}
|
|
|
|
export type UpdateStrategyChild2 = Partial<CreateStrategyChild2>;
|