@levrbet/shared 0.2.66 → 0.2.68

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -88,3 +88,5 @@ export declare const getCompletedMarketsKey: (marketType: MarketType) => string;
88
88
  export declare const getCompletedMarketsField: (gameUniqueId: string, marketType: MarketType) => string;
89
89
  export declare const getGamesKeyByChainId: (gameCollectionKey: GameCollectionKeys, chainId: number) => string;
90
90
  export declare const getRevokedApiKey: (keyId: string) => string;
91
+ export declare const getMarketKeyWithGameUniqueIdMarketType: (gameUniqueId: string, marketType: MarketType) => string;
92
+ export declare const market_index_name = "idx:markets";
@@ -5,7 +5,7 @@
5
5
  *
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.getRevokedApiKey = exports.getGamesKeyByChainId = exports.getCompletedMarketsField = exports.getCompletedMarketsKey = exports.getGameToMarketsOfOddsInCacheKey = exports.getMarketOddsByGameUniqueIdKeyAndMarketType = exports.getMarketOddsByMarketIdKey = exports.getLevrFixtureIdToProviderIdsKey = exports.getProviderIdsToLevrFixtureIdKey = exports.getMarketOddsField = exports.getCachedLevrByFixtureIdKey = exports.getCacheLevrGameIdKey = exports.getMoneylineByGameIdKey = exports.cacheTimeInvalidation = exports.marketByGameUniqueIdKeyAndMarketType = exports.marketByMarketIdKey = exports.marketOddsKey = exports.baseBallGamePeriodInfo = exports.gameToMarketOfOddsInCache = exports.levrGames = exports.getGameScoreByFixtureIdHash = exports.gameIdsToFixtureIds = exports.gameIdsToLevrFixtureIdsMap = exports.schedulesHash = exports.RedisNumStates = exports.GameCollectionKeys = exports.queueBlockHashKey = exports.levrIdToProviderIds = exports.providerFixtureIdToLevrId = void 0;
8
+ exports.market_index_name = exports.getMarketKeyWithGameUniqueIdMarketType = exports.getRevokedApiKey = exports.getGamesKeyByChainId = exports.getCompletedMarketsField = exports.getCompletedMarketsKey = exports.getGameToMarketsOfOddsInCacheKey = exports.getMarketOddsByGameUniqueIdKeyAndMarketType = exports.getMarketOddsByMarketIdKey = exports.getLevrFixtureIdToProviderIdsKey = exports.getProviderIdsToLevrFixtureIdKey = exports.getMarketOddsField = exports.getCachedLevrByFixtureIdKey = exports.getCacheLevrGameIdKey = exports.getMoneylineByGameIdKey = exports.cacheTimeInvalidation = exports.marketByGameUniqueIdKeyAndMarketType = exports.marketByMarketIdKey = exports.marketOddsKey = exports.baseBallGamePeriodInfo = exports.gameToMarketOfOddsInCache = exports.levrGames = exports.getGameScoreByFixtureIdHash = exports.gameIdsToFixtureIds = exports.gameIdsToLevrFixtureIdsMap = exports.schedulesHash = exports.RedisNumStates = exports.GameCollectionKeys = exports.queueBlockHashKey = exports.levrIdToProviderIds = exports.providerFixtureIdToLevrId = void 0;
9
9
  exports.providerFixtureIdToLevrId = "provider_fixture_id_to_levrId";
10
10
  exports.levrIdToProviderIds = "levr_id_to_provider_ids";
11
11
  exports.queueBlockHashKey = "queue_block_key";
@@ -144,4 +144,10 @@ const getRevokedApiKey = (keyId) => {
144
144
  return `revoked:${keyId}`;
145
145
  };
146
146
  exports.getRevokedApiKey = getRevokedApiKey;
147
+ /// new key
148
+ const getMarketKeyWithGameUniqueIdMarketType = (gameUniqueId, marketType) => {
149
+ return `markets_unique_id:${gameUniqueId}:${marketType}`;
150
+ };
151
+ exports.getMarketKeyWithGameUniqueIdMarketType = getMarketKeyWithGameUniqueIdMarketType;
152
+ exports.market_index_name = "idx:markets";
147
153
  //# sourceMappingURL=cache.keys.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.keys.utils.js","sourceRoot":"","sources":["../../../../src/server/oracle/redis-cache-manager/cache.keys.utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.keys.utils.js","sourceRoot":"","sources":["../../../../src/server/oracle/redis-cache-manager/cache.keys.utils.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,11 @@ const setGamesCache = async (pipeline, games, gameCollectionKey) => {
40
40
  const fixtureKey = (0, cache_keys_utils_1.getCachedLevrByFixtureIdKey)(game.levrFixtureId, game.chainId);
41
41
  // Store games array under fixture key
42
42
  pipeline.hset(hash, fixtureKey, JSON.stringify(game));
43
+ // map provider fixture ids to levr fixture ids
44
+ if (game.lsportsFixtureId && game.levrFixtureId)
45
+ pipeline.hset(cache_keys_utils_1.providerFixtureIdToLevrId, game.lsportsFixtureId, game.levrFixtureId);
46
+ if (game.lsportsFixtureId && game.levrFixtureId)
47
+ pipeline.hset(cache_keys_utils_1.providerFixtureIdToLevrId, game.levrFixtureId, game.lsportsFixtureId);
43
48
  pipeline.hset(cache_keys_utils_1.gameIdsToLevrFixtureIdsMap, game.gameId, game.levrFixtureId);
44
49
  });
45
50
  const results = await pipeline.exec();
@@ -227,7 +232,11 @@ const getGamesCacheWithRelations = async (redis, gameCollectionKey, chainId) =>
227
232
  // get game markets for each game
228
233
  const gameUniqueIdentifiers = games.map((game) => game.objectId);
229
234
  const marketTypesArray = Object.values(client_1.MarketType);
230
- const gameMarkets = await (0, market_cache_service_1.getMarketDataCacheWithOdds)(redis, gameUniqueIdentifiers, marketTypesArray);
235
+ const gameMarketsQuery = gameUniqueIdentifiers.flatMap((gameUniqueId) => marketTypesArray.map((marketType) => ({
236
+ gameUniqueIdentifier: gameUniqueId,
237
+ marketType,
238
+ })));
239
+ const gameMarkets = await (0, market_cache_service_1.getMarketDataCacheWithOdds)(redis, gameMarketsQuery);
231
240
  // map markets to games
232
241
  // scores
233
242
  const scoresHash = gamesScoresResult;
@@ -238,7 +247,7 @@ const getGamesCacheWithRelations = async (redis, gameCollectionKey, chainId) =>
238
247
  }
239
248
  }
240
249
  const gamesWithMarketsAndScores = games.map((game) => {
241
- const markets = gameMarkets?.get(game.objectId);
250
+ const markets = gameMarkets[game.objectId] ?? [];
242
251
  const score = scores[game.levrFixtureId] ?? null;
243
252
  if (!markets) {
244
253
  return {
@@ -325,12 +334,17 @@ const getSpecificGamesCacheWithRelations = async (redis, gameCollectionKey, levr
325
334
  }
326
335
  const gamesWithRelations = [];
327
336
  const gameUniqueIdentifiers = specificGames.map((game) => game.objectId);
328
- const marketTypesArray = Object.values(client_1.MarketType);
329
- const gameMarkets = await (0, market_cache_service_1.getMarketDataCacheWithOdds)(redis, gameUniqueIdentifiers, marketTypesArray);
337
+ // Create query for all markets
338
+ const allMarketTypes = Object.values(client_1.MarketType);
339
+ const allMarketsQuery = gameUniqueIdentifiers.flatMap((gameUniqueId) => allMarketTypes.map((marketType) => ({
340
+ gameUniqueIdentifier: gameUniqueId,
341
+ marketType,
342
+ })));
343
+ const gameMarkets = await (0, market_cache_service_1.getMarketDataCacheWithOdds)(redis, allMarketsQuery);
330
344
  for (const game of specificGames) {
331
345
  const fixtureId = game.levrFixtureId;
332
346
  const score = scores[fixtureId] ?? null;
333
- const markets = gameMarkets?.get(game.objectId) ?? [];
347
+ const markets = gameMarkets[game.objectId] ?? [];
334
348
  gamesWithRelations.push({
335
349
  ...game,
336
350
  markets,
@@ -1 +1 @@
1
- {"version":3,"file":"game.cache.service.js","sourceRoot":"","sources":["../../../../src/server/oracle/redis-cache-manager/game.cache.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"game.cache.service.js","sourceRoot":"","sources":["../../../../src/server/oracle/redis-cache-manager/game.cache.service.ts"],"names":[],"mappings":"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"}
@@ -28,15 +28,7 @@ export declare const setMarketDataCache: (redis: Redis, market: Market) => Promi
28
28
  * @param marketType - Type of market (e.g., Fulltime)
29
29
  * @audit @dev might look into the field, seems this operations could be simpler
30
30
  */
31
- export declare const setCompletedMarketsKeysAndFields: (redis: Redis, gameUniqueIdentifier: string, marketType: MarketType) => Promise<void>;
32
- /**
33
- * Retrieves all completed markets for a specific market type
34
- * @param redis - Redis client instance
35
- * @param marketType - Type of market to retrieve
36
- * @returns Array of game unique identifiers for completed markets
37
- * @dev This function fetches all completed markets keys for a given market type
38
- */
39
- export declare const getCompletedMarketsKeys: (redis: Redis, marketType: MarketType) => Promise<string[]>;
31
+ export declare const setCompletedMarketsKeysAndFields: (redis: Redis, gameUniqueIdentifier: string, marketType: MarketType, market: Market) => Promise<void>;
40
32
  /**
41
33
  * Retrieves completed markets data for multiple games
42
34
  * @param redis - Redis client instance
@@ -45,13 +37,6 @@ export declare const getCompletedMarketsKeys: (redis: Redis, marketType: MarketT
45
37
  * @returns Array of Market objects or null if none found
46
38
  */
47
39
  export declare const getCompletedMarkets: (redis: Redis, marketType: MarketType) => Promise<Market[] | null>;
48
- /**
49
- * Removes completed markets keys and fields from Redis cache
50
- * @param redis - Redis client instance
51
- * @param gameUniqueIdentifier - Unique identifier for the game
52
- * @param marketType - Type of market to remove
53
- */
54
- export declare const removeCompletedMarketsKeysAndFields: (redis: Redis, gameUniqueIdentifier: string, marketType: MarketType) => Promise<void>;
55
40
  /**
56
41
  * Retrieves market data from cache for a specific game and market type
57
42
  * @param redis - Redis client instance
@@ -67,14 +52,10 @@ export declare const getMarketDataCache: (redis: Redis, gameUniqueIdentifier: st
67
52
  * @param marketTypes - Array of market types to retrieve
68
53
  * @returns Map of game IDs to their markets with odds
69
54
  */
70
- export declare const getMarketDataCacheWithOdds: (redis: Redis, gameUniqueIdentifiers: string[], marketTypes: MarketType[]) => Promise<Map<string, MarketWithRelations[]> | null>;
71
- /**
72
- * Invalidates market data in cache for a specific game and market type
73
- * @param redis - Redis client instance
74
- * @param gameUniqueIdentifier - Unique identifier for the game
75
- * @param marketType - Type of market to invalidate
76
- */
77
- export declare const invalidateMarketDataCache: (redis: Redis, gameUniqueIdentifier: string, marketType: MarketType) => Promise<void>;
55
+ export declare const getMarketDataCacheWithOdds: (redis: Redis, query: {
56
+ gameUniqueIdentifier: string;
57
+ marketType: MarketType;
58
+ }[]) => Promise<Record<string, MarketWithRelations[]>>;
78
59
  /**
79
60
  * Retrieves all odds from cache for a specific game and market type
80
61
  * @param redis - Redis client instance
@@ -91,17 +72,8 @@ export declare const getOddsCache: (redis: Redis, gameUniqueIdentifier: string,
91
72
  * @returns Latest Odds object or null if not found
92
73
  */
93
74
  export declare const getLatestOddsCache: (redis: Redis, gameUniqueIdentifier: string, marketType: MarketType) => Promise<Odds | null>;
94
- /**
95
- * Synchronizes the market odds cache with the database
96
- * @param redis - Redis client instance
97
- * @param gameUniqueIdentifier - Unique identifier for the game
98
- * @param marketType - Type of market
99
- * @returns Boolean indicating success of synchronization
100
- */
101
- export declare const syncMarketOddsCache: (redis: Redis, gameUniqueIdentifier: string, marketType: MarketType) => Promise<boolean>;
102
75
  /**
103
76
  * Invalidates the market odds cache for a specific game and market
104
- * @param redis - Redis client instance
105
77
  * @param gameUniqueIdentifier - Unique identifier for the game
106
78
  * @param marketType - Type of market
107
79
  */
@@ -3,10 +3,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.addOddsCache = exports.invalidateMarketOddsCache = exports.syncMarketOddsCache = exports.getLatestOddsCache = exports.getOddsCache = exports.invalidateMarketDataCache = exports.getMarketDataCacheWithOdds = exports.getMarketDataCache = exports.removeCompletedMarketsKeysAndFields = exports.getCompletedMarkets = exports.getCompletedMarketsKeys = exports.setCompletedMarketsKeysAndFields = exports.setMarketDataCache = void 0;
7
- const core_1 = require("../../../core");
6
+ exports.addOddsCache = exports.invalidateMarketOddsCache = exports.getLatestOddsCache = exports.getOddsCache = exports.getMarketDataCacheWithOdds = exports.getMarketDataCache = exports.getCompletedMarkets = exports.setCompletedMarketsKeysAndFields = exports.setMarketDataCache = void 0;
7
+ const client_1 = require("@prisma/client");
8
8
  const winston_1 = __importDefault(require("../../config/winston"));
9
9
  const cache_keys_utils_1 = require("./cache.keys.utils");
10
+ const market_query_engine_1 = require("./market.query.engine");
10
11
  /**
11
12
  * A collection of functions to manage market and odds data in Redis cache
12
13
  * These functions handle operations like setting, getting, and invalidating market data and odds
@@ -22,12 +23,7 @@ const cache_keys_utils_1 = require("./cache.keys.utils");
22
23
  * @returns {Promise<void>} - Resolves when the operation is complete
23
24
  */
24
25
  const setMarketDataCache = async (redis, market) => {
25
- const key = (0, cache_keys_utils_1.getMarketOddsByGameUniqueIdKeyAndMarketType)(market.levrGameObjectId);
26
- const field = market.marketType;
27
- const success = (await redis.hset(key, field, JSON.stringify(market)));
28
- if (success <= cache_keys_utils_1.RedisNumStates.failure) {
29
- winston_1.default.error(`Failed to set market data cache for game ${market.objectId} and market type ${field}`);
30
- }
26
+ (0, market_query_engine_1.updateMarketCache)(redis, market.levrGameObjectId, market.marketType, market);
31
27
  };
32
28
  exports.setMarketDataCache = setMarketDataCache;
33
29
  /**
@@ -42,28 +38,10 @@ exports.setMarketDataCache = setMarketDataCache;
42
38
  * @param marketType - Type of market (e.g., Fulltime)
43
39
  * @audit @dev might look into the field, seems this operations could be simpler
44
40
  */
45
- const setCompletedMarketsKeysAndFields = async (redis, gameUniqueIdentifier, marketType) => {
46
- const key = (0, cache_keys_utils_1.getCompletedMarketsKey)(marketType);
47
- const field = (0, cache_keys_utils_1.getCompletedMarketsField)(gameUniqueIdentifier, marketType);
48
- const success = (await redis.hset(key, field, gameUniqueIdentifier));
49
- if (success > cache_keys_utils_1.RedisNumStates.failure) {
50
- winston_1.default.error(`Failed to set completed markets key for game ${gameUniqueIdentifier} and market type ${marketType}`);
51
- }
41
+ const setCompletedMarketsKeysAndFields = async (redis, gameUniqueIdentifier, marketType, market) => {
42
+ await (0, market_query_engine_1.updateMarketCache)(redis, gameUniqueIdentifier, marketType, market);
52
43
  };
53
44
  exports.setCompletedMarketsKeysAndFields = setCompletedMarketsKeysAndFields;
54
- /**
55
- * Retrieves all completed markets for a specific market type
56
- * @param redis - Redis client instance
57
- * @param marketType - Type of market to retrieve
58
- * @returns Array of game unique identifiers for completed markets
59
- * @dev This function fetches all completed markets keys for a given market type
60
- */
61
- const getCompletedMarketsKeys = async (redis, marketType) => {
62
- const key = (0, cache_keys_utils_1.getCompletedMarketsKey)(marketType);
63
- const completedMarketsFields = await redis.hgetall(key);
64
- return Object.values(completedMarketsFields).filter((value) => value !== "null" && value !== "undefined");
65
- };
66
- exports.getCompletedMarketsKeys = getCompletedMarketsKeys;
67
45
  /**
68
46
  * Retrieves completed markets data for multiple games
69
47
  * @param redis - Redis client instance
@@ -72,41 +50,13 @@ exports.getCompletedMarketsKeys = getCompletedMarketsKeys;
72
50
  * @returns Array of Market objects or null if none found
73
51
  */
74
52
  const getCompletedMarkets = async (redis, marketType) => {
75
- const pipeline = redis.pipeline();
76
- const completedMarketFields = await (0, exports.getCompletedMarketsKeys)(redis, marketType);
77
- completedMarketFields.forEach((identifier) => {
78
- const key = (0, cache_keys_utils_1.getMarketOddsByGameUniqueIdKeyAndMarketType)(identifier);
79
- pipeline.hget(key, marketType);
80
- });
81
- const values = await pipeline.exec();
82
- if (!values || values.length === 0)
83
- return null;
84
- const completedMarkets = [];
85
- values.forEach((data) => {
86
- const [error, value] = data;
87
- if (!error && value) {
88
- const market = JSON.parse(value);
89
- completedMarkets.push(market);
90
- }
53
+ const results = await (0, market_query_engine_1.searchMarkets)(redis, {
54
+ status: client_1.MarketStatus.Closed,
55
+ marketType: marketType,
91
56
  });
92
- return completedMarkets;
57
+ return results.results.length > 0 ? results.results : null;
93
58
  };
94
59
  exports.getCompletedMarkets = getCompletedMarkets;
95
- /**
96
- * Removes completed markets keys and fields from Redis cache
97
- * @param redis - Redis client instance
98
- * @param gameUniqueIdentifier - Unique identifier for the game
99
- * @param marketType - Type of market to remove
100
- */
101
- const removeCompletedMarketsKeysAndFields = async (redis, gameUniqueIdentifier, marketType) => {
102
- const key = (0, cache_keys_utils_1.getCompletedMarketsKey)(marketType);
103
- const field = (0, cache_keys_utils_1.getCompletedMarketsField)(gameUniqueIdentifier, marketType);
104
- const success = (await redis.hdel(key, field));
105
- if (success > cache_keys_utils_1.RedisNumStates.success) {
106
- winston_1.default.error(`Failed to remove completed markets key for game ${gameUniqueIdentifier} and market type ${marketType}`);
107
- }
108
- };
109
- exports.removeCompletedMarketsKeysAndFields = removeCompletedMarketsKeysAndFields;
110
60
  /**
111
61
  * Retrieves market data from cache for a specific game and market type
112
62
  * @param redis - Redis client instance
@@ -129,50 +79,11 @@ exports.getMarketDataCache = getMarketDataCache;
129
79
  * @param marketTypes - Array of market types to retrieve
130
80
  * @returns Map of game IDs to their markets with odds
131
81
  */
132
- const getMarketDataCacheWithOdds = async (redis, gameUniqueIdentifiers, marketTypes) => {
133
- const pipeline = redis.pipeline();
134
- gameUniqueIdentifiers.forEach((gameUniqueIdentifier) => {
135
- const key = (0, cache_keys_utils_1.getMarketOddsByGameUniqueIdKeyAndMarketType)(gameUniqueIdentifier);
136
- marketTypes.forEach((marketType) => {
137
- pipeline.hget(key, marketType);
138
- });
139
- });
140
- const oddsKey = cache_keys_utils_1.gameToMarketOfOddsInCache;
141
- const oddsFields = gameUniqueIdentifiers.flatMap((gameUniqueIdentifier) => marketTypes.map((marketType) => (0, cache_keys_utils_1.getMarketOddsField)(gameUniqueIdentifier, marketType)));
142
- const marketOdds = await redis.hmget(oddsKey, ...oddsFields);
143
- const values = await pipeline.exec();
144
- if (!values || values.length === 0)
145
- return null;
146
- const marketsMap = new Map();
147
- values.forEach((data, index) => {
148
- const [error, value] = data;
149
- if (!error && value) {
150
- const market = JSON.parse(value);
151
- const odds = marketOdds[index] ? JSON.parse(marketOdds[index]) : [];
152
- const gameId = market.levrGameObjectId;
153
- if (!marketsMap.has(gameId)) {
154
- marketsMap.set(gameId, []);
155
- }
156
- marketsMap.get(gameId)?.push({ ...market, odds });
157
- }
158
- });
159
- return marketsMap;
82
+ const getMarketDataCacheWithOdds = async (redis, query) => {
83
+ const results = await (0, market_query_engine_1.searchMultipleMarketsWithOdds)(redis, query);
84
+ return results.results;
160
85
  };
161
86
  exports.getMarketDataCacheWithOdds = getMarketDataCacheWithOdds;
162
- /**
163
- * Invalidates market data in cache for a specific game and market type
164
- * @param redis - Redis client instance
165
- * @param gameUniqueIdentifier - Unique identifier for the game
166
- * @param marketType - Type of market to invalidate
167
- */
168
- const invalidateMarketDataCache = async (redis, gameUniqueIdentifier, marketType) => {
169
- const key = (0, cache_keys_utils_1.getMarketOddsByGameUniqueIdKeyAndMarketType)(gameUniqueIdentifier);
170
- const success = (await redis.hdel(key, marketType));
171
- if (success <= cache_keys_utils_1.RedisNumStates.failure) {
172
- winston_1.default.error(`Failed to invalidate market data cache for game ${gameUniqueIdentifier} and market type ${marketType}`);
173
- }
174
- };
175
- exports.invalidateMarketDataCache = invalidateMarketDataCache;
176
87
  /**
177
88
  * Retrieves all odds from cache for a specific game and market type
178
89
  * @param redis - Redis client instance
@@ -181,11 +92,8 @@ exports.invalidateMarketDataCache = invalidateMarketDataCache;
181
92
  * @returns Array of Odds objects
182
93
  */
183
94
  const getOddsCache = async (redis, gameUniqueIdentifier, marketType) => {
184
- const key = cache_keys_utils_1.gameToMarketOfOddsInCache;
185
- const field = (0, cache_keys_utils_1.getMarketOddsField)(gameUniqueIdentifier, marketType);
186
- const valueListJson = await redis.hget(key, field);
187
- const odds = valueListJson ? JSON.parse(valueListJson) : [];
188
- return odds;
95
+ const data = await (0, market_query_engine_1.getOddsList)(redis, gameUniqueIdentifier, marketType);
96
+ return data;
189
97
  };
190
98
  exports.getOddsCache = getOddsCache;
191
99
  /**
@@ -196,47 +104,11 @@ exports.getOddsCache = getOddsCache;
196
104
  * @returns Latest Odds object or null if not found
197
105
  */
198
106
  const getLatestOddsCache = async (redis, gameUniqueIdentifier, marketType) => {
199
- try {
200
- const key = cache_keys_utils_1.gameToMarketOfOddsInCache;
201
- const field = (0, cache_keys_utils_1.getMarketOddsField)(gameUniqueIdentifier, marketType);
202
- const valueList = await redis.hget(key, field);
203
- const parsedList = valueList ? JSON.parse(valueList) : null;
204
- const parseResult = parsedList ? core_1.OddsSchema.safeParse(parsedList[parsedList.length - 1]) : null;
205
- return parseResult?.success ? parseResult.data : null;
206
- }
207
- catch (err) {
208
- winston_1.default.error("error getting latest odds from cache", err);
209
- return null;
210
- }
107
+ return await (0, market_query_engine_1.getLatestOdds)(redis, gameUniqueIdentifier, marketType);
211
108
  };
212
109
  exports.getLatestOddsCache = getLatestOddsCache;
213
- /**
214
- * Synchronizes the market odds cache with the database
215
- * @param redis - Redis client instance
216
- * @param gameUniqueIdentifier - Unique identifier for the game
217
- * @param marketType - Type of market
218
- * @returns Boolean indicating success of synchronization
219
- */
220
- const syncMarketOddsCache = async (redis, gameUniqueIdentifier, marketType) => {
221
- const key = cache_keys_utils_1.marketOddsKey;
222
- const field = (0, cache_keys_utils_1.getMarketOddsField)(gameUniqueIdentifier, marketType);
223
- const marketOdds = await redis.hget(key, field);
224
- if (!marketOdds)
225
- return false;
226
- try {
227
- const data = JSON.parse(marketOdds);
228
- winston_1.default.info(`${JSON.stringify(data)}, market odds data to be synced with database`);
229
- return true;
230
- }
231
- catch (err) {
232
- winston_1.default.error("error syncing market odds cache", err);
233
- return false;
234
- }
235
- };
236
- exports.syncMarketOddsCache = syncMarketOddsCache;
237
110
  /**
238
111
  * Invalidates the market odds cache for a specific game and market
239
- * @param redis - Redis client instance
240
112
  * @param gameUniqueIdentifier - Unique identifier for the game
241
113
  * @param marketType - Type of market
242
114
  */
@@ -257,23 +129,7 @@ exports.invalidateMarketOddsCache = invalidateMarketOddsCache;
257
129
  * @param odds - Array of new odds to add
258
130
  */
259
131
  const addOddsCache = async (redis, gameUniqueIdentifier, marketType, odds) => {
260
- try {
261
- const key = cache_keys_utils_1.gameToMarketOfOddsInCache;
262
- const field = (0, cache_keys_utils_1.getMarketOddsField)(gameUniqueIdentifier, marketType);
263
- const existingValue = await redis.hget(key, field);
264
- //'{}'
265
- const parsedOdds = existingValue ? JSON.parse(existingValue) : [];
266
- for (const line of odds) {
267
- parsedOdds.push(line);
268
- }
269
- const success = (await redis.hset(key, field, JSON.stringify(parsedOdds)));
270
- if (success <= cache_keys_utils_1.RedisNumStates.failure) {
271
- winston_1.default.error(`Failed to add odds to cache for game ${gameUniqueIdentifier} and market type ${marketType}`);
272
- }
273
- }
274
- catch (err) {
275
- winston_1.default.error("error adding odds to cache", err);
276
- }
132
+ await (0, market_query_engine_1.addOddsToOddsCache)(redis, gameUniqueIdentifier, marketType, odds);
277
133
  };
278
134
  exports.addOddsCache = addOddsCache;
279
135
  //# sourceMappingURL=market.cache.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"market.cache.service.js","sourceRoot":"","sources":["../../../../src/server/oracle/redis-cache-manager/market.cache.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"market.cache.service.js","sourceRoot":"","sources":["../../../../src/server/oracle/redis-cache-manager/market.cache.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ import { Market, MarketStatus, MarketType, Odds } from "@prisma/client";
2
+ import { Redis } from "ioredis";
3
+ import { LevrChain, MarketWithRelations } from "../../../core";
4
+ /**
5
+ * Redis Query Engine using RediSearch
6
+ * Provides advanced querying capabilities for markets and odds using Prisma types
7
+ */
8
+ export interface SearchQuery {
9
+ marketType?: MarketType;
10
+ levrGameObjectId?: string;
11
+ status?: MarketStatus;
12
+ timeRange?: {
13
+ from: number;
14
+ to: number;
15
+ };
16
+ chainId?: LevrChain;
17
+ limit?: number;
18
+ offset?: number;
19
+ }
20
+ export interface SearchResult<T> {
21
+ total: number;
22
+ results: T[];
23
+ duration: number;
24
+ }
25
+ /**
26
+ * Add a new market to cache with RediSearch indexing
27
+ * @param redis - Redis client instance
28
+ * @param gameUniqueId - Unique game identifier
29
+ * @param market - Market object to cache
30
+ */
31
+ export declare const updateMarketCache: (redis: Redis, gameUniqueId: string, marketType: MarketType, market: Market) => Promise<void>;
32
+ /**
33
+ * Creates a RediSearch index for odds lists by market identifiers
34
+ * @param redis - Redis client instance
35
+ */
36
+ export declare const createOddsIndex: (redis: Redis) => Promise<void>;
37
+ /**
38
+ * Search markets using RediSearch query engine
39
+ * @param redis - Redis client instance
40
+ * @param query - Search query parameters
41
+ * @returns Paginated search results with Prisma Market type
42
+ */
43
+ export declare const searchMarkets: (redis: Redis, query: SearchQuery) => Promise<SearchResult<Market>>;
44
+ /**
45
+ * Search markets with their associated odds
46
+ * @param redis - Redis client instance
47
+ * @param query - Search query parameters
48
+ * @returns Search results with markets and their odds
49
+ */
50
+ export declare const searchMarketsWithOdds: (redis: Redis, query: SearchQuery) => Promise<SearchResult<MarketWithRelations>>;
51
+ /**
52
+ * Search multiple markets with their associated odds using multiple queries
53
+ * @param redis - Redis client instance
54
+ * @param queries - Array of search query parameters
55
+ * @returns Combined search results with markets and their odds
56
+ */
57
+ export declare const searchMultipleMarketsWithOdds: (redis: Redis, queries: SearchQuery[]) => Promise<{
58
+ total: number;
59
+ results: Record<string, MarketWithRelations[]>;
60
+ duration: number;
61
+ }>;
62
+ /**
63
+ * Add odds to cache as a simple JSON list with searchable metadata
64
+ * @param redis - Redis client instance
65
+ * @param gameUniqueId - Unique game identifier
66
+ * @param marketType - Market type
67
+ * @param odds - Array of Odds objects to cache
68
+ */
69
+ export declare const addOddsToOddsCache: (redis: Redis, gameUniqueId: string, marketType: MarketType, odds: Odds[]) => Promise<void>;
70
+ /**
71
+ * Get all odds for a specific game and market type with pagination
72
+ * @param redis - Redis client instance
73
+ * @param gameUniqueId - Unique game identifier
74
+ * @param marketType - Market type
75
+ * @param limit - Number of latest odds to return (from the end)
76
+ * @returns Array of Odds objects
77
+ */
78
+ export declare const getOddsList: (redis: Redis, gameUniqueId: string, marketType: MarketType, limit?: number) => Promise<Odds[]>;
79
+ /**
80
+ * Search odds lists by market identifiers using RediSearch
81
+ * @param redis - Redis client instance
82
+ * @param gameMarketId - Game market ID to search
83
+ * @param marketType - Market type to search
84
+ * @param levrGameObjectId - Levr game object ID to search
85
+ * @returns Array of odds lists matching the query
86
+ */
87
+ export declare const searchOddsLists: (redis: Redis, gameMarketId?: string, marketType?: MarketType, levrGameObjectId?: string) => Promise<Odds[][]>;
88
+ /**
89
+ * Get the latest odds for a specific game and market type
90
+ * @param redis - Redis client instance
91
+ * @param gameUniqueId - Unique game identifier
92
+ * @param marketType - Market type
93
+ * @returns Latest Odds object or null if not found
94
+ */
95
+ export declare const getLatestOdds: (redis: Redis, gameUniqueId: string, marketType: MarketType) => Promise<Odds | null>;
96
+ /**
97
+ * Get the latest odds with its related market
98
+ * @param redis - Redis client instance
99
+ * @param gameUniqueId - Unique game identifier
100
+ * @param marketType - Market type
101
+ * @returns Odds with related market or null if not found
102
+ */
103
+ export declare const getLatestOddsWithMarket: (redis: Redis, gameUniqueId: string, marketType: MarketType) => Promise<(Odds & {
104
+ market?: Market;
105
+ }) | null>;
106
+ /**
107
+ * Drop all search indices
108
+ * @param redis - Redis client instance
109
+ */
110
+ export declare const dropAllIndices: (redis: Redis) => Promise<void>;
@@ -0,0 +1,413 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.dropAllIndices = exports.getLatestOddsWithMarket = exports.getLatestOdds = exports.searchOddsLists = exports.getOddsList = exports.addOddsToOddsCache = exports.searchMultipleMarketsWithOdds = exports.searchMarketsWithOdds = exports.searchMarkets = exports.createOddsIndex = exports.updateMarketCache = void 0;
7
+ const winston_1 = __importDefault(require("../../config/winston"));
8
+ const cache_keys_utils_1 = require("./cache.keys.utils");
9
+ /**
10
+ * Creates a RediSearch index with dynamic parameters
11
+ * @param redis - Redis client instance
12
+ * @param indexName - Name of the index to create
13
+ * @param indexParams - Index creation parameters (SCHEMA, PREFIX, etc.)
14
+ */
15
+ const createIndex = async (redis, indexName, indexParams) => {
16
+ try {
17
+ const indexExists = await redis.call("FT.INFO", indexName).catch(() => null);
18
+ if (indexExists) {
19
+ winston_1.default.info(`Index ${indexName} already exists`);
20
+ return;
21
+ }
22
+ await redis.call("FT.CREATE", indexName, ...indexParams);
23
+ winston_1.default.info(`Created index: ${indexName}`);
24
+ }
25
+ catch (error) {
26
+ winston_1.default.error(`Error creating index ${indexName}`, error);
27
+ }
28
+ };
29
+ /**
30
+ * Add a new market to cache with RediSearch indexing
31
+ * @param redis - Redis client instance
32
+ * @param gameUniqueId - Unique game identifier
33
+ * @param market - Market object to cache
34
+ */
35
+ const updateMarketCache = async (redis, gameUniqueId, marketType, market) => {
36
+ const key = (0, cache_keys_utils_1.getMarketKeyWithGameUniqueIdMarketType)(gameUniqueId, marketType);
37
+ await Promise.all([
38
+ redis.hset(key, market),
39
+ createIndex(redis, cache_keys_utils_1.market_index_name, [
40
+ "ON",
41
+ "HASH",
42
+ "PREFIX",
43
+ "1",
44
+ "markets_unique_id:",
45
+ "SCHEMA",
46
+ "levrGameObjectId",
47
+ "TEXT",
48
+ "marketType",
49
+ "TAG",
50
+ "objectId",
51
+ "TEXT",
52
+ "createdAt",
53
+ "NUMERIC",
54
+ "updatedAt",
55
+ "NUMERIC",
56
+ "chainId",
57
+ "NUMERIC",
58
+ "status",
59
+ "TAG",
60
+ "settledAt",
61
+ "NUMERIC",
62
+ ]),
63
+ ]);
64
+ winston_1.default.info(`Added market to cache: ${key}`);
65
+ };
66
+ exports.updateMarketCache = updateMarketCache;
67
+ /**
68
+ * Creates a RediSearch index for odds lists by market identifiers
69
+ * @param redis - Redis client instance
70
+ */
71
+ const createOddsIndex = async (redis) => {
72
+ try {
73
+ const indexName = "odds_list_idx";
74
+ const indexExists = await redis.call("FT.INFO", indexName).catch(() => null);
75
+ if (indexExists) {
76
+ winston_1.default.info("Odds list index already exists");
77
+ return;
78
+ }
79
+ await redis.call("FT.CREATE", indexName, "ON", "HASH", "PREFIX", "1", "game_to_market_ids_of_odds_in_cache_", "SCHEMA", "gameMarketId", "TEXT", "marketType", "TAG", "levrGameObjectId", "TEXT");
80
+ winston_1.default.info(`Created odds list index: ${indexName}`);
81
+ }
82
+ catch (error) {
83
+ winston_1.default.error("Error creating odds list index", error);
84
+ }
85
+ };
86
+ exports.createOddsIndex = createOddsIndex;
87
+ /**
88
+ * Search markets using RediSearch query engine
89
+ * @param redis - Redis client instance
90
+ * @param query - Search query parameters
91
+ * @returns Paginated search results with Prisma Market type
92
+ */
93
+ const searchMarkets = async (redis, query) => {
94
+ try {
95
+ const startTime = Date.now();
96
+ const indexName = cache_keys_utils_1.market_index_name;
97
+ const offset = query.offset || 0;
98
+ const limit = query.limit || 100;
99
+ const queryParts = [];
100
+ if (query.levrGameObjectId) {
101
+ queryParts.push(`@levrGameObjectId:${query.levrGameObjectId}`);
102
+ }
103
+ if (query.marketType) {
104
+ queryParts.push(`@marketType:{${query.marketType}}`);
105
+ }
106
+ if (query.status) {
107
+ queryParts.push(`@status:{${query.status}}`);
108
+ }
109
+ const finalQuery = queryParts.length > 0 ? queryParts.join(" ") : "*";
110
+ const result = await redis.call("FT.SEARCH", indexName, finalQuery, "LIMIT", offset, limit);
111
+ const [totalCount, ...items] = result;
112
+ const duration = Date.now() - startTime;
113
+ const parsedResults = [];
114
+ for (let i = 0; i < items.length; i += 2) {
115
+ const doc = items[i + 1];
116
+ if (Array.isArray(doc)) {
117
+ const obj = {};
118
+ for (let j = 0; j < doc.length; j += 2) {
119
+ obj[doc[j]] = doc[j + 1];
120
+ }
121
+ parsedResults.push(obj);
122
+ }
123
+ }
124
+ return {
125
+ total: totalCount,
126
+ results: parsedResults,
127
+ duration,
128
+ };
129
+ }
130
+ catch (error) {
131
+ winston_1.default.error("Error searching markets", error);
132
+ return {
133
+ total: 0,
134
+ results: [],
135
+ duration: 0,
136
+ };
137
+ }
138
+ };
139
+ exports.searchMarkets = searchMarkets;
140
+ /**
141
+ * Search markets with their associated odds
142
+ * @param redis - Redis client instance
143
+ * @param query - Search query parameters
144
+ * @returns Search results with markets and their odds
145
+ */
146
+ const searchMarketsWithOdds = async (redis, query) => {
147
+ try {
148
+ const startTime = Date.now();
149
+ // Get markets from search
150
+ const marketResults = await (0, exports.searchMarkets)(redis, query);
151
+ // Enrich each market with its odds
152
+ const marketsWithOdds = await Promise.all(marketResults.results.map(async (market) => {
153
+ const odds = await (0, exports.getOddsList)(redis, market.levrGameObjectId, market.marketType);
154
+ return {
155
+ ...market,
156
+ odds,
157
+ };
158
+ }));
159
+ const duration = Date.now() - startTime;
160
+ return {
161
+ total: marketResults.total,
162
+ results: marketsWithOdds,
163
+ duration,
164
+ };
165
+ }
166
+ catch (error) {
167
+ winston_1.default.error("Error searching markets with odds", error);
168
+ return {
169
+ total: 0,
170
+ results: [],
171
+ duration: 0,
172
+ };
173
+ }
174
+ };
175
+ exports.searchMarketsWithOdds = searchMarketsWithOdds;
176
+ /**
177
+ * Search multiple markets with their associated odds using multiple queries
178
+ * @param redis - Redis client instance
179
+ * @param queries - Array of search query parameters
180
+ * @returns Combined search results with markets and their odds
181
+ */
182
+ const searchMultipleMarketsWithOdds = async (redis, queries) => {
183
+ try {
184
+ const startTime = Date.now();
185
+ const allResults = {};
186
+ let totalCount = 0;
187
+ // Execute each query and collect results
188
+ for (const query of queries) {
189
+ const marketResults = await (0, exports.searchMarkets)(redis, query);
190
+ totalCount += marketResults.total;
191
+ // Enrich each market with its odds
192
+ const marketsWithOdds = await Promise.all(marketResults.results.map(async (market) => {
193
+ const odds = await (0, exports.getOddsList)(redis, market.levrGameObjectId, market.marketType);
194
+ return {
195
+ ...market,
196
+ odds,
197
+ };
198
+ }));
199
+ marketsWithOdds.forEach((market) => {
200
+ if (market.levrGameObjectId) {
201
+ if (!allResults[market.levrGameObjectId]) {
202
+ allResults[market.levrGameObjectId] = [];
203
+ }
204
+ allResults[market.levrGameObjectId]?.push(market);
205
+ }
206
+ });
207
+ }
208
+ const duration = Date.now() - startTime;
209
+ return {
210
+ total: totalCount,
211
+ results: allResults,
212
+ duration,
213
+ };
214
+ }
215
+ catch (error) {
216
+ winston_1.default.error("Error searching multiple markets with odds", error);
217
+ return {
218
+ total: 0,
219
+ results: {},
220
+ duration: 0,
221
+ };
222
+ }
223
+ };
224
+ exports.searchMultipleMarketsWithOdds = searchMultipleMarketsWithOdds;
225
+ /**
226
+ * Add odds to cache as a simple JSON list with searchable metadata
227
+ * @param redis - Redis client instance
228
+ * @param gameUniqueId - Unique game identifier
229
+ * @param marketType - Market type
230
+ * @param odds - Array of Odds objects to cache
231
+ */
232
+ const addOddsToOddsCache = async (redis, gameUniqueId, marketType, odds) => {
233
+ try {
234
+ const key = cache_keys_utils_1.gameToMarketOfOddsInCache;
235
+ const field = (0, cache_keys_utils_1.getMarketOddsField)(gameUniqueId, marketType);
236
+ // Get existing odds if any
237
+ const existingValue = await redis.hget(key, field);
238
+ const existingOdds = existingValue ? JSON.parse(existingValue) : [];
239
+ // Append new odds to existing list
240
+ const allOdds = [...existingOdds, ...odds];
241
+ // Store the entire list as JSON and add indexable metadata
242
+ const gameMarketId = odds[0]?.gameMarketId || "";
243
+ await Promise.all([
244
+ redis.hset(key, field, JSON.stringify(allOdds)),
245
+ redis.hset(key, "gameMarketId", gameMarketId),
246
+ redis.hset(key, "marketType", marketType),
247
+ redis.hset(key, "levrGameObjectId", gameUniqueId),
248
+ (0, exports.createOddsIndex)(redis),
249
+ ]);
250
+ winston_1.default.info(`Added ${odds.length} odds to cache: ${key}:${field}`);
251
+ }
252
+ catch (error) {
253
+ winston_1.default.error("Error adding odds to cache", error);
254
+ throw error;
255
+ }
256
+ };
257
+ exports.addOddsToOddsCache = addOddsToOddsCache;
258
+ /**
259
+ * Get all odds for a specific game and market type with pagination
260
+ * @param redis - Redis client instance
261
+ * @param gameUniqueId - Unique game identifier
262
+ * @param marketType - Market type
263
+ * @param limit - Number of latest odds to return (from the end)
264
+ * @returns Array of Odds objects
265
+ */
266
+ const getOddsList = async (redis, gameUniqueId, marketType, limit = 10) => {
267
+ try {
268
+ const key = cache_keys_utils_1.gameToMarketOfOddsInCache;
269
+ const field = (0, cache_keys_utils_1.getMarketOddsField)(gameUniqueId, marketType);
270
+ const value = await redis.hget(key, field);
271
+ if (!value) {
272
+ return [];
273
+ }
274
+ const oddsList = JSON.parse(value);
275
+ // Return the last N odds entries
276
+ const startIndex = Math.max(0, oddsList.length - limit);
277
+ return oddsList.slice(startIndex);
278
+ }
279
+ catch (error) {
280
+ winston_1.default.error("Error getting odds list", error);
281
+ return [];
282
+ }
283
+ };
284
+ exports.getOddsList = getOddsList;
285
+ /**
286
+ * Search odds lists by market identifiers using RediSearch
287
+ * @param redis - Redis client instance
288
+ * @param gameMarketId - Game market ID to search
289
+ * @param marketType - Market type to search
290
+ * @param levrGameObjectId - Levr game object ID to search
291
+ * @returns Array of odds lists matching the query
292
+ */
293
+ const searchOddsLists = async (redis, gameMarketId, marketType, levrGameObjectId) => {
294
+ try {
295
+ const indexName = "odds_list_idx";
296
+ const queryParts = [];
297
+ if (gameMarketId) {
298
+ queryParts.push(`@gameMarketId:${gameMarketId}`);
299
+ }
300
+ if (marketType) {
301
+ queryParts.push(`@marketType:{${marketType}}`);
302
+ }
303
+ if (levrGameObjectId) {
304
+ queryParts.push(`@levrGameObjectId:${levrGameObjectId}`);
305
+ }
306
+ const finalQuery = queryParts.length > 0 ? queryParts.join(" ") : "*";
307
+ const result = await redis.call("FT.SEARCH", indexName, finalQuery, "LIMIT", 0, 100);
308
+ const [, ...items] = result;
309
+ const oddsList = [];
310
+ for (let i = 0; i < items.length; i += 2) {
311
+ const doc = items[i + 1];
312
+ if (Array.isArray(doc)) {
313
+ const obj = {};
314
+ for (let j = 0; j < doc.length; j += 2) {
315
+ obj[doc[j]] = doc[j + 1];
316
+ }
317
+ // Extract the odds list field
318
+ const field = Object.keys(obj).find((k) => k.includes(":"));
319
+ if (field && obj[field]) {
320
+ const parsed = JSON.parse(obj[field]);
321
+ oddsList.push(parsed);
322
+ }
323
+ }
324
+ }
325
+ return oddsList;
326
+ }
327
+ catch (error) {
328
+ winston_1.default.error("Error searching odds lists", error);
329
+ return [];
330
+ }
331
+ };
332
+ exports.searchOddsLists = searchOddsLists;
333
+ /**
334
+ * Get the latest odds for a specific game and market type
335
+ * @param redis - Redis client instance
336
+ * @param gameUniqueId - Unique game identifier
337
+ * @param marketType - Market type
338
+ * @returns Latest Odds object or null if not found
339
+ */
340
+ const getLatestOdds = async (redis, gameUniqueId, marketType) => {
341
+ try {
342
+ const key = cache_keys_utils_1.gameToMarketOfOddsInCache;
343
+ const field = (0, cache_keys_utils_1.getMarketOddsField)(gameUniqueId, marketType);
344
+ const value = await redis.hget(key, field);
345
+ if (!value) {
346
+ return null;
347
+ }
348
+ const oddsList = JSON.parse(value);
349
+ if (oddsList.length === 0) {
350
+ return null;
351
+ }
352
+ // Return the last (most recent) odds entry
353
+ const lastOdds = oddsList[oddsList.length - 1];
354
+ return lastOdds ?? null;
355
+ }
356
+ catch (error) {
357
+ winston_1.default.error("Error getting latest odds", error);
358
+ return null;
359
+ }
360
+ };
361
+ exports.getLatestOdds = getLatestOdds;
362
+ /**
363
+ * Get the latest odds with its related market
364
+ * @param redis - Redis client instance
365
+ * @param gameUniqueId - Unique game identifier
366
+ * @param marketType - Market type
367
+ * @returns Odds with related market or null if not found
368
+ */
369
+ const getLatestOddsWithMarket = async (redis, gameUniqueId, marketType) => {
370
+ try {
371
+ // Get the latest odds
372
+ const latestOdds = await (0, exports.getLatestOdds)(redis, gameUniqueId, marketType);
373
+ if (!latestOdds) {
374
+ return null;
375
+ }
376
+ // Get the related market
377
+ const key = (0, cache_keys_utils_1.getMarketKeyWithGameUniqueIdMarketType)(gameUniqueId, marketType);
378
+ const marketData = await redis.hgetall(key);
379
+ if (Object.keys(marketData).length === 0) {
380
+ return latestOdds;
381
+ }
382
+ const market = marketData;
383
+ return {
384
+ ...latestOdds,
385
+ market,
386
+ };
387
+ }
388
+ catch (error) {
389
+ winston_1.default.error("Error getting latest odds with market", error);
390
+ return null;
391
+ }
392
+ };
393
+ exports.getLatestOddsWithMarket = getLatestOddsWithMarket;
394
+ /**
395
+ * Drop all search indices
396
+ * @param redis - Redis client instance
397
+ */
398
+ const dropAllIndices = async (redis) => {
399
+ try {
400
+ const indices = ["market_idx"];
401
+ for (const idx of indices) {
402
+ await redis.call("FT.DROPINDEX", idx).catch(() => {
403
+ winston_1.default.warn(`Index ${idx} does not exist`);
404
+ });
405
+ }
406
+ winston_1.default.info("Dropped search indices");
407
+ }
408
+ catch (error) {
409
+ winston_1.default.error("Error dropping indices", error);
410
+ }
411
+ };
412
+ exports.dropAllIndices = dropAllIndices;
413
+ //# sourceMappingURL=market.query.engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"market.query.engine.js","sourceRoot":"","sources":["../../../../src/server/oracle/redis-cache-manager/market.query.engine.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@levrbet/shared",
3
- "version": "0.2.66",
3
+ "version": "0.2.68",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "exports": {