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

59 lines
1.9 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 { StrategyChild4 } from "./StrategyChild4";
import { StrategyChild5 } from "./StrategyChild5";
import { Development } from "./Development";
@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[];
@OneToMany(() => Development, (development) => development.strategyChild3Planned)
developmentPlanneds: Development[];
@OneToMany(() => Development, (development) => development.strategyChild3Actual)
developmentActuals: Development[];
}
export class CreateStrategyChild3 {
@Column()
strategyChild3Name: string;
@Column("uuid")
strategyChild2Id: string;
}
export type UpdateStrategyChild3 = Partial<CreateStrategyChild3>;