add rootId for log

This commit is contained in:
AdisakKanthawilang 2024-10-25 17:00:48 +07:00
parent a4647e102a
commit 212b9d1466
5 changed files with 100 additions and 6 deletions

View file

@ -16,7 +16,7 @@ import { addLogSequence } from "./utils";
class CallAPI {
//Get
public async GetData(request: any, @Path() path: any) {
public async GetData(request: any, @Path() path: any, log = true) {
const token = "Bearer " + request.headers.authorization.replace("Bearer ", "");
const url = process.env.API_URL + path;
try {
@ -27,7 +27,7 @@ class CallAPI {
api_key: process.env.API_KEY,
},
});
addLogSequence(request, {
if(log) addLogSequence(request, {
action: "request",
status: "success",
description: "connected",
@ -39,7 +39,7 @@ class CallAPI {
});
return response.data.result;
} catch (error) {
addLogSequence(request, {
if(log) addLogSequence(request, {
action: "request",
status: "error",
description: "unconnected",

View file

@ -3,8 +3,11 @@ import { RequestWithUser } from "../middlewares/user";
import CallAPI from "./call-api";
import HttpError from "./http-error";
import HttpStatus from "./http-status";
import { promisify } from "util";
class CheckAuth {
private redis = require("redis");
public async Permission(req: RequestWithUser, system: string, action: string) {
if (
req.headers.hasOwnProperty("api_key") &&
@ -180,6 +183,40 @@ class CheckAuth {
return false;
});
}
public async checkOrg(token: any,keycloakId: string) {
const redisClient = await this.redis.createClient({
host: process.env.REDIS_HOST,
port: process.env.REDIS_PORT,
});
const getAsync = promisify(redisClient.get).bind(redisClient);
let reply = await getAsync("org_" + keycloakId);
if (reply != null) {
reply = JSON.parse(reply);
} else {
try {
const x = await new CallAPI().GetData(
{
headers: { authorization: token },
},
`/org/permission/checkOrg/${keycloakId}`,
false
);
const data = {
orgRootId: x.orgRootId,
orgChild1Id: x.orgChild1Id,
orgChild2Id: x.orgChild2Id,
orgChild3Id: x.orgChild3Id,
orgChild4Id: x.orgChild4Id,
};
return data;
} catch (error) {
console.error("Error calling API:", error);
throw error;
}
}
}
public async PermissionCreate(req: RequestWithUser, system: string) {
return await this.Permission(req, system, "CREATE");
}