Merge branch 'develop' into dev
All checks were successful
Build & Deploy on Dev / build (push) Successful in 49s

This commit is contained in:
Adisak 2025-10-29 11:15:50 +07:00
commit 1d4ec11f5b

View file

@ -183,40 +183,97 @@ class CheckAuth {
return false; return false;
}); });
} }
public async checkOrg(token: any, keycloakId: string) { // public async checkOrg(token: any, keycloakId: string) {
const redisClient = await this.redis.createClient({ // const redisClient = await this.redis.createClient({
host: process.env.REDIS_HOST, // host: process.env.REDIS_HOST,
port: process.env.REDIS_PORT, // port: process.env.REDIS_PORT,
}) // })
const getAsync = promisify(redisClient.get).bind(redisClient) // const getAsync = promisify(redisClient.get).bind(redisClient)
try { // try {
let reply = await getAsync("org_" + keycloakId) // let reply = await getAsync("org_" + keycloakId)
if (reply != null) { // if (reply != null) {
reply = JSON.parse(reply) // reply = JSON.parse(reply)
} else { // } else {
if (!keycloakId) throw new Error("No KeycloakId provided") // if (!keycloakId) throw new Error("No KeycloakId provided")
const x = await new CallAPI().GetData( // const x = await new CallAPI().GetData(
{ // {
headers: { authorization: token }, // headers: { authorization: token },
}, // },
`/org/permission/checkOrg/${keycloakId}`, // `/org/permission/checkOrg/${keycloakId}`,
false // false
) // )
const data = { // const data = {
orgRootId: x.orgRootId, // orgRootId: x.orgRootId,
orgChild1Id: x.orgChild1Id, // orgChild1Id: x.orgChild1Id,
orgChild2Id: x.orgChild2Id, // orgChild2Id: x.orgChild2Id,
orgChild3Id: x.orgChild3Id, // orgChild3Id: x.orgChild3Id,
orgChild4Id: x.orgChild4Id, // orgChild4Id: x.orgChild4Id,
} // }
return data // return data
} // }
} catch (error) { // } catch (error) {
console.error("Error calling API:", error) // console.error("Error calling API:", error)
throw error // throw error
} // }
// }
public async checkOrg(token: any, keycloakId: string) {
try {
// Validate required environment variables
const REDIS_HOST = process.env.REDIS_HOST;
const REDIS_PORT = process.env.REDIS_PORT ? Number(process.env.REDIS_PORT) : 6379;
if (!REDIS_HOST) {
throw new Error("REDIS_HOST is not set in environment variables");
}
console.log(`[REDIS] Connecting to Redis at ${REDIS_HOST}:${REDIS_PORT}`);
// Create Redis client
const redisClient = this.redis.createClient({
socket: {
host: REDIS_HOST,
port: REDIS_PORT,
},
});
redisClient.on("error", (err: any) => {
console.error("[REDIS] Connection error:", err.message);
});
await redisClient.connect();
console.log("[REDIS] Connected successfully!");
const getAsync = promisify(redisClient.get).bind(redisClient);
let reply = await getAsync("org_" + keycloakId);
if (reply != null) {
reply = JSON.parse(reply);
} else {
if (!keycloakId) throw new Error("No KeycloakId provided");
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) { public async PermissionCreate(req: RequestWithUser, system: string) {
return await this.Permission(req, system, "CREATE"); return await this.Permission(req, system, "CREATE");