diff --git a/src/entities/StrategyChild1.ts b/src/entities/StrategyChild1.ts new file mode 100644 index 0000000..0cd0ab4 --- /dev/null +++ b/src/entities/StrategyChild1.ts @@ -0,0 +1,38 @@ +import { Entity, Column, ManyToOne, JoinColumn, OneToMany, PrimaryGeneratedColumn } from "typeorm"; +import { EntityBase } from "./base/Base"; +import { StrategyChild2 } from "./StrategyChild2"; +import { StrategyChild3 } from "./StrategyChild3"; +import { StrategyChild4 } from "./StrategyChild4"; +import { StrategyChild5 } from "./StrategyChild5"; + + +@Entity("strategyChild1") +export class StrategyChild1 extends EntityBase { + @Column({ + nullable: true, + comment: "ชื่อยุทธศาสตร์", + length: 255, + default: null, + }) + strategyChild1Name: string; + + @OneToMany(() => StrategyChild2, (strategyChild2) => strategyChild2.strategyChild1) + strategyChild2s: StrategyChild2[]; + + @OneToMany(() => StrategyChild3, (strategyChild3) => strategyChild3.strategyChild1) + strategyChild3s: StrategyChild3[]; + + @OneToMany(() => StrategyChild4, (strategyChild4) => strategyChild4.strategyChild1) + strategyChild4s: StrategyChild4[]; + + @OneToMany(() => StrategyChild5, (strategyChild5) => strategyChild5.strategyChild1) + strategyChild5s: StrategyChild5[]; + +} + +export class CreateStrategyChild1 { + @Column() + strategyChild1Name: string; +} + +export type UpdateStrategyChild1 = Partial; diff --git a/src/entities/StrategyChild2.ts b/src/entities/StrategyChild2.ts new file mode 100644 index 0000000..fbc74ef --- /dev/null +++ b/src/entities/StrategyChild2.ts @@ -0,0 +1,50 @@ +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"; + + +@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; + + @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[]; + + + +} + +export class CreateStrategyChild2 { + @Column() + strategyChild2Name: string; + + @Column("uuid") + strategyChild1Id: string; +} + +export type UpdateStrategyChild2 = Partial; diff --git a/src/entities/StrategyChild3.ts b/src/entities/StrategyChild3.ts new file mode 100644 index 0000000..2166902 --- /dev/null +++ b/src/entities/StrategyChild3.ts @@ -0,0 +1,55 @@ +import { Entity, Column, ManyToOne, JoinColumn, OneToMany, PrimaryGeneratedColumn } from "typeorm"; +import { EntityBase } from "./base/Base"; +import { StrategyChild1 } from "./StrategyChild1"; +import { StrategyChild2 } from "./StrategyChild2"; +import { StrategyChild4 } from "./StrategyChild4"; +import { StrategyChild5 } from "./StrategyChild5"; + + +@Entity("strategyChild3") +export class StrategyChild3 extends EntityBase { + @Column({ + nullable: true, + comment: "ยุทธศาสตร์ที่", + length: 255, + default: null, + }) + strategyChild3Name: string; + + @Column({ + length: 40, + comment: "คีย์นอก(FK)ของตาราง strategyChild1", + }) + strategyChild1Id: string; + + @Column({ + length: 40, + comment: "คีย์นอก(FK)ของตาราง strategyChild2", + }) + strategyChild2Id: string; + + @ManyToOne(() => StrategyChild1, (strategyChild1) => strategyChild1.strategyChild3s) + @JoinColumn({ name: "strategyChild1Id" }) + strategyChild1: StrategyChild1; + + @ManyToOne(() => StrategyChild2, (strategyChild2) => strategyChild2.strategyChild3s) + @JoinColumn({ name: "strategyChild2Id" }) + strategyChild2: StrategyChild2; + + @OneToMany(() => StrategyChild4, (strategyChild4) => strategyChild4.strategyChild3) + strategyChild4s: StrategyChild4[]; + + @OneToMany(() => StrategyChild5, (strategyChild5) => strategyChild5.strategyChild3) + strategyChild5s: StrategyChild5[]; + +} + +export class CreateStrategyChild3 { + @Column() + strategyChild3Name: string; + + @Column("uuid") + strategyChild2Id: string; +} + +export type UpdateStrategyChild3 = Partial; diff --git a/src/entities/StrategyChild4.ts b/src/entities/StrategyChild4.ts new file mode 100644 index 0000000..290fd85 --- /dev/null +++ b/src/entities/StrategyChild4.ts @@ -0,0 +1,62 @@ +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"; + + +@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[]; +} + + +export class CreateStrategyChild4 { + @Column() + strategyChild4Name: string; + + @Column("uuid") + strategyChild3Id: string; +} + +export type UpdateStrategyChild4 = Partial; diff --git a/src/entities/StrategyChild5.ts b/src/entities/StrategyChild5.ts new file mode 100644 index 0000000..2fa84a4 --- /dev/null +++ b/src/entities/StrategyChild5.ts @@ -0,0 +1,70 @@ +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 { StrategyChild4 } from "./StrategyChild4"; + + +@Entity("strategyChild5") +export class StrategyChild5 extends EntityBase { + @Column({ + nullable: true, + comment: "กลยุทธ์ที่", + length: 255, + default: null, + }) + strategyChild5Name: 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; + + @Column({ + length: 40, + comment: "คีย์นอก(FK)ของตาราง strategyChild4", + }) + strategyChild4Id: string; + + @ManyToOne(() => StrategyChild1, (strategyChild1) => strategyChild1.strategyChild5s) + @JoinColumn({ name: "strategyChild1Id" }) + strategyChild1: StrategyChild1; + + @ManyToOne(() => StrategyChild2, (strategyChild2) => strategyChild2.strategyChild5s) + @JoinColumn({ name: "strategyChild2Id" }) + strategyChild2: StrategyChild2; + + @ManyToOne(() => StrategyChild3, (strategyChild3) => strategyChild3.strategyChild5s) + @JoinColumn({ name: "strategyChild3Id" }) + strategyChild3: StrategyChild3; + + @ManyToOne(() => StrategyChild4, (strategyChild4) => strategyChild4.strategyChild5s) + @JoinColumn({ name: "strategyChild4Id" }) + strategyChild4: StrategyChild4; + +} + + +export class CreateStrategyChild5 { + @Column() + strategyChild5Name: string; + + @Column("uuid") + strategyChild4Id: string; +} + +export type UpdateStrategyChild5 = Partial;