hrms-api-org/src/entities/Assign.ts
2024-10-21 10:22:39 +07:00

105 lines
2.3 KiB
TypeScript

import {
Entity,
Column,
CreateDateColumn,
UpdateDateColumn,
PrimaryColumn,
OneToMany,
ManyToOne,
JoinColumn,
} from "typeorm";
import { PosMasterAssign } from "./PosMasterAssign";
import { CommandSys } from "./CommandSys";
@Entity("assign")
export class Assign {
@PrimaryColumn({
comment: "ไอดีหลักของตาราง",
length: 255,
})
id: string;
@CreateDateColumn({ comment: "สร้างข้อมูลเมื่อ" })
createdAt!: Date;
@Column({
comment: "User Id ที่สร้างข้อมูล",
length: 40,
default: "00000000-0000-0000-0000-000000000000",
})
createdUserId!: String;
@UpdateDateColumn({ comment: "แก้ไขข้อมูลล่าสุดเมื่อ" })
lastUpdatedAt!: Date;
@Column({
comment: "User Id ที่แก้ไขข้อมูล",
length: 40,
default: "00000000-0000-0000-0000-000000000000",
})
lastUpdateUserId!: String;
@Column({ comment: "ชื่อ User ที่สร้างข้อมูล", length: 200, default: "string" })
createdFullName!: String;
@Column({ comment: "ชื่อ User ที่แก้ไขข้อมูลล่าสุด", length: 200, default: "string" })
lastUpdateFullName!: String;
@Column({
nullable: true,
comment: "ชื่อระบบ",
length: 255,
default: null,
})
name: string;
@Column({
nullable: true,
comment: "รายละเอียด",
length: 255,
default: null,
})
description: string;
@Column({
nullable: true,
comment: "path link",
type: "text",
default: null,
})
path: string;
@OneToMany(() => PosMasterAssign, (posMasterAssign) => posMasterAssign.assign)
posMasterAssigns: PosMasterAssign[];
@Column({
nullable: true,
length: 255,
comment: "คีย์นอก(FK)ของตาราง CommandSys",
default: null,
})
commandSysId: string;
@ManyToOne(() => CommandSys, (commandSys) => commandSys.assgins)
@JoinColumn({ name: "commandSysId" })
commandAssignSys: CommandSys;
}
export class CreateCommandSys {
@PrimaryColumn()
id: string;
@Column()
name: string;
@Column()
description: string;
}
export class UpdateCommandSys {
@Column()
name: string;
@Column()
description: string;
}