#2523 STAFF + isDirector ให้ล้อสิทธิ์เหมือน CHILD

This commit is contained in:
harid 2026-05-26 13:20:02 +07:00
parent 7b22fb2a2d
commit 0cad83af1f
2 changed files with 12 additions and 3 deletions

View file

@ -206,7 +206,13 @@ export class CommandController extends Controller {
child4: null, child4: null,
}; };
if (request.user.role.includes("STAFF")) { if (request.user.role.includes("STAFF")) {
// #2523 STAFF + isDirector ให้ล้อสิทธิ์เหมือน CHILD
if (!isDirector) {
_data = await new permission().PermissionOrgList(request, "COMMAND"); _data = await new permission().PermissionOrgList(request, "COMMAND");
} else {
_data = await new permission().PermissionIsDirectorOrgList(request, "COMMAND", isDirector);
}
} }
if (isDirector || _data.privilege == "OWNER") { if (isDirector || _data.privilege == "OWNER") {
const profiles = await this.profileRepository const profiles = await this.profileRepository

View file

@ -39,7 +39,7 @@ class CheckAuth {
} }
}); });
} }
public async PermissionOrg(req: RequestWithUser, system: string, action: string) { public async PermissionOrg(req: RequestWithUser, system: string, action: string, isDirector?: boolean) {
if ( if (
req.headers.hasOwnProperty("api_key") && req.headers.hasOwnProperty("api_key") &&
req.headers["api_key"] && req.headers["api_key"] &&
@ -56,7 +56,7 @@ class CheckAuth {
return await new CallAPI() return await new CallAPI()
.GetData(req, `/org/permission/org/${system}/${action}`) .GetData(req, `/org/permission/org/${system}/${action}`)
.then(async (x) => { .then(async (x) => {
let privilege = x.privilege; let privilege = isDirector && isDirector === true ? "CHILD" : x.privilege;
let data: any = { let data: any = {
root: [null], root: [null],
@ -288,6 +288,9 @@ class CheckAuth {
public async PermissionOrgList(req: RequestWithUser, system: string) { public async PermissionOrgList(req: RequestWithUser, system: string) {
return await this.PermissionOrg(req, system, "LIST"); return await this.PermissionOrg(req, system, "LIST");
} }
public async PermissionIsDirectorOrgList(req: RequestWithUser, system: string, isDirector: boolean) {
return await this.PermissionOrg(req, system, "LIST", isDirector);
}
public async PermissionOrgUpdate(req: RequestWithUser, system: string) { public async PermissionOrgUpdate(req: RequestWithUser, system: string) {
return await this.PermissionOrg(req, system, "UPDATE"); return await this.PermissionOrg(req, system, "UPDATE");
} }