fel kesz game backend

This commit is contained in:
2025-09-15 19:00:35 +02:00
parent 7963f28021
commit 3af8de2797
267 changed files with 15655 additions and 347 deletions
@@ -303,4 +303,73 @@ export class RedisService {
public isRedisConnected(): boolean {
return this.isConnected;
}
// Generic Redis methods for game data
public async get(key: string): Promise<string | null> {
try {
return await this.client.get(key);
} catch (error) {
logError(`Failed to get key ${key}`, error as Error);
return null;
}
}
public async set(key: string, value: string): Promise<void> {
try {
await this.client.set(key, value);
} catch (error) {
logError(`Failed to set key ${key}`, error as Error);
}
}
public async setWithExpiry(key: string, value: string, expirySeconds: number): Promise<void> {
try {
await this.client.setEx(key, expirySeconds, value);
} catch (error) {
logError(`Failed to set key ${key} with expiry`, error as Error);
}
}
public async del(key: string): Promise<void> {
try {
await this.client.del(key);
} catch (error) {
logError(`Failed to delete key ${key}`, error as Error);
}
}
public async setAdd(key: string, member: string): Promise<void> {
try {
await this.client.sAdd(key, member);
} catch (error) {
logError(`Failed to add member to set ${key}`, error as Error);
}
}
public async setRemove(key: string, member: string): Promise<void> {
try {
await this.client.sRem(key, member);
} catch (error) {
logError(`Failed to remove member from set ${key}`, error as Error);
}
}
public async setMembers(key: string): Promise<string[]> {
try {
return await this.client.sMembers(key);
} catch (error) {
logError(`Failed to get members of set ${key}`, error as Error);
return [];
}
}
public async exists(key: string): Promise<boolean> {
try {
const result = await this.client.exists(key);
return result === 1;
} catch (error) {
logError(`Failed to check existence of key ${key}`, error as Error);
return false;
}
}
}