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,25 +183,82 @@ class CheckAuth {
return false; 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)
// try {
// 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 checkOrg(token: any, keycloakId: string) { 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)
try { try {
let reply = await getAsync("org_" + keycloakId) // 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) { 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,
@ -209,13 +266,13 @@ class CheckAuth {
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 PermissionCreate(req: RequestWithUser, system: string) { public async PermissionCreate(req: RequestWithUser, system: string) {