diff --git a/src/controllers/OrganizationController.ts b/src/controllers/OrganizationController.ts index 096c7111..860ef2c6 100644 --- a/src/controllers/OrganizationController.ts +++ b/src/controllers/OrganizationController.ts @@ -8704,42 +8704,42 @@ export class OrganizationController extends Controller { await queryRunner.commitTransaction(); // Clear Redis cache after successful publish (only menu and role for menu display) - // const redis = require("redis"); - // const { promisify } = require("util"); - // const redisClient = redis.createClient({ - // host: process.env.REDIS_HOST || "localhost", - // port: parseInt(process.env.REDIS_PORT || "6379"), - // }); - // const keysAsync = promisify(redisClient.keys).bind(redisClient); - // const delAsync = promisify(redisClient.del).bind(redisClient); + const redis = require("redis"); + const { promisify } = require("util"); + const redisClient = redis.createClient({ + host: process.env.REDIS_HOST || "localhost", + port: parseInt(process.env.REDIS_PORT || "6379"), + }); + const keysAsync = promisify(redisClient.keys).bind(redisClient); + const delAsync = promisify(redisClient.del).bind(redisClient); - // try { - // // Clear only menu and role cache (affects menu display) - // const menuRolePatterns = ["menu_*", "role_*"]; - // let totalCleared = 0; + try { + // Clear only menu and role cache (affects menu display) + const menuRolePatterns = ["menu_*", "role_*"]; + let totalCleared = 0; - // for (const pattern of menuRolePatterns) { - // const keys = await keysAsync(pattern); - // if (keys.length > 0) { - // // Delete in chunks of 1000 to avoid argument limit - // const chunkSize = 1000; - // for (let i = 0; i < keys.length; i += chunkSize) { - // const chunk = keys.slice(i, i + chunkSize); - // await delAsync(...chunk); - // } - // totalCleared += keys.length; - // console.log(`[moveDraftToCurrent] Cleared ${keys.length} cache keys for pattern: ${pattern}`); - // } - // } - // console.log(`[moveDraftToCurrent] Total cache cleared: ${totalCleared} keys`); - // } catch (err) { - // console.error("[moveDraftToCurrent] Error clearing cache:", err); - // } finally { - // redisClient.quit(); - // } + for (const pattern of menuRolePatterns) { + const keys = await keysAsync(pattern); + if (keys.length > 0) { + // Delete in chunks of 1000 to avoid argument limit + const chunkSize = 1000; + for (let i = 0; i < keys.length; i += chunkSize) { + const chunk = keys.slice(i, i + chunkSize); + await delAsync(...chunk); + } + totalCleared += keys.length; + console.log(`[moveDraftToCurrent] Cleared ${keys.length} cache keys for pattern: ${pattern}`); + } + } + console.log(`[moveDraftToCurrent] Total cache cleared: ${totalCleared} keys`); + } catch (err) { + console.error("[moveDraftToCurrent] Error clearing cache:", err); + } finally { + redisClient.quit(); + } - // // Invalidate memory cache - // orgStructureCache.invalidate(currentRevisionId); + // Invalidate memory cache + orgStructureCache.invalidate(currentRevisionId); return new HttpSuccess(summary); } catch (error) {