12 lines
584 B
TypeScript
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}`,
|
|
});
|