diff --git a/src/controllers/PermissionController.ts b/src/controllers/PermissionController.ts index ba7b0cac..0ca6f9e1 100644 --- a/src/controllers/PermissionController.ts +++ b/src/controllers/PermissionController.ts @@ -34,26 +34,17 @@ export class PermissionController extends Controller { @Get("") public async getPermission(@Request() request: { user: Record }) { - const orgRevision = await this.orgRevisionRepository.findOne({ - select: ["id"], - where: { - orgRevisionIsDraft: false, - orgRevisionIsCurrent: true, - }, - }); const redisClient = await this.redis.createClient({ host: REDIS_HOST, port: REDIS_PORT, }); const getAsync = promisify(redisClient.get).bind(redisClient); - let profileType = "OFFICER"; let profile: any = await this.profileRepo.findOne({ select: ["id"], where: { keycloak: request.user.sub }, }); if (!profile) { - profileType = "EMPLOYEE"; profile = await this.profileEmployeeRepo.findOne({ select: ["id"], where: { keycloak: request.user.sub }, @@ -67,14 +58,17 @@ export class PermissionController extends Controller { if (reply != null) { reply = JSON.parse(reply); } else { + const orgRevision = await this.orgRevisionRepository.findOne({ + select: ["id"], + where: { + orgRevisionIsDraft: false, + orgRevisionIsCurrent: true, + }, + }); let posMaster: any = await this.posMasterRepository.findOne({ select: ["authRoleId"], where: { current_holderId: profile.id, - // orgRevision: { - // orgRevisionIsDraft: false, - // orgRevisionIsCurrent: true, - // }, orgRevisionId: orgRevision?.id, }, }); @@ -83,10 +77,6 @@ export class PermissionController extends Controller { select: ["authRoleId"], where: { current_holderId: profile.id, - // orgRevision: { - // orgRevisionIsDraft: false, - // orgRevisionIsCurrent: true, - // }, orgRevisionId: orgRevision?.id, }, }); @@ -166,10 +156,6 @@ export class PermissionController extends Controller { select: ["authRoleId"], where: { current_holderId: profile.id, - // orgRevision: { - // orgRevisionIsDraft: false, - // orgRevisionIsCurrent: true, - // }, orgRevisionId: orgRevision?.id, }, }); @@ -178,10 +164,6 @@ export class PermissionController extends Controller { select: ["authRoleId"], where: { current_holderId: profile.id, - // orgRevision: { - // orgRevisionIsDraft: false, - // orgRevisionIsCurrent: true, - // }, orgRevisionId: orgRevision?.id, }, }); @@ -301,13 +283,6 @@ export class PermissionController extends Controller { @Get("org") public async listAuthSysOrg(@Request() request: RequestWithUser) { - const orgRevision = await this.orgRevisionRepository.findOne({ - select: ["id"], - where: { - orgRevisionIsDraft: false, - orgRevisionIsCurrent: true, - }, - }); const redisClient = await this.redis.createClient({ host: REDIS_HOST, port: REDIS_PORT, @@ -334,14 +309,17 @@ export class PermissionController extends Controller { if (reply != null) { reply = JSON.parse(reply); } else { + const orgRevision = await this.orgRevisionRepository.findOne({ + select: ["id"], + where: { + orgRevisionIsDraft: false, + orgRevisionIsCurrent: true, + }, + }); if (profileType == "OFFICER") { const posMaster = await this.posMasterRepository.findOne({ where: { current_holderId: profile.id, - // orgRevision: { - // orgRevisionIsDraft: false, - // orgRevisionIsCurrent: true, - // }, orgRevisionId: orgRevision?.id, }, }); @@ -367,10 +345,6 @@ export class PermissionController extends Controller { const posMaster = await this.posMasterEmpRepository.findOne({ where: { current_holderId: profile.id, - // orgRevision: { - // orgRevisionIsDraft: false, - // orgRevisionIsCurrent: true, - // }, orgRevisionId: orgRevision?.id, }, }); @@ -413,34 +387,29 @@ export class PermissionController extends Controller { }); const getAsync = promisify(redisClient.get).bind(redisClient); - let profileType = "OFFICER"; - let profile: any = await this.profileRepo.findOne({ - select: ["id"], - where: { id: id }, - }); - if (!profile) { - profileType = "EMPLOYEE"; - profile = await this.profileEmployeeRepo.findOne({ + let reply = await getAsync("user_" + id); + if (reply != null) { + reply = JSON.parse(reply); + } else { + let profileType = "OFFICER"; + let profile: any = await this.profileRepo.findOne({ select: ["id"], where: { id: id }, }); if (!profile) { - throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูลบุคคลนี้ในระบบ"); + profileType = "EMPLOYEE"; + profile = await this.profileEmployeeRepo.findOne({ + select: ["id"], + where: { id: id }, + }); + if (!profile) { + throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูลบุคคลนี้ในระบบ"); + } } - } - - let reply = await getAsync("user_" + profile.id); - if (reply != null) { - reply = JSON.parse(reply); - } else { if (profileType == "OFFICER") { const posMaster = await this.posMasterRepository.findOne({ where: { current_holderId: profile.id, - // orgRevision: { - // orgRevisionIsDraft: false, - // orgRevisionIsCurrent: true, - // }, orgRevisionId: orgRevision?.id, }, }); @@ -466,10 +435,6 @@ export class PermissionController extends Controller { const posMaster = await this.posMasterEmpRepository.findOne({ where: { current_holderId: profile.id, - // orgRevision: { - // orgRevisionIsDraft: false, - // orgRevisionIsCurrent: true, - // }, orgRevisionId: orgRevision?.id, }, });