import type { IClientConfiguration } from "@/models/client-configs.model"; import type { StrategyKeysTypes } from "@/services/app-api/apis/strategy.services"; import { SingletonRedisRepository } from "../repositories/redis.repository"; export interface IClientData { clientToken?: string; strategyKeys?: StrategyKeysTypes; clientConfig?: IClientConfiguration; } const CLIENT_DATA_REDIS_KEY = "client-data"; export class ClientDataService { static async setClientData(data: IClientData, baseUrl: string) { await SingletonRedisRepository.set( `${baseUrl}_${CLIENT_DATA_REDIS_KEY}`, JSON.stringify(data), ); } static async getClientData(baseUrl: string) { const result = await SingletonRedisRepository.get( `${baseUrl}_${CLIENT_DATA_REDIS_KEY}`, ); if (!result) { return null; } return JSON.parse(result) as IClientData; } static async deleteClientData(baseUrl: string) { await SingletonRedisRepository.delete( `${baseUrl}_${CLIENT_DATA_REDIS_KEY}`, ); } }