diff --git a/src/controllers/OrganizationController.ts b/src/controllers/OrganizationController.ts index 1e087f6d..fdf194f6 100644 --- a/src/controllers/OrganizationController.ts +++ b/src/controllers/OrganizationController.ts @@ -1152,26 +1152,6 @@ export class OrganizationController extends Controller { */ @Get("super-admin/{id}") async detailSuperAdmin(@Path() id: string, @Request() request: RequestWithUser) { - // let _data: any = { - // root: null, - // child1: null, - // child2: null, - // child3: null, - // child4: null, - // }; - - // const orgRevision = await this.orgRevisionRepository.findOne({ where: { id } }); - // if (!orgRevision) { - // throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูล"); - // } - // if (!request.user.role.includes("SUPER_ADMIN")) { - // if (orgRevision.orgRevisionIsDraft == true && orgRevision.orgRevisionIsCurrent == false) { - // _data = await this.listAuthSysOrgFuncByRevisionIdN(request, "SYS_ORG", orgRevision.id); - // } else { - // _data = await this.listAuthSysOrgFuncByRevisionIdC(request, "SYS_ORG", orgRevision.id); - // } - // } - const orgRevision = await this.orgRevisionRepository.findOne({ where: { id: id }, relations: ["posMasters"], @@ -7527,208 +7507,7 @@ export class OrganizationController extends Controller { const check = orgRevision.orgRoots.find((x) => x.isDeputy == true); return new HttpSuccess(check != null); } - public async listAuthSysOrgFuncByRevisionIdN( - request: RequestWithUser, - system: string, - revisionId: string, - ) { - let profile = await this.profileRepo.findOne({ - where: { - keycloak: request.user.sub, - }, - relations: ["next_holders", "next_holders.authRole", "next_holders.authRole.authRoles"], - }); - let data: any = { - root: [null], - child1: [null], - child2: [null], - child3: [null], - child4: [null], - }; - if (!profile) { - return { - root: null, - child1: null, - child2: null, - child3: null, - child4: null, - }; - } - let attrOwnership = - profile?.next_holders - .filter((x) => x.orgRevisionId == revisionId)[0] - ?.authRole?.authRoles?.filter((x) => x.authSysId == system)[0]?.attrOwnership || null; - - let attrPrivilege = - profile?.next_holders - .filter((x) => x.orgRevisionId == revisionId)[0] - ?.authRole?.authRoles?.filter((x) => x.authSysId == system)[0]?.attrPrivilege || null; - - const posMaster = await this.posMasterRepository.findOne({ - where: { - next_holderId: profile.id, - orgRevisionId: revisionId, - }, - }); - if (!posMaster) { - data = { - root: [null], - child1: [null], - child2: [null], - child3: [null], - child4: [null], - }; - } else if (attrOwnership == "OWNER") { - data = { - root: null, - child1: null, - child2: null, - child3: null, - child4: null, - }; - } else if (attrPrivilege == "ROOT") { - data = { - root: [posMaster.orgRootId], - child1: null, - child2: null, - child3: null, - child4: null, - privilege: "ROOT", - }; - } else if (attrPrivilege == "CHILD") { - let node = 4; - if (posMaster.orgChild1Id == null) { - node = 0; - } else if (posMaster.orgChild2Id == null) { - node = 1; - } else if (posMaster.orgChild3Id == null) { - node = 2; - } else if (posMaster.orgChild4Id == null) { - node = 3; - } - data = { - root: node >= 0 ? [posMaster.orgRootId] : null, - child1: node >= 1 ? [posMaster.orgChild1Id] : null, - child2: node >= 2 ? [posMaster.orgChild2Id] : null, - child3: node >= 3 ? [posMaster.orgChild3Id] : null, - child4: node >= 4 ? [posMaster.orgChild4Id] : null, - }; - } else if (attrPrivilege == "NORMAL") { - data = { - root: [posMaster.orgRootId], - child1: [posMaster.orgChild1Id], - child2: [posMaster.orgChild2Id], - child3: [posMaster.orgChild3Id], - child4: [posMaster.orgChild4Id], - }; - } else if (attrPrivilege == "SPECIFIC") { - } - return data; - } - public async listAuthSysOrgFuncByRevisionIdC( - request: RequestWithUser, - system: string, - revisionId: string, - ) { - let profile = await this.profileRepo.findOne({ - where: { - keycloak: request.user.sub, - }, - relations: [ - "current_holders", - "current_holders.authRole", - "current_holders.authRole.authRoles", - ], - }); - let data: any = { - root: [null], - child1: [null], - child2: [null], - child3: [null], - child4: [null], - }; - if (!profile) { - return { - root: null, - child1: null, - child2: null, - child3: null, - child4: null, - }; - } - - let attrOwnership = - profile?.current_holders - .filter((x) => x.orgRevisionId == revisionId)[0] - ?.authRole?.authRoles?.filter((x) => x.authSysId == system)[0]?.attrOwnership || null; - - let attrPrivilege = - profile?.current_holders - .filter((x) => x.orgRevisionId == revisionId)[0] - ?.authRole?.authRoles?.filter((x) => x.authSysId == system)[0]?.attrPrivilege || null; - - const posMaster = await this.posMasterRepository.findOne({ - where: { - next_holderId: profile.id, - orgRevisionId: revisionId, - }, - }); - if (!posMaster) { - data = { - root: [null], - child1: [null], - child2: [null], - child3: [null], - child4: [null], - }; - } else if (attrOwnership == "OWNER") { - data = { - root: null, - child1: null, - child2: null, - child3: null, - child4: null, - }; - } else if (attrPrivilege == "ROOT") { - data = { - root: [posMaster.orgRootId], - child1: null, - child2: null, - child3: null, - child4: null, - privilege: "ROOT", - }; - } else if (attrPrivilege == "CHILD") { - let node = 4; - if (posMaster.orgChild1Id == null) { - node = 0; - } else if (posMaster.orgChild2Id == null) { - node = 1; - } else if (posMaster.orgChild3Id == null) { - node = 2; - } else if (posMaster.orgChild4Id == null) { - node = 3; - } - data = { - root: node >= 0 ? [posMaster.orgRootId] : null, - child1: node >= 1 ? [posMaster.orgChild1Id] : null, - child2: node >= 2 ? [posMaster.orgChild2Id] : null, - child3: node >= 3 ? [posMaster.orgChild3Id] : null, - child4: node >= 4 ? [posMaster.orgChild4Id] : null, - }; - } else if (attrPrivilege == "NORMAL") { - data = { - root: [posMaster.orgRootId], - child1: [posMaster.orgChild1Id], - child2: [posMaster.orgChild2Id], - child3: [posMaster.orgChild3Id], - child4: [posMaster.orgChild4Id], - }; - } else if (attrPrivilege == "SPECIFIC") { - } - return data; - } /** * API หา สกก1 * diff --git a/src/controllers/OrganizationDotnetController.ts b/src/controllers/OrganizationDotnetController.ts index a5e04d3d..db161fc7 100644 --- a/src/controllers/OrganizationDotnetController.ts +++ b/src/controllers/OrganizationDotnetController.ts @@ -120,12 +120,13 @@ export class OrganizationDotnetController extends Controller { break; } conditionParams = { nodeId: body.nodeId }; - } - else if (body.role === "ROOT") { + } else if (body.role === "ROOT") { condition = "orgRoot.ancestorDNA = :nodeId"; conditionParams = { nodeId: body.nodeId }; - } - else if (body.role === "NORMAL") { + } else if (body.role === "PARENT") { + condition = "orgChild1.ancestorDNA = :nodeId"; + conditionParams = { nodeId: body.nodeId }; + } else if (body.role === "NORMAL") { switch (body.node) { case 0: condition = "orgRoot.ancestorDNA = :nodeId AND current_holders.orgChild1 IS NULL"; @@ -150,7 +151,7 @@ export class OrganizationDotnetController extends Controller { } const findRevision = await this.orgRevisionRepo.findOne({ - where: { orgRevisionIsCurrent: true, orgRevisionIsDraft: false } + where: { orgRevisionIsCurrent: true, orgRevisionIsDraft: false }, }); if (!findRevision) { throw new HttpError(HttpStatus.NOT_FOUND, "not found. OrgRevision"); @@ -180,8 +181,8 @@ export class OrganizationDotnetController extends Controller { }), ) .andWhere(condition, conditionParams) - .getMany() - + .getMany(); + return new HttpSuccess(profiles); } @@ -259,12 +260,13 @@ export class OrganizationDotnetController extends Controller { break; } conditionParams = { nodeId: body.nodeId }; - } - else if (body.role === "ROOT") { + } else if (body.role === "ROOT") { condition = "orgRoot.ancestorDNA = :nodeId"; conditionParams = { nodeId: body.nodeId }; - } - else if (body.role === "NORMAL") { + } else if (body.role === "PARENT") { + condition = "orgChild1.ancestorDNA = :nodeId"; + conditionParams = { nodeId: body.nodeId }; + } else if (body.role === "NORMAL") { switch (body.node) { case 0: condition = "orgRoot.ancestorDNA = :nodeId AND current_holders.orgChild1 IS NULL"; @@ -321,7 +323,7 @@ export class OrganizationDotnetController extends Controller { ) .andWhere(condition, conditionParams) .orderBy("profileSalary.order", "DESC") - .getMany() + .getMany(); const profileEmp_ = await Promise.all( profileEmp.map((item: ProfileEmployee) => { @@ -693,10 +695,10 @@ export class OrganizationDotnetController extends Controller { } } } - let positionLeaveName = + let positionLeaveName = profile.posType == null && profile.posLevel == null - ? "" - : `${profile.posType?.posTypeShortName ?? ""} ${profile.posLevel?.posLevelName ?? ""}` + ? "" + : `${profile.posType?.posTypeShortName ?? ""} ${profile.posLevel?.posLevelName ?? ""}`; const _profileCurrent = profile?.current_holders?.find( (x) => @@ -4077,27 +4079,27 @@ export class OrganizationDotnetController extends Controller { // }; // } // } else { - if (body.node === 0) { - typeCondition = { - orgRootId: body.nodeId, - }; - } else if (body.node === 1) { - typeCondition = { - orgChild1Id: body.nodeId, - }; - } else if (body.node === 2) { - typeCondition = { - orgChild2Id: body.nodeId, - }; - } else if (body.node === 3) { - typeCondition = { - orgChild3Id: body.nodeId, - }; - } else if (body.node === 4) { - typeCondition = { - orgChild4Id: body.nodeId, - }; - } + if (body.node === 0) { + typeCondition = { + orgRootId: body.nodeId, + }; + } else if (body.node === 1) { + typeCondition = { + orgChild1Id: body.nodeId, + }; + } else if (body.node === 2) { + typeCondition = { + orgChild2Id: body.nodeId, + }; + } else if (body.node === 3) { + typeCondition = { + orgChild3Id: body.nodeId, + }; + } else if (body.node === 4) { + typeCondition = { + orgChild4Id: body.nodeId, + }; + } // } let profile = await this.profileRepo.find({ where: { keycloak: Not(IsNull()) || Not(""), isLeave: false, current_holders: typeCondition }, @@ -4123,10 +4125,7 @@ export class OrganizationDotnetController extends Controller { // isLeave: false, current_holders: typeCondition, // isRetirement: true, - dateRetire: And( - Not(IsNull()), - Between(startOfYear, endOfYear) - ) + dateRetire: And(Not(IsNull()), Between(startOfYear, endOfYear)), }, relations: [ "posType", @@ -4397,15 +4396,15 @@ export class OrganizationDotnetController extends Controller { }, ) { let findRevision = await this.orgRevisionRepo.findOne({ - where: { orgRevisionIsCurrent: true, orgRevisionIsDraft: false } + where: { orgRevisionIsCurrent: true, orgRevisionIsDraft: false }, }); switch (body.node) { case 0: let orgRoot = await this.orgRootRepo.findOne({ - where: { + where: { id: body.nodeId, - orgRevisionId: findRevision?.id - } + orgRevisionId: findRevision?.id, + }, }); return new HttpSuccess({ rootName: orgRoot?.orgRootName ?? null, @@ -4418,10 +4417,10 @@ export class OrganizationDotnetController extends Controller { case 1: let orgChild1 = await this.orgChild1Repo.findOne({ relations: ["orgRoot"], - where: { + where: { id: body.nodeId, - orgRevisionId: findRevision?.id - } + orgRevisionId: findRevision?.id, + }, }); return new HttpSuccess({ rootName: orgChild1?.orgRoot.orgRootName ?? null, @@ -4434,10 +4433,10 @@ export class OrganizationDotnetController extends Controller { case 2: let orgChild2 = await this.orgChild2Repo.findOne({ relations: ["orgRoot", "orgChild1"], - where: { + where: { id: body.nodeId, - orgRevisionId: findRevision?.id - } + orgRevisionId: findRevision?.id, + }, }); return new HttpSuccess({ rootName: orgChild2?.orgRoot.orgRootName ?? null, @@ -4450,10 +4449,10 @@ export class OrganizationDotnetController extends Controller { case 3: let orgChild3 = await this.orgChild3Repo.findOne({ relations: ["orgRoot", "orgChild1", "orgChild2"], - where: { + where: { id: body.nodeId, - orgRevisionId: findRevision?.id - } + orgRevisionId: findRevision?.id, + }, }); return new HttpSuccess({ rootName: orgChild3?.orgRoot.orgRootName ?? null, @@ -4466,10 +4465,10 @@ export class OrganizationDotnetController extends Controller { case 4: let orgChild4 = await this.orgChild4Repo.findOne({ relations: ["orgRoot", "orgChild1", "orgChild2", "orgChild3"], - where: { + where: { id: body.nodeId, - orgRevisionId: findRevision?.id - } + orgRevisionId: findRevision?.id, + }, }); return new HttpSuccess({ rootName: orgChild4?.orgRoot.orgRootName ?? null, @@ -4486,7 +4485,7 @@ export class OrganizationDotnetController extends Controller { child2Name: null, child3Name: null, child4Name: null, - });; + }); } } @@ -4506,87 +4505,87 @@ export class OrganizationDotnetController extends Controller { role: string; isRetirement?: boolean; revisionId?: string; - reqNode?: number; + reqNode?: number; reqNodeId?: string; }, ) { let typeCondition: any = {}; - if (body.role === "CHILD") { + if (body.role === "CHILD" || body.role === "PARENT" || body.role === "ROOT") { switch (body.node) { case 0: typeCondition = { orgRoot: { - ancestorDNA: body.nodeId - } + ancestorDNA: body.nodeId, + }, }; break; case 1: typeCondition = { orgChild1: { - ancestorDNA: body.nodeId - } + ancestorDNA: body.nodeId, + }, }; break; case 2: typeCondition = { orgChild2: { - ancestorDNA: body.nodeId - } + ancestorDNA: body.nodeId, + }, }; break; case 3: typeCondition = { orgChild3: { - ancestorDNA: body.nodeId - } + ancestorDNA: body.nodeId, + }, }; break; case 4: typeCondition = { orgChild4: { - ancestorDNA: body.nodeId - } + ancestorDNA: body.nodeId, + }, }; break; default: typeCondition = {}; break; } - } else if (body.role === "ROOT" || body.role === "OWNER") { + } else if (body.role === "OWNER") { switch (body.reqNode) { case 0: typeCondition = { orgRoot: { - id: body.reqNodeId - } + id: body.reqNodeId, + }, }; break; case 1: typeCondition = { orgChild1: { - id: body.reqNodeId - } + id: body.reqNodeId, + }, }; break; case 2: typeCondition = { orgChild2: { - id: body.reqNodeId - } + id: body.reqNodeId, + }, }; break; case 3: typeCondition = { orgChild3: { - id: body.reqNodeId - } + id: body.reqNodeId, + }, }; break; case 4: typeCondition = { orgChild4: { - id: body.reqNodeId - } + id: body.reqNodeId, + }, }; break; default: @@ -4598,39 +4597,39 @@ export class OrganizationDotnetController extends Controller { case 0: typeCondition = { orgRoot: { - ancestorDNA: body.nodeId + ancestorDNA: body.nodeId, }, - orgChild1: IsNull() + orgChild1: IsNull(), }; break; case 1: typeCondition = { orgChild1: { - ancestorDNA: body.nodeId + ancestorDNA: body.nodeId, }, - orgChild2: IsNull() + orgChild2: IsNull(), }; break; case 2: typeCondition = { orgChild2: { - ancestorDNA: body.nodeId + ancestorDNA: body.nodeId, }, - orgChild3: IsNull() + orgChild3: IsNull(), }; break; case 3: typeCondition = { orgChild3: { - ancestorDNA: body.nodeId + ancestorDNA: body.nodeId, }, - orgChild4: IsNull() + orgChild4: IsNull(), }; break; case 4: typeCondition = { orgChild4: { - ancestorDNA: body.nodeId + ancestorDNA: body.nodeId, }, }; break; @@ -4670,8 +4669,8 @@ export class OrganizationDotnetController extends Controller { orgChild4Order: "ASC", }, posMasterNo: "ASC", - } - } + }, + }, }); if (body.isRetirement) { profile = await this.profileRepo.find({ @@ -4693,7 +4692,7 @@ export class OrganizationDotnetController extends Controller { }); } let findRevision = await this.orgRevisionRepo.findOne({ - where: { orgRevisionIsCurrent: true, orgRevisionIsDraft: false } + where: { orgRevisionIsCurrent: true, orgRevisionIsDraft: false }, }); if (body.revisionId) { @@ -4703,7 +4702,7 @@ export class OrganizationDotnetController extends Controller { } const profile_ = await Promise.all( - profile.map(async(item: Profile) => { + profile.map(async (item: Profile) => { const shortName = item.current_holders.length == 0 ? null @@ -4747,8 +4746,8 @@ export class OrganizationDotnetController extends Controller { let _posMaster = await this.posMasterRepository.findOne({ where: { orgRevisionId: findRevision?.id, - current_holderId: item.id - } + current_holderId: item.id, + }, }); return { @@ -4769,7 +4768,7 @@ export class OrganizationDotnetController extends Controller { orgChild1Id: _posMaster?.orgChild1Id, orgChild2Id: _posMaster?.orgChild2Id, orgChild3Id: _posMaster?.orgChild3Id, - orgChild4Id: _posMaster?.orgChild4Id + orgChild4Id: _posMaster?.orgChild4Id, }; }), ); @@ -5101,46 +5100,46 @@ export class OrganizationDotnetController extends Controller { role: string; isRetirement?: boolean; revisionId?: string; - reqNode?: number; + reqNode?: number; reqNodeId?: string; }, ) { let typeCondition: any = {}; - if (body.role === "CHILD") { + if (body.role === "CHILD" || body.role === "PARENT" || body.role === "ROOT") { switch (body.node) { case 0: typeCondition = { orgRoot: { - ancestorDNA: body.nodeId - } + ancestorDNA: body.nodeId, + }, }; break; case 1: typeCondition = { orgChild1: { - ancestorDNA: body.nodeId - } + ancestorDNA: body.nodeId, + }, }; break; case 2: typeCondition = { orgChild2: { - ancestorDNA: body.nodeId - } + ancestorDNA: body.nodeId, + }, }; break; case 3: typeCondition = { orgChild3: { - ancestorDNA: body.nodeId - } + ancestorDNA: body.nodeId, + }, }; break; case 4: typeCondition = { orgChild4: { - ancestorDNA: body.nodeId - } + ancestorDNA: body.nodeId, + }, }; break; case null: @@ -5150,41 +5149,41 @@ export class OrganizationDotnetController extends Controller { typeCondition = {}; break; } - } else if (body.role === "ROOT" || body.role === "OWNER") { + } else if (body.role === "OWNER") { switch (body.reqNode) { case 0: typeCondition = { orgRoot: { - id: body.reqNodeId - } + id: body.reqNodeId, + }, }; break; case 1: typeCondition = { orgChild1: { - id: body.reqNodeId - } + id: body.reqNodeId, + }, }; break; case 2: typeCondition = { orgChild2: { - id: body.reqNodeId - } + id: body.reqNodeId, + }, }; break; case 3: typeCondition = { orgChild3: { - id: body.reqNodeId - } + id: body.reqNodeId, + }, }; break; case 4: typeCondition = { orgChild4: { - id: body.reqNodeId - } + id: body.reqNodeId, + }, }; break; default: @@ -5196,39 +5195,39 @@ export class OrganizationDotnetController extends Controller { case 0: typeCondition = { orgRoot: { - ancestorDNA: body.nodeId + ancestorDNA: body.nodeId, }, - orgChild1: IsNull() + orgChild1: IsNull(), }; break; case 1: typeCondition = { orgChild1: { - ancestorDNA: body.nodeId + ancestorDNA: body.nodeId, }, - orgChild2: IsNull() + orgChild2: IsNull(), }; break; case 2: typeCondition = { orgChild2: { - ancestorDNA: body.nodeId + ancestorDNA: body.nodeId, }, - orgChild3: IsNull() + orgChild3: IsNull(), }; break; case 3: typeCondition = { orgChild3: { - ancestorDNA: body.nodeId + ancestorDNA: body.nodeId, }, - orgChild4: IsNull() + orgChild4: IsNull(), }; break; case 4: typeCondition = { orgChild4: { - ancestorDNA: body.nodeId + ancestorDNA: body.nodeId, }, }; break; @@ -5268,8 +5267,8 @@ export class OrganizationDotnetController extends Controller { orgChild4Order: "ASC", }, posMasterNo: "ASC", - } - } + }, + }, }); if (body.isRetirement) { profile = await this.profileEmpRepo.find({ @@ -5291,7 +5290,7 @@ export class OrganizationDotnetController extends Controller { }); } let findRevision = await this.orgRevisionRepo.findOne({ - where: { orgRevisionIsCurrent: true, orgRevisionIsDraft: false } + where: { orgRevisionIsCurrent: true, orgRevisionIsDraft: false }, }); if (body.revisionId) { @@ -5301,7 +5300,7 @@ export class OrganizationDotnetController extends Controller { } const profile_ = await Promise.all( - profile.map(async(item: ProfileEmployee) => { + profile.map(async (item: ProfileEmployee) => { const shortName = item.current_holders.length == 0 ? null @@ -5345,8 +5344,8 @@ export class OrganizationDotnetController extends Controller { let _posMaster = await this.empPosMasterRepository.findOne({ where: { orgRevisionId: findRevision?.id, - current_holderId: item.id - } + current_holderId: item.id, + }, }); return { @@ -5360,9 +5359,10 @@ export class OrganizationDotnetController extends Controller { keycloak: item.keycloak, posNo: shortName, position: item.position, - positionLevel: item.posType?.posTypeShortName && item.posLevel?.posLevelName - ? `${item.posType?.posTypeShortName} ${item.posLevel?.posLevelName}` - : null, + positionLevel: + item.posType?.posTypeShortName && item.posLevel?.posLevelName + ? `${item.posType?.posTypeShortName} ${item.posLevel?.posLevelName}` + : null, positionType: item.posType?.posTypeName ?? null, oc: Oc, orgRootId: _posMaster?.orgRootId, @@ -5580,7 +5580,7 @@ export class OrganizationDotnetController extends Controller { } const position = await AppDataSource.query("CALL GetProfileEmployeeSalaryPosition(?, ?)", [ profile.id, - _currentDate + _currentDate, ]); const _position = position.length > 0 ? position[0] : []; @@ -5692,11 +5692,13 @@ export class OrganizationDotnetController extends Controller { } } if (profile && profile?.isLeave) { - _currentDate = profile && profile.leaveDate - ? Extension.toDateOnlyString(profile.leaveDate) - : _currentDate + _currentDate = + profile && profile.leaveDate ? Extension.toDateOnlyString(profile.leaveDate) : _currentDate; } - const position = await AppDataSource.query("CALL GetProfileSalaryPosition(?, ?)", [profile.id, _currentDate]); + const position = await AppDataSource.query("CALL GetProfileSalaryPosition(?, ?)", [ + profile.id, + _currentDate, + ]); const _position = position.length > 0 ? position[0] : []; const mapProfile = { diff --git a/src/controllers/PermissionController.ts b/src/controllers/PermissionController.ts index 72b7d671..54dea336 100644 --- a/src/controllers/PermissionController.ts +++ b/src/controllers/PermissionController.ts @@ -732,6 +732,14 @@ export class PermissionController extends Controller { child3: null, child4: null, }; + } else if (privilege == "PARENT") { + data = { + root: [x.orgRootId], + child1: [x.orgChild1Id], + child2: null, + child3: null, + child4: null, + }; } else if (privilege == "CHILD") { data = { root: node >= 0 ? [x.orgRootId] : null, diff --git a/src/controllers/UserController.ts b/src/controllers/UserController.ts index 00af5b10..09a83c57 100644 --- a/src/controllers/UserController.ts +++ b/src/controllers/UserController.ts @@ -911,6 +911,7 @@ export class KeycloakController extends Controller { // keycloak: IsNull(), isLeave: false, }, + order: { citizenId: "ASC" }, relations: ["roleKeycloaks"], }); @@ -924,12 +925,11 @@ export class KeycloakController extends Controller { }); // Process แบบ batch เพื่อลดการเรียก API ทีละตัว - const batchSize = 10; + const batchSize = 100; const batches = []; for (let i = 0; i < profiles.length; i += batchSize) { batches.push(profiles.slice(i, i + batchSize)); } - for (const batch of batches) { await Promise.all( batch.map(async (_item) => { diff --git a/src/interfaces/permission.ts b/src/interfaces/permission.ts index cfe76e6d..1fb12f00 100644 --- a/src/interfaces/permission.ts +++ b/src/interfaces/permission.ts @@ -94,6 +94,15 @@ class CheckAuth { child4: null, privilege: "ROOT", }; + } else if (privilege == "PARENT") { + data = { + root: [x.orgRootId], + child1: [x.orgChild1Id], + child2: null, + child3: null, + child4: null, + privilege: "PARENT", + }; } else if (privilege == "CHILD") { data = { root: node >= 0 ? [x.orgRootId] : null, diff --git a/src/keycloak/index.ts b/src/keycloak/index.ts index ec0cd246..c14a6b62 100644 --- a/src/keycloak/index.ts +++ b/src/keycloak/index.ts @@ -56,7 +56,7 @@ export async function getToken() { if (data && data.access_token) { token = data.access_token; } - + console.log(`token: ${token}`); return token; }