@winible/winible-typed 2.103.0 → 2.104.0
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.
|
@@ -25,11 +25,43 @@ const logger_1 = __importDefault(require("../logger"));
|
|
|
25
25
|
class CacheService {
|
|
26
26
|
constructor() {
|
|
27
27
|
this.client = null;
|
|
28
|
+
this.errorHandler = null;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Set a custom error handler for capturing errors to Sentry or other services
|
|
32
|
+
* @param handler - Function to handle errors
|
|
33
|
+
*/
|
|
34
|
+
setErrorHandler(handler) {
|
|
35
|
+
this.errorHandler = handler;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Internal method to handle errors
|
|
39
|
+
* Uses custom error handler if set, otherwise falls back to logger only
|
|
40
|
+
*/
|
|
41
|
+
handleError(error, message, context) {
|
|
42
|
+
if (this.errorHandler) {
|
|
43
|
+
error.name = context.method;
|
|
44
|
+
this.errorHandler(error, undefined, context);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
// Fallback to logger if no error handler is set
|
|
48
|
+
(0, logger_1.default)(message, {
|
|
49
|
+
level: "error",
|
|
50
|
+
method: (context === null || context === void 0 ? void 0 : context.method) || "CacheService",
|
|
51
|
+
action: (context === null || context === void 0 ? void 0 : context.action) || "error",
|
|
52
|
+
error,
|
|
53
|
+
additionalData: context === null || context === void 0 ? void 0 : context.additionalData,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
28
56
|
}
|
|
29
57
|
/**
|
|
30
58
|
* Initialize the Cache client
|
|
59
|
+
* @param errorHandler - Optional error handler for Sentry integration
|
|
31
60
|
*/
|
|
32
|
-
async initialize() {
|
|
61
|
+
async initialize(errorHandler) {
|
|
62
|
+
if (errorHandler) {
|
|
63
|
+
this.errorHandler = errorHandler;
|
|
64
|
+
}
|
|
33
65
|
try {
|
|
34
66
|
const host = process.env.ELASTICACHE_HOST;
|
|
35
67
|
const port = parseInt(process.env.ELASTICACHE_PORT || "6379", 10);
|
|
@@ -102,7 +134,7 @@ class CacheService {
|
|
|
102
134
|
// Wait for connection with timeout and throw if it fails
|
|
103
135
|
await Promise.race([
|
|
104
136
|
this.client.ping(),
|
|
105
|
-
new Promise((_, reject) => setTimeout(() => reject(new Error("Connection timeout after
|
|
137
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error("Connection timeout after 20 seconds")), 20000)),
|
|
106
138
|
]);
|
|
107
139
|
(0, logger_1.default)("Cache client connected successfully", {
|
|
108
140
|
level: "info",
|
|
@@ -111,13 +143,11 @@ class CacheService {
|
|
|
111
143
|
});
|
|
112
144
|
}
|
|
113
145
|
catch (error) {
|
|
114
|
-
(
|
|
115
|
-
level: "error",
|
|
146
|
+
this.handleError(error, null, {
|
|
116
147
|
method: "CacheService.initialize",
|
|
117
148
|
action: "error",
|
|
118
|
-
additionalData: { error },
|
|
149
|
+
additionalData: { message: error.message || "Failed to initialize cache client", },
|
|
119
150
|
});
|
|
120
|
-
throw error;
|
|
121
151
|
}
|
|
122
152
|
}
|
|
123
153
|
/**
|
|
@@ -134,11 +164,10 @@ class CacheService {
|
|
|
134
164
|
return JSON.parse(value);
|
|
135
165
|
}
|
|
136
166
|
catch (error) {
|
|
137
|
-
(
|
|
138
|
-
level: "error",
|
|
167
|
+
this.handleError(error, null, {
|
|
139
168
|
method: "CacheService.get",
|
|
140
169
|
action: "error",
|
|
141
|
-
additionalData: {
|
|
170
|
+
additionalData: { message: "Failed to get value from cache", key },
|
|
142
171
|
});
|
|
143
172
|
return null;
|
|
144
173
|
}
|
|
@@ -160,13 +189,11 @@ class CacheService {
|
|
|
160
189
|
}
|
|
161
190
|
}
|
|
162
191
|
catch (error) {
|
|
163
|
-
(
|
|
164
|
-
level: "error",
|
|
192
|
+
this.handleError(error, null, {
|
|
165
193
|
method: "CacheService.set",
|
|
166
194
|
action: "error",
|
|
167
|
-
additionalData: { key, ttl
|
|
195
|
+
additionalData: { message: "Failed to set value in cache", key, ttl },
|
|
168
196
|
});
|
|
169
|
-
throw error;
|
|
170
197
|
}
|
|
171
198
|
}
|
|
172
199
|
/**
|
|
@@ -178,13 +205,11 @@ class CacheService {
|
|
|
178
205
|
await this.client.del(key);
|
|
179
206
|
}
|
|
180
207
|
catch (error) {
|
|
181
|
-
(
|
|
182
|
-
level: "error",
|
|
208
|
+
this.handleError(error, null, {
|
|
183
209
|
method: "CacheService.delete",
|
|
184
210
|
action: "error",
|
|
185
|
-
additionalData: { key,
|
|
211
|
+
additionalData: { message: "Failed to delete key from cache", key },
|
|
186
212
|
});
|
|
187
|
-
throw error;
|
|
188
213
|
}
|
|
189
214
|
}
|
|
190
215
|
/**
|
|
@@ -205,11 +230,10 @@ class CacheService {
|
|
|
205
230
|
return keys;
|
|
206
231
|
}
|
|
207
232
|
catch (error) {
|
|
208
|
-
(
|
|
209
|
-
level: "error",
|
|
233
|
+
this.handleError(error, null, {
|
|
210
234
|
method: "CacheService.keys",
|
|
211
235
|
action: "error",
|
|
212
|
-
additionalData: {
|
|
236
|
+
additionalData: { message: "Failed to get keys from cache", pattern },
|
|
213
237
|
});
|
|
214
238
|
return [];
|
|
215
239
|
}
|
|
@@ -225,11 +249,10 @@ class CacheService {
|
|
|
225
249
|
return size;
|
|
226
250
|
}
|
|
227
251
|
catch (error) {
|
|
228
|
-
(
|
|
229
|
-
level: "error",
|
|
252
|
+
this.handleError(error, null, {
|
|
230
253
|
method: "CacheService.dbsize",
|
|
231
254
|
action: "error",
|
|
232
|
-
additionalData: {
|
|
255
|
+
additionalData: { message: "Failed to get database size" },
|
|
233
256
|
});
|
|
234
257
|
return 0;
|
|
235
258
|
}
|
|
@@ -256,13 +279,11 @@ class CacheService {
|
|
|
256
279
|
}
|
|
257
280
|
}
|
|
258
281
|
catch (error) {
|
|
259
|
-
(
|
|
260
|
-
level: "error",
|
|
282
|
+
this.handleError(error, null, {
|
|
261
283
|
method: "CacheService.clearPattern",
|
|
262
284
|
action: "error",
|
|
263
|
-
additionalData: { pattern,
|
|
285
|
+
additionalData: { message: "Failed to clear keys matching pattern", pattern },
|
|
264
286
|
});
|
|
265
|
-
throw error;
|
|
266
287
|
}
|
|
267
288
|
}
|
|
268
289
|
/**
|
|
@@ -276,11 +297,10 @@ class CacheService {
|
|
|
276
297
|
return result === 1;
|
|
277
298
|
}
|
|
278
299
|
catch (error) {
|
|
279
|
-
(
|
|
280
|
-
level: "error",
|
|
300
|
+
this.handleError(error, null, {
|
|
281
301
|
method: "CacheService.exists",
|
|
282
302
|
action: "error",
|
|
283
|
-
additionalData: { key,
|
|
303
|
+
additionalData: { message: "Failed to check if key exists", key },
|
|
284
304
|
});
|
|
285
305
|
return false;
|
|
286
306
|
}
|
|
@@ -304,13 +324,11 @@ class CacheService {
|
|
|
304
324
|
await pipeline.exec();
|
|
305
325
|
}
|
|
306
326
|
catch (error) {
|
|
307
|
-
(
|
|
308
|
-
level: "error",
|
|
327
|
+
this.handleError(error, null, {
|
|
309
328
|
method: "CacheService.mset",
|
|
310
329
|
action: "error",
|
|
311
|
-
additionalData: { count: entries.length
|
|
330
|
+
additionalData: { message: "Failed to set multiple values in cache", count: entries.length },
|
|
312
331
|
});
|
|
313
|
-
throw error;
|
|
314
332
|
}
|
|
315
333
|
}
|
|
316
334
|
/**
|
|
@@ -324,11 +342,10 @@ class CacheService {
|
|
|
324
342
|
return values.map((value) => value ? JSON.parse(value) : null);
|
|
325
343
|
}
|
|
326
344
|
catch (error) {
|
|
327
|
-
(
|
|
328
|
-
level: "error",
|
|
345
|
+
this.handleError(error, null, {
|
|
329
346
|
method: "CacheService.mget",
|
|
330
347
|
action: "error",
|
|
331
|
-
additionalData: { count: keys.length
|
|
348
|
+
additionalData: { message: "Failed to get multiple values from cache", count: keys.length },
|
|
332
349
|
});
|
|
333
350
|
return keys.map(() => null);
|
|
334
351
|
}
|
|
@@ -344,13 +361,12 @@ class CacheService {
|
|
|
344
361
|
return await this.client.incrby(key, increment);
|
|
345
362
|
}
|
|
346
363
|
catch (error) {
|
|
347
|
-
(
|
|
348
|
-
level: "error",
|
|
364
|
+
this.handleError(error, null, {
|
|
349
365
|
method: "CacheService.increment",
|
|
350
366
|
action: "error",
|
|
351
|
-
additionalData: { key, increment
|
|
367
|
+
additionalData: { message: "Failed to increment value in cache", key, increment },
|
|
352
368
|
});
|
|
353
|
-
|
|
369
|
+
return 0;
|
|
354
370
|
}
|
|
355
371
|
}
|
|
356
372
|
/**
|
|
@@ -364,13 +380,12 @@ class CacheService {
|
|
|
364
380
|
return await this.client.decrby(key, decrement);
|
|
365
381
|
}
|
|
366
382
|
catch (error) {
|
|
367
|
-
(
|
|
368
|
-
level: "error",
|
|
383
|
+
this.handleError(error, null, {
|
|
369
384
|
method: "CacheService.decrement",
|
|
370
385
|
action: "error",
|
|
371
|
-
additionalData: { key, decrement
|
|
386
|
+
additionalData: { message: "Failed to decrement value in cache", key, decrement },
|
|
372
387
|
});
|
|
373
|
-
|
|
388
|
+
return 0;
|
|
374
389
|
}
|
|
375
390
|
}
|
|
376
391
|
/**
|
|
@@ -385,13 +400,12 @@ class CacheService {
|
|
|
385
400
|
return result === 1;
|
|
386
401
|
}
|
|
387
402
|
catch (error) {
|
|
388
|
-
(
|
|
389
|
-
level: "error",
|
|
403
|
+
this.handleError(error, null, {
|
|
390
404
|
method: "CacheService.expire",
|
|
391
405
|
action: "error",
|
|
392
|
-
additionalData: { key,
|
|
406
|
+
additionalData: { message: "Failed to set expiration on key", key, ttl },
|
|
393
407
|
});
|
|
394
|
-
|
|
408
|
+
return false;
|
|
395
409
|
}
|
|
396
410
|
}
|
|
397
411
|
/**
|
|
@@ -404,11 +418,10 @@ class CacheService {
|
|
|
404
418
|
return await this.client.ttl(key);
|
|
405
419
|
}
|
|
406
420
|
catch (error) {
|
|
407
|
-
(
|
|
408
|
-
level: "error",
|
|
421
|
+
this.handleError(error, null, {
|
|
409
422
|
method: "CacheService.ttl",
|
|
410
423
|
action: "error",
|
|
411
|
-
additionalData: { key,
|
|
424
|
+
additionalData: { message: "Failed to get TTL for key", key },
|
|
412
425
|
});
|
|
413
426
|
return -2;
|
|
414
427
|
}
|
|
@@ -442,13 +455,11 @@ class CacheService {
|
|
|
442
455
|
return result;
|
|
443
456
|
}
|
|
444
457
|
catch (error) {
|
|
445
|
-
(
|
|
446
|
-
level: "error",
|
|
458
|
+
this.handleError(error, null, {
|
|
447
459
|
method: "CacheService.ping",
|
|
448
460
|
action: "error",
|
|
449
|
-
additionalData: {
|
|
461
|
+
additionalData: { message: "Failed to ping cache client" },
|
|
450
462
|
});
|
|
451
|
-
throw error;
|
|
452
463
|
}
|
|
453
464
|
}
|
|
454
465
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cacheService.js","sourceRoot":"","sources":["../../../utils/cacheService/cacheService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cacheService.js","sourceRoot":"","sources":["../../../utils/cacheService/cacheService.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA4B;AAC5B,uDAA+B;AAe/B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,YAAY;IAAlB;QACU,WAAM,GAAiB,IAAI,CAAC;QAC5B,iBAAY,GAAQ,IAAI,CAAC;IAkdnC,CAAC;IAhdC;;;OAGG;IACH,eAAe,CAAC,OAAY;QAC1B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACK,WAAW,CACjB,KAAU,EACV,OAAe,EACf,OAIC;QAED,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAA;YAC3B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;SAC9C;aAAM;YACL,gDAAgD;YAChD,IAAA,gBAAM,EAAC,OAAO,EAAE;gBACd,KAAK,EAAE,OAAO;gBACd,MAAM,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,KAAI,cAAc;gBACzC,MAAM,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,KAAI,OAAO;gBAClC,KAAK;gBACL,cAAc,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc;aACxC,CAAC,CAAC;SACJ;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,YAA2B;QAC1C,IAAI,YAAY,EAAE;YAChB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;SAClC;QACD,IAAI;YACF,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;YAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;YAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;YAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;YAElD,IAAI,CAAC,IAAI,EAAE;gBACT,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;aACtE;YACD,IAAI,CAAC,QAAQ,EAAE;gBACb,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;aAC1E;YACD,IAAI,CAAC,QAAQ,EAAE;gBACb,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;aAC1E;YAED,IAAA,gBAAM,EAAC,2BAA2B,EAAE;gBAClC,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,yBAAyB;gBACjC,MAAM,EAAE,OAAO;gBACf,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aACzC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,GAAG,IAAI,iBAAK,CAAC;gBACtB,IAAI;gBACJ,IAAI;gBACJ,QAAQ;gBACR,QAAQ;gBACR,cAAc,EAAE,KAAK;gBACrB,aAAa,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC/B,iCAAiC;oBACjC,IAAI,KAAK,GAAG,CAAC,EAAE;wBACb,OAAO,IAAI,CAAC,CAAC,yDAAyD;qBACvE;oBACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;oBACzC,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,oBAAoB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,EAAE,CAAC,IAAI,CAAC;gBAC5E,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,OAAO;oBACjF,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBACP,kBAAkB,EAAE,IAAI;iBACzB;aACJ,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;gBAC7B,IAAA,gBAAM,EAAC,wBAAwB,EAAE;oBAC/B,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,cAAc;oBACtB,MAAM,EAAE,WAAW;iBACpB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAC3B,IAAA,gBAAM,EAAC,oBAAoB,EAAE;oBAC3B,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,cAAc;oBACtB,MAAM,EAAE,OAAO;iBAChB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAChC,IAAA,gBAAM,EAAC,oBAAoB,EAAE;oBAC3B,KAAK,EAAE,OAAO;oBACd,MAAM,EAAE,cAAc;oBACtB,MAAM,EAAE,OAAO;oBACf,cAAc,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE;iBACzC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAC3B,IAAA,gBAAM,EAAC,2BAA2B,EAAE;oBAClC,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,cAAc;oBACtB,MAAM,EAAE,cAAc;iBACvB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,yDAAyD;YACzD,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;gBAClB,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CACxB,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC,EAAE,KAAK,CAAC,CAClF;aACF,CAAC,CAAC;YAEH,IAAA,gBAAM,EAAC,qCAAqC,EAAE;gBAC5C,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,yBAAyB;gBACjC,MAAM,EAAE,WAAW;aACpB,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE;gBAC5B,MAAM,EAAE,yBAAyB;gBACjC,MAAM,EAAE,OAAO;gBACf,cAAc,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,mCAAmC,GAAG;aACnF,CAAC,CAAC;SACJ;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,GAAG,CAAI,GAAW;QACtB,IAAI;YACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,KAAK,KAAK,IAAI,EAAE;gBAClB,OAAO,IAAI,CAAC;aACb;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAM,CAAC;SAC/B;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE;gBAC5B,MAAM,EAAE,kBAAkB;gBAC1B,MAAM,EAAE,OAAO;gBACf,cAAc,EAAE,EAAE,OAAO,EAAE,gCAAgC,EAAE,GAAG,EAAE;aACnE,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAI,GAAW,EAAE,KAAQ,EAAE,GAAY;QAC9C,IAAI;YACF,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,GAAG,EAAE;gBACP,MAAM,IAAI,CAAC,MAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;aAChD;iBAAM;gBACL,MAAM,IAAI,CAAC,MAAO,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;aACzC;SACF;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE;gBAC5B,MAAM,EAAE,kBAAkB;gBAC1B,MAAM,EAAE,OAAO;gBACf,cAAc,EAAE,EAAE,OAAO,EAAE,8BAA8B,EAAE,GAAG,EAAE,GAAG,EAAE;aACtE,CAAC,CAAC;SACJ;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,IAAI;YACF,MAAM,IAAI,CAAC,MAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SAC7B;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE;gBAC5B,MAAM,EAAE,qBAAqB;gBAC7B,MAAM,EAAE,OAAO;gBACf,cAAc,EAAE,EAAE,OAAO,EAAE,iCAAiC,EAAE,GAAG,EAAE;aACpE,CAAC,CAAC;SACJ;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,OAAe;QACxB,IAAI;YACF,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,IAAI,MAAM,GAAG,GAAG,CAAC;YAEjB,GAAG;gBACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAO,CAAC,IAAI,CACpC,MAAM,EACN,OAAO,EACP,OAAO,EACP,OAAO,EACP,GAAG,CACJ,CAAC;gBACF,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACnB,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;aACzB,QAAQ,MAAM,KAAK,GAAG,EAAE;YAEzB,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE;gBAC5B,MAAM,EAAE,mBAAmB;gBAC3B,MAAM,EAAE,OAAO;gBACf,cAAc,EAAE,EAAE,OAAO,EAAE,+BAA+B,EAAE,OAAO,EAAE;aACtE,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;SACX;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM;QACV,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAO,CAAC,MAAM,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE;gBAC5B,MAAM,EAAE,qBAAqB;gBAC7B,MAAM,EAAE,OAAO;gBACf,cAAc,EAAE,EAAE,OAAO,EAAE,6BAA6B,EAAE;aAC3D,CAAC,CAAC;YACH,OAAO,CAAC,CAAC;SACV;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,OAAe;QAChC,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnB,qDAAqD;gBACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAO,CAAC,QAAQ,EAAE,CAAC;gBACzC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACtB,IAAA,gBAAM,EAAC,+BAA+B,EAAE;oBACtC,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,2BAA2B;oBACnC,MAAM,EAAE,WAAW;oBACnB,cAAc,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;iBAChD,CAAC,CAAC;aACJ;SACF;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE;gBAC5B,MAAM,EAAE,2BAA2B;gBACnC,MAAM,EAAE,OAAO;gBACf,cAAc,EAAE,EAAE,OAAO,EAAE,uCAAuC,EAAE,OAAO,EAAE;aAC9E,CAAC,CAAC;SACJ;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC9C,OAAO,MAAM,KAAK,CAAC,CAAC;SACrB;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE;gBAC5B,MAAM,EAAE,qBAAqB;gBAC7B,MAAM,EAAE,OAAO;gBACf,cAAc,EAAE,EAAE,OAAO,EAAE,+BAA+B,EAAE,GAAG,EAAE;aAClE,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI,CACR,OAAyD;QAEzD,IAAI;YACF,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAO,CAAC,QAAQ,EAAE,CAAC;YACzC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;gBACtC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACzC,IAAI,GAAG,EAAE;oBACP,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;iBACtC;qBAAM;oBACL,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;iBAC/B;YACH,CAAC,CAAC,CAAC;YACH,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;SACvB;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE;gBAC5B,MAAM,EAAE,mBAAmB;gBAC3B,MAAM,EAAE,OAAO;gBACf,cAAc,EAAE,EAAE,OAAO,EAAE,wCAAwC,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE;aAC7F,CAAC,CAAC;SACJ;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAI,IAAc;QAC1B,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YAChD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1B,KAAK,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAO,CAAC,CAAC,CAAC,IAAI,CACxC,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE;gBAC5B,MAAM,EAAE,mBAAmB;gBAC3B,MAAM,EAAE,OAAO;gBACf,cAAc,EAAE,EAAE,OAAO,EAAE,0CAA0C,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;aAC5F,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;SAC7B;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,GAAW,EAAE,YAAoB,CAAC;QAChD,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,MAAO,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;SAClD;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE;gBAC5B,MAAM,EAAE,wBAAwB;gBAChC,MAAM,EAAE,OAAO;gBACf,cAAc,EAAE,EAAE,OAAO,EAAE,oCAAoC,EAAE,GAAG,EAAE,SAAS,EAAE;aAClF,CAAC,CAAC;YACH,OAAO,CAAC,CAAC;SACV;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,GAAW,EAAE,YAAoB,CAAC;QAChD,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,MAAO,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;SAClD;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE;gBAC5B,MAAM,EAAE,wBAAwB;gBAChC,MAAM,EAAE,OAAO;gBACf,cAAc,EAAE,EAAE,OAAO,EAAE,oCAAoC,EAAE,GAAG,EAAE,SAAS,EAAE;aAClF,CAAC,CAAC;YACH,OAAO,CAAC,CAAC;SACV;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,GAAW,EAAE,GAAW;QACnC,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAO,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACnD,OAAO,MAAM,KAAK,CAAC,CAAC;SACrB;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE;gBAC5B,MAAM,EAAE,qBAAqB;gBAC7B,MAAM,EAAE,OAAO;gBACf,cAAc,EAAE,EAAE,OAAO,EAAE,iCAAiC,EAAE,GAAG,EAAE,GAAG,EAAE;aACzE,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,MAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACpC;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE;gBAC5B,MAAM,EAAE,kBAAkB;gBAC1B,MAAM,EAAE,OAAO;gBACf,cAAc,EAAE,EAAE,OAAO,EAAE,2BAA2B,EAAE,GAAG,EAAE;aAC9D,CAAC,CAAC;YACH,OAAO,CAAC,CAAC,CAAC;SACX;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI;gBACF,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;aAC1B;YAAC,OAAO,KAAK,EAAE;gBACd,iCAAiC;gBACjC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;aAC1B;YACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,8BAA8B;YAC9B,2BAA2B;YAC3B,IAAA,gBAAM,EAAC,2BAA2B,EAAE;gBAClC,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,yBAAyB;gBACjC,MAAM,EAAE,WAAW;aACpB,CAAC,CAAC;SACJ;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAO,CAAC,IAAI,EAAE,CAAC;YACzC,OAAO,MAAM,CAAC;SACf;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE;gBAC5B,MAAM,EAAE,mBAAmB;gBAC3B,MAAM,EAAE,OAAO;gBACf,cAAc,EAAE,EAAE,OAAO,EAAE,6BAA6B,EAAE;aAC3D,CAAC,CAAC;SACJ;IACH,CAAC;CACF;AAED,4BAA4B;AACf,QAAA,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;AAE/C,+CAA+C;AAC/C,kBAAe,YAAY,CAAC"}
|
package/package.json
CHANGED
|
@@ -40,22 +40,67 @@ describe('CacheService', () => {
|
|
|
40
40
|
});
|
|
41
41
|
|
|
42
42
|
describe('Initialization', () => {
|
|
43
|
-
it('should
|
|
43
|
+
it('should handle error when ELASTICACHE_HOST is not set', async () => {
|
|
44
|
+
const mockErrorHandler = jest.fn();
|
|
44
45
|
delete process.env.ELASTICACHE_HOST;
|
|
45
46
|
const service = new CacheService();
|
|
46
|
-
|
|
47
|
+
|
|
48
|
+
await service.initialize(mockErrorHandler);
|
|
49
|
+
|
|
50
|
+
expect(mockErrorHandler).toHaveBeenCalledWith(
|
|
51
|
+
expect.any(Error),
|
|
52
|
+
undefined,
|
|
53
|
+
expect.objectContaining({
|
|
54
|
+
method: 'CacheService.initialize',
|
|
55
|
+
action: 'error',
|
|
56
|
+
additionalData: expect.objectContaining({
|
|
57
|
+
message: expect.any(String),
|
|
58
|
+
}),
|
|
59
|
+
})
|
|
60
|
+
);
|
|
61
|
+
await service.disconnect();
|
|
47
62
|
});
|
|
48
63
|
|
|
49
|
-
it('should
|
|
64
|
+
it('should handle error when ELASTICACHE_USERNAME is not set', async () => {
|
|
65
|
+
const mockErrorHandler = jest.fn();
|
|
50
66
|
delete process.env.ELASTICACHE_USERNAME;
|
|
51
67
|
const service = new CacheService();
|
|
52
|
-
|
|
68
|
+
|
|
69
|
+
await service.initialize(mockErrorHandler);
|
|
70
|
+
|
|
71
|
+
expect(mockErrorHandler).toHaveBeenCalledWith(
|
|
72
|
+
expect.any(Error),
|
|
73
|
+
undefined,
|
|
74
|
+
expect.objectContaining({
|
|
75
|
+
method: 'CacheService.initialize',
|
|
76
|
+
action: 'error',
|
|
77
|
+
additionalData: expect.objectContaining({
|
|
78
|
+
message: expect.any(String),
|
|
79
|
+
}),
|
|
80
|
+
})
|
|
81
|
+
);
|
|
82
|
+
await service.disconnect();
|
|
53
83
|
});
|
|
54
84
|
|
|
55
|
-
it('should
|
|
85
|
+
it('should handle error when ELASTICACHE_PASSWORD is not set', async () => {
|
|
86
|
+
const mockErrorHandler = jest.fn();
|
|
56
87
|
delete process.env.ELASTICACHE_PASSWORD;
|
|
57
88
|
const service = new CacheService();
|
|
58
|
-
|
|
89
|
+
|
|
90
|
+
await service.initialize(mockErrorHandler);
|
|
91
|
+
|
|
92
|
+
expect(mockErrorHandler).toHaveBeenCalledWith(
|
|
93
|
+
expect.any(Error),
|
|
94
|
+
undefined,
|
|
95
|
+
expect.objectContaining({
|
|
96
|
+
method: 'CacheService.initialize',
|
|
97
|
+
action: 'error',
|
|
98
|
+
additionalData: expect.objectContaining({
|
|
99
|
+
message: expect.any(String),
|
|
100
|
+
}),
|
|
101
|
+
})
|
|
102
|
+
);
|
|
103
|
+
await service.disconnect();
|
|
59
104
|
});
|
|
60
105
|
|
|
61
106
|
it('should initialize successfully with all required env vars', async () => {
|
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
import Redis from "ioredis";
|
|
2
2
|
import logger from "../logger";
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* Error handler function type for cache service errors
|
|
6
|
+
*/
|
|
7
|
+
type ErrorHandler = (
|
|
8
|
+
error: any,
|
|
9
|
+
req: any,
|
|
10
|
+
context?: {
|
|
11
|
+
method?: string;
|
|
12
|
+
action?: string;
|
|
13
|
+
additionalData?: any;
|
|
14
|
+
}
|
|
15
|
+
) => void;
|
|
16
|
+
|
|
4
17
|
/**
|
|
5
18
|
* CacheService - A singleton service for interacting with ElastiCache Valkey cluster
|
|
6
19
|
*
|
|
@@ -19,11 +32,52 @@ import logger from "../logger";
|
|
|
19
32
|
*/
|
|
20
33
|
class CacheService {
|
|
21
34
|
private client: Redis | null = null;
|
|
35
|
+
private errorHandler: any = null;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Set a custom error handler for capturing errors to Sentry or other services
|
|
39
|
+
* @param handler - Function to handle errors
|
|
40
|
+
*/
|
|
41
|
+
setErrorHandler(handler: any): void {
|
|
42
|
+
this.errorHandler = handler;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Internal method to handle errors
|
|
47
|
+
* Uses custom error handler if set, otherwise falls back to logger only
|
|
48
|
+
*/
|
|
49
|
+
private handleError(
|
|
50
|
+
error: any,
|
|
51
|
+
message: string,
|
|
52
|
+
context?: {
|
|
53
|
+
method?: string;
|
|
54
|
+
action?: string;
|
|
55
|
+
additionalData?: any;
|
|
56
|
+
}
|
|
57
|
+
): void {
|
|
58
|
+
if (this.errorHandler) {
|
|
59
|
+
error.name = context.method
|
|
60
|
+
this.errorHandler(error, undefined, context);
|
|
61
|
+
} else {
|
|
62
|
+
// Fallback to logger if no error handler is set
|
|
63
|
+
logger(message, {
|
|
64
|
+
level: "error",
|
|
65
|
+
method: context?.method || "CacheService",
|
|
66
|
+
action: context?.action || "error",
|
|
67
|
+
error,
|
|
68
|
+
additionalData: context?.additionalData,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
22
72
|
|
|
23
73
|
/**
|
|
24
74
|
* Initialize the Cache client
|
|
75
|
+
* @param errorHandler - Optional error handler for Sentry integration
|
|
25
76
|
*/
|
|
26
|
-
async initialize(): Promise<void> {
|
|
77
|
+
async initialize(errorHandler?: ErrorHandler): Promise<void> {
|
|
78
|
+
if (errorHandler) {
|
|
79
|
+
this.errorHandler = errorHandler;
|
|
80
|
+
}
|
|
27
81
|
try {
|
|
28
82
|
const host = process.env.ELASTICACHE_HOST;
|
|
29
83
|
const port = parseInt(process.env.ELASTICACHE_PORT || "6379", 10);
|
|
@@ -105,7 +159,7 @@ class CacheService {
|
|
|
105
159
|
await Promise.race([
|
|
106
160
|
this.client.ping(),
|
|
107
161
|
new Promise((_, reject) =>
|
|
108
|
-
setTimeout(() => reject(new Error("Connection timeout after
|
|
162
|
+
setTimeout(() => reject(new Error("Connection timeout after 20 seconds")), 20000)
|
|
109
163
|
),
|
|
110
164
|
]);
|
|
111
165
|
|
|
@@ -115,13 +169,11 @@ class CacheService {
|
|
|
115
169
|
action: "completed",
|
|
116
170
|
});
|
|
117
171
|
} catch (error) {
|
|
118
|
-
|
|
119
|
-
level: "error",
|
|
172
|
+
this.handleError(error, null, {
|
|
120
173
|
method: "CacheService.initialize",
|
|
121
174
|
action: "error",
|
|
122
|
-
additionalData: { error },
|
|
175
|
+
additionalData: { message: error.message || "Failed to initialize cache client", },
|
|
123
176
|
});
|
|
124
|
-
throw error;
|
|
125
177
|
}
|
|
126
178
|
}
|
|
127
179
|
|
|
@@ -138,11 +190,10 @@ class CacheService {
|
|
|
138
190
|
}
|
|
139
191
|
return JSON.parse(value) as T;
|
|
140
192
|
} catch (error) {
|
|
141
|
-
|
|
142
|
-
level: "error",
|
|
193
|
+
this.handleError(error, null, {
|
|
143
194
|
method: "CacheService.get",
|
|
144
195
|
action: "error",
|
|
145
|
-
additionalData: {
|
|
196
|
+
additionalData: { message: "Failed to get value from cache", key },
|
|
146
197
|
});
|
|
147
198
|
return null;
|
|
148
199
|
}
|
|
@@ -163,13 +214,11 @@ class CacheService {
|
|
|
163
214
|
await this.client!.set(key, serialized);
|
|
164
215
|
}
|
|
165
216
|
} catch (error) {
|
|
166
|
-
|
|
167
|
-
level: "error",
|
|
217
|
+
this.handleError(error, null, {
|
|
168
218
|
method: "CacheService.set",
|
|
169
219
|
action: "error",
|
|
170
|
-
additionalData: { key, ttl
|
|
220
|
+
additionalData: { message: "Failed to set value in cache", key, ttl },
|
|
171
221
|
});
|
|
172
|
-
throw error;
|
|
173
222
|
}
|
|
174
223
|
}
|
|
175
224
|
|
|
@@ -181,13 +230,11 @@ class CacheService {
|
|
|
181
230
|
try {
|
|
182
231
|
await this.client!.del(key);
|
|
183
232
|
} catch (error) {
|
|
184
|
-
|
|
185
|
-
level: "error",
|
|
233
|
+
this.handleError(error, null, {
|
|
186
234
|
method: "CacheService.delete",
|
|
187
235
|
action: "error",
|
|
188
|
-
additionalData: { key,
|
|
236
|
+
additionalData: { message: "Failed to delete key from cache", key },
|
|
189
237
|
});
|
|
190
|
-
throw error;
|
|
191
238
|
}
|
|
192
239
|
}
|
|
193
240
|
|
|
@@ -216,11 +263,10 @@ class CacheService {
|
|
|
216
263
|
|
|
217
264
|
return keys;
|
|
218
265
|
} catch (error) {
|
|
219
|
-
|
|
220
|
-
level: "error",
|
|
266
|
+
this.handleError(error, null, {
|
|
221
267
|
method: "CacheService.keys",
|
|
222
268
|
action: "error",
|
|
223
|
-
additionalData: {
|
|
269
|
+
additionalData: { message: "Failed to get keys from cache", pattern },
|
|
224
270
|
});
|
|
225
271
|
return [];
|
|
226
272
|
}
|
|
@@ -236,11 +282,10 @@ class CacheService {
|
|
|
236
282
|
const size = await this.client!.dbsize();
|
|
237
283
|
return size;
|
|
238
284
|
} catch (error) {
|
|
239
|
-
|
|
240
|
-
level: "error",
|
|
285
|
+
this.handleError(error, null, {
|
|
241
286
|
method: "CacheService.dbsize",
|
|
242
287
|
action: "error",
|
|
243
|
-
additionalData: {
|
|
288
|
+
additionalData: { message: "Failed to get database size" },
|
|
244
289
|
});
|
|
245
290
|
return 0;
|
|
246
291
|
}
|
|
@@ -267,13 +312,11 @@ class CacheService {
|
|
|
267
312
|
});
|
|
268
313
|
}
|
|
269
314
|
} catch (error) {
|
|
270
|
-
|
|
271
|
-
level: "error",
|
|
315
|
+
this.handleError(error, null, {
|
|
272
316
|
method: "CacheService.clearPattern",
|
|
273
317
|
action: "error",
|
|
274
|
-
additionalData: { pattern,
|
|
318
|
+
additionalData: { message: "Failed to clear keys matching pattern", pattern },
|
|
275
319
|
});
|
|
276
|
-
throw error;
|
|
277
320
|
}
|
|
278
321
|
}
|
|
279
322
|
|
|
@@ -287,11 +330,10 @@ class CacheService {
|
|
|
287
330
|
const result = await this.client!.exists(key);
|
|
288
331
|
return result === 1;
|
|
289
332
|
} catch (error) {
|
|
290
|
-
|
|
291
|
-
level: "error",
|
|
333
|
+
this.handleError(error, null, {
|
|
292
334
|
method: "CacheService.exists",
|
|
293
335
|
action: "error",
|
|
294
|
-
additionalData: { key,
|
|
336
|
+
additionalData: { message: "Failed to check if key exists", key },
|
|
295
337
|
});
|
|
296
338
|
return false;
|
|
297
339
|
}
|
|
@@ -316,13 +358,11 @@ class CacheService {
|
|
|
316
358
|
});
|
|
317
359
|
await pipeline.exec();
|
|
318
360
|
} catch (error) {
|
|
319
|
-
|
|
320
|
-
level: "error",
|
|
361
|
+
this.handleError(error, null, {
|
|
321
362
|
method: "CacheService.mset",
|
|
322
363
|
action: "error",
|
|
323
|
-
additionalData: { count: entries.length
|
|
364
|
+
additionalData: { message: "Failed to set multiple values in cache", count: entries.length },
|
|
324
365
|
});
|
|
325
|
-
throw error;
|
|
326
366
|
}
|
|
327
367
|
}
|
|
328
368
|
|
|
@@ -338,11 +378,10 @@ class CacheService {
|
|
|
338
378
|
value ? (JSON.parse(value) as T) : null
|
|
339
379
|
);
|
|
340
380
|
} catch (error) {
|
|
341
|
-
|
|
342
|
-
level: "error",
|
|
381
|
+
this.handleError(error, null, {
|
|
343
382
|
method: "CacheService.mget",
|
|
344
383
|
action: "error",
|
|
345
|
-
additionalData: { count: keys.length
|
|
384
|
+
additionalData: { message: "Failed to get multiple values from cache", count: keys.length },
|
|
346
385
|
});
|
|
347
386
|
return keys.map(() => null);
|
|
348
387
|
}
|
|
@@ -358,13 +397,12 @@ class CacheService {
|
|
|
358
397
|
try {
|
|
359
398
|
return await this.client!.incrby(key, increment);
|
|
360
399
|
} catch (error) {
|
|
361
|
-
|
|
362
|
-
level: "error",
|
|
400
|
+
this.handleError(error, null, {
|
|
363
401
|
method: "CacheService.increment",
|
|
364
402
|
action: "error",
|
|
365
|
-
additionalData: { key, increment
|
|
403
|
+
additionalData: { message: "Failed to increment value in cache", key, increment },
|
|
366
404
|
});
|
|
367
|
-
|
|
405
|
+
return 0;
|
|
368
406
|
}
|
|
369
407
|
}
|
|
370
408
|
|
|
@@ -378,13 +416,12 @@ class CacheService {
|
|
|
378
416
|
try {
|
|
379
417
|
return await this.client!.decrby(key, decrement);
|
|
380
418
|
} catch (error) {
|
|
381
|
-
|
|
382
|
-
level: "error",
|
|
419
|
+
this.handleError(error, null, {
|
|
383
420
|
method: "CacheService.decrement",
|
|
384
421
|
action: "error",
|
|
385
|
-
additionalData: { key, decrement
|
|
422
|
+
additionalData: { message: "Failed to decrement value in cache", key, decrement },
|
|
386
423
|
});
|
|
387
|
-
|
|
424
|
+
return 0;
|
|
388
425
|
}
|
|
389
426
|
}
|
|
390
427
|
|
|
@@ -399,13 +436,12 @@ class CacheService {
|
|
|
399
436
|
const result = await this.client!.expire(key, ttl);
|
|
400
437
|
return result === 1;
|
|
401
438
|
} catch (error) {
|
|
402
|
-
|
|
403
|
-
level: "error",
|
|
439
|
+
this.handleError(error, null, {
|
|
404
440
|
method: "CacheService.expire",
|
|
405
441
|
action: "error",
|
|
406
|
-
additionalData: { key,
|
|
442
|
+
additionalData: { message: "Failed to set expiration on key", key, ttl },
|
|
407
443
|
});
|
|
408
|
-
|
|
444
|
+
return false;
|
|
409
445
|
}
|
|
410
446
|
}
|
|
411
447
|
|
|
@@ -418,11 +454,10 @@ class CacheService {
|
|
|
418
454
|
try {
|
|
419
455
|
return await this.client!.ttl(key);
|
|
420
456
|
} catch (error) {
|
|
421
|
-
|
|
422
|
-
level: "error",
|
|
457
|
+
this.handleError(error, null, {
|
|
423
458
|
method: "CacheService.ttl",
|
|
424
459
|
action: "error",
|
|
425
|
-
additionalData: { key,
|
|
460
|
+
additionalData: { message: "Failed to get TTL for key", key },
|
|
426
461
|
});
|
|
427
462
|
return -2;
|
|
428
463
|
}
|
|
@@ -456,13 +491,11 @@ class CacheService {
|
|
|
456
491
|
const result = await this.client!.ping();
|
|
457
492
|
return result;
|
|
458
493
|
} catch (error) {
|
|
459
|
-
|
|
460
|
-
level: "error",
|
|
494
|
+
this.handleError(error, null, {
|
|
461
495
|
method: "CacheService.ping",
|
|
462
496
|
action: "error",
|
|
463
|
-
additionalData: {
|
|
497
|
+
additionalData: { message: "Failed to ping cache client" },
|
|
464
498
|
});
|
|
465
|
-
throw error;
|
|
466
499
|
}
|
|
467
500
|
}
|
|
468
501
|
}
|