import { createMemoryCache } from './memoryCache';

const roomsTtlMs = Number(process.env.CHAT_ROOMS_CACHE_TTL_MS || 120_000);
const filterTtlMs = Number(process.env.CHAT_USERS_FILTER_CACHE_TTL_MS || 600_000);

export const roomsCache = createMemoryCache<unknown[]>(roomsTtlMs);
export const usersFilterCache = createMemoryCache<unknown[]>(filterTtlMs);

export function invalidateUserRoomsCache(userId: string): void {
  roomsCache.delete(`rooms:${userId}`);
}

export function invalidateUsersFilterCache(): void {
  usersFilterCache.deletePrefix('users:filter:');
}
