Merge branch 'develop' of github.com:Frappet/bma-ehr-organization into develop

This commit is contained in:
Kittapath 2024-06-13 23:56:49 +07:00
commit 681f016657
6 changed files with 64 additions and 19 deletions

View file

@ -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,

View file

@ -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<CreateAuthRole>;
export class CreateAddAuthRole {
@Column()
authRoleId: string;
@Column()
posMasterId: string;
}

View file

@ -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,18 @@ export class EmployeePosMaster extends EntityBase {
})
orgRevisionId: string; //fk
@Column({
nullable: true,
default: null,
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;

View file

@ -172,6 +172,8 @@ export class PosMaster extends EntityBase {
orgRevisionId: string; //fk
@Column({
nullable: true,
default: null,
length: 40,
comment: "คีย์นอก(FK)ของตาราง authRole",
})

View file

@ -1,18 +0,0 @@
import { MigrationInterface, QueryRunner } from "typeorm";
export class UpdateTablePosmasterAddRoleๅ1718264530424 implements MigrationInterface {
name = 'UpdateTablePosmasterAddRoleๅ1718264530424'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE \`posMaster\` ADD UNIQUE INDEX \`IDX_a059796d095e79ba5b20407859\` (\`authRoleId\`)`);
await queryRunner.query(`CREATE UNIQUE INDEX \`REL_a059796d095e79ba5b20407859\` ON \`posMaster\` (\`authRoleId\`)`);
await queryRunner.query(`ALTER TABLE \`posMaster\` ADD CONSTRAINT \`FK_a059796d095e79ba5b20407859f\` FOREIGN KEY (\`authRoleId\`) REFERENCES \`authRole\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE \`posMaster\` DROP FOREIGN KEY \`FK_a059796d095e79ba5b20407859f\``);
await queryRunner.query(`DROP INDEX \`REL_a059796d095e79ba5b20407859\` ON \`posMaster\``);
await queryRunner.query(`ALTER TABLE \`posMaster\` DROP INDEX \`IDX_a059796d095e79ba5b20407859\``);
}
}

View file

@ -0,0 +1,28 @@
import { MigrationInterface, QueryRunner } from "typeorm";
export class UpdateTablePosmasterAddRole11718266321698 implements MigrationInterface {
name = 'UpdateTablePosmasterAddRole11718266321698'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE \`employeePosMaster\` CHANGE \`authRoleId\` \`authRoleId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง authRole'`);
await queryRunner.query(`ALTER TABLE \`employeePosMaster\` ADD UNIQUE INDEX \`IDX_388ecc9f2a9f5b5ff1e08fd6d0\` (\`authRoleId\`)`);
await queryRunner.query(`ALTER TABLE \`posMaster\` CHANGE \`authRoleId\` \`authRoleId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง authRole'`);
await queryRunner.query(`ALTER TABLE \`posMaster\` ADD UNIQUE INDEX \`IDX_a059796d095e79ba5b20407859\` (\`authRoleId\`)`);
await queryRunner.query(`CREATE UNIQUE INDEX \`REL_388ecc9f2a9f5b5ff1e08fd6d0\` ON \`employeePosMaster\` (\`authRoleId\`)`);
await queryRunner.query(`CREATE UNIQUE INDEX \`REL_a059796d095e79ba5b20407859\` ON \`posMaster\` (\`authRoleId\`)`);
await queryRunner.query(`ALTER TABLE \`employeePosMaster\` ADD CONSTRAINT \`FK_388ecc9f2a9f5b5ff1e08fd6d0e\` FOREIGN KEY (\`authRoleId\`) REFERENCES \`authRole\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE \`posMaster\` ADD CONSTRAINT \`FK_a059796d095e79ba5b20407859f\` FOREIGN KEY (\`authRoleId\`) REFERENCES \`authRole\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE \`posMaster\` DROP FOREIGN KEY \`FK_a059796d095e79ba5b20407859f\``);
await queryRunner.query(`ALTER TABLE \`employeePosMaster\` DROP FOREIGN KEY \`FK_388ecc9f2a9f5b5ff1e08fd6d0e\``);
await queryRunner.query(`DROP INDEX \`REL_a059796d095e79ba5b20407859\` ON \`posMaster\``);
await queryRunner.query(`DROP INDEX \`REL_388ecc9f2a9f5b5ff1e08fd6d0\` ON \`employeePosMaster\``);
await queryRunner.query(`ALTER TABLE \`posMaster\` DROP INDEX \`IDX_a059796d095e79ba5b20407859\``);
await queryRunner.query(`ALTER TABLE \`posMaster\` CHANGE \`authRoleId\` \`authRoleId\` varchar(40) NOT NULL COMMENT 'คีย์นอก(FK)ของตาราง authRole'`);
await queryRunner.query(`ALTER TABLE \`employeePosMaster\` DROP INDEX \`IDX_388ecc9f2a9f5b5ff1e08fd6d0\``);
await queryRunner.query(`ALTER TABLE \`employeePosMaster\` CHANGE \`authRoleId\` \`authRoleId\` varchar(40) NOT NULL COMMENT 'คีย์นอก(FK)ของตาราง authRole'`);
}
}