Files
core2026/app/gateway-api/src/auth/redisKeys.ts
T

12 lines
584 B
TypeScript

export interface GatewayRedisKeyBuilder {
sessionKey(sessionToken: string): string;
sessionGameSetKey(sessionToken: string): string;
gameSessionKey(profile: string, gameToken: string): string;
}
export const createGatewayRedisKeyBuilder = (prefix: string): GatewayRedisKeyBuilder => ({
sessionKey: (sessionToken: string) => `${prefix}:session:${sessionToken}`,
sessionGameSetKey: (sessionToken: string) => `${prefix}:session-games:${sessionToken}`,
gameSessionKey: (profile: string, gameToken: string) => `${prefix}:game-session:${profile}:${gameToken}`,
});