From 18510b1419009c79c6b9e7a90e1cce352b4ed450 Mon Sep 17 00:00:00 2001 From: Bright Date: Thu, 13 Jun 2024 14:41:47 +0700 Subject: [PATCH] relation --- src/controllers/AuthRoleController.ts | 10 +++++++++- src/entities/AuthRole.ts | 12 ++++++++++++ src/entities/EmployeePosMaster.ts | 11 +++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/controllers/AuthRoleController.ts b/src/controllers/AuthRoleController.ts index 94c7012c..0c83d910 100644 --- a/src/controllers/AuthRoleController.ts +++ b/src/controllers/AuthRoleController.ts @@ -17,8 +17,10 @@ import HttpError from "../interfaces/http-error"; import HttpStatus from "../interfaces/http-status"; import HttpSuccess from "../interfaces/http-success"; import HttpStatusCode from "../interfaces/http-status"; -import { AuthRole, CreateAuthRole, UpdateAuthRole } from "../entities/AuthRole"; +import { AuthRole, CreateAuthRole, UpdateAuthRole, CreateAddAuthRole } from "../entities/AuthRole"; import { AuthRoleAttr } from "../entities/AuthRoleAttr"; +import { PosMaster } from "../entities/PosMaster"; +import { EmployeePosMaster } from "../entities/EmployeePosMaster"; @Route("api/v1/org/auth/authRole") @Tags("AuthRole") @@ -72,6 +74,12 @@ export class AuthRoleController extends Controller { return new HttpSuccess(data.id); } + @Post("assign") + public async AddAuthRole(@Request() req: RequestWithUser, @Body() body: CreateAddAuthRole) { + // console pasMater = await this + return new HttpSuccess(); + } + @Patch("{roleId}") public async editAuthRole( @Request() req: RequestWithUser, diff --git a/src/entities/AuthRole.ts b/src/entities/AuthRole.ts index 1cc3cbe7..cb688bd4 100644 --- a/src/entities/AuthRole.ts +++ b/src/entities/AuthRole.ts @@ -2,6 +2,7 @@ import { Entity, Column, OneToMany, OneToOne } from "typeorm"; import { EntityBase } from "./base/Base"; import { AuthRoleAttr } from "./AuthRoleAttr"; import { PosMaster } from "./PosMaster"; +import { EmployeePosMaster } from "../entities/EmployeePosMaster"; @Entity("authRole") export class AuthRole extends EntityBase { @@ -26,6 +27,9 @@ export class AuthRole extends EntityBase { @OneToOne(() => PosMaster, (posMaster) => posMaster.authRole) posMaster: PosMaster; + + @OneToOne(() => EmployeePosMaster, (posMasters) => posMasters.authRole) + posMasters: EmployeePosMaster; } export class CreateAuthRole { @@ -37,3 +41,11 @@ export class CreateAuthRole { } export type UpdateAuthRole = Partial; + +export class CreateAddAuthRole { + @Column() + authRoleId: string; + + @Column() + posMasterId: string; +} \ No newline at end of file diff --git a/src/entities/EmployeePosMaster.ts b/src/entities/EmployeePosMaster.ts index 6c47e067..c1c6e0a8 100644 --- a/src/entities/EmployeePosMaster.ts +++ b/src/entities/EmployeePosMaster.ts @@ -10,6 +10,7 @@ import { OrgChild3 } from "./OrgChild3"; import { OrgChild4 } from "./OrgChild4"; import { Profile } from "./Profile"; import { ProfileEmployee } from "./ProfileEmployee"; +import { AuthRole } from "./AuthRole"; enum EmployeePosMasterLine { MAIN = "MAIN", @@ -171,6 +172,16 @@ export class EmployeePosMaster extends EntityBase { }) orgRevisionId: string; //fk + @Column({ + length: 40, + comment: "คีย์นอก(FK)ของตาราง authRole", + }) + authRoleId: string; + + @OneToOne(() => AuthRole, (authRole) => authRole.posMasters) + @JoinColumn({ name: "authRoleId" }) + authRole: AuthRole; + @ManyToOne(() => OrgRevision, (orgRevision) => orgRevision.posMasters) @JoinColumn({ name: "orgRevisionId" }) orgRevision: OrgRevision;