@qwickapps/server 1.1.6 → 1.1.7
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.
- package/README.md +1 -1
- package/dist/core/control-panel.d.ts.map +1 -1
- package/dist/core/control-panel.js +5 -8
- package/dist/core/control-panel.js.map +1 -1
- package/dist/core/gateway.d.ts.map +1 -1
- package/dist/core/gateway.js +11 -23
- package/dist/core/gateway.js.map +1 -1
- package/dist/core/health-manager.d.ts.map +1 -1
- package/dist/core/health-manager.js +3 -9
- package/dist/core/health-manager.js.map +1 -1
- package/dist/core/logging.d.ts.map +1 -1
- package/dist/core/logging.js +1 -5
- package/dist/core/logging.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/plugins/cache-plugin.d.ts +219 -0
- package/dist/plugins/cache-plugin.d.ts.map +1 -0
- package/dist/plugins/cache-plugin.js +326 -0
- package/dist/plugins/cache-plugin.js.map +1 -0
- package/dist/plugins/cache-plugin.test.d.ts +8 -0
- package/dist/plugins/cache-plugin.test.d.ts.map +1 -0
- package/dist/plugins/cache-plugin.test.js +188 -0
- package/dist/plugins/cache-plugin.test.js.map +1 -0
- package/dist/plugins/config-plugin.js +1 -1
- package/dist/plugins/config-plugin.js.map +1 -1
- package/dist/plugins/diagnostics-plugin.js +1 -1
- package/dist/plugins/diagnostics-plugin.js.map +1 -1
- package/dist/plugins/health-plugin.js +1 -1
- package/dist/plugins/health-plugin.js.map +1 -1
- package/dist/plugins/index.d.ts +6 -0
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +4 -0
- package/dist/plugins/index.js.map +1 -1
- package/dist/plugins/logs-plugin.d.ts.map +1 -1
- package/dist/plugins/logs-plugin.js +1 -3
- package/dist/plugins/logs-plugin.js.map +1 -1
- package/dist/plugins/postgres-plugin.d.ts +155 -0
- package/dist/plugins/postgres-plugin.d.ts.map +1 -0
- package/dist/plugins/postgres-plugin.js +244 -0
- package/dist/plugins/postgres-plugin.js.map +1 -0
- package/dist/plugins/postgres-plugin.test.d.ts +8 -0
- package/dist/plugins/postgres-plugin.test.d.ts.map +1 -0
- package/dist/plugins/postgres-plugin.test.js +165 -0
- package/dist/plugins/postgres-plugin.test.js.map +1 -0
- package/dist-ui/assets/{index-Bk7ypbI4.js → index-CW1BviRn.js} +2 -2
- package/dist-ui/assets/{index-Bk7ypbI4.js.map → index-CW1BviRn.js.map} +1 -1
- package/dist-ui/index.html +1 -1
- package/package.json +13 -2
- package/src/core/control-panel.ts +5 -8
- package/src/core/gateway.ts +12 -24
- package/src/core/health-manager.ts +3 -9
- package/src/core/logging.ts +1 -5
- package/src/index.ts +22 -0
- package/src/plugins/cache-plugin.test.ts +241 -0
- package/src/plugins/cache-plugin.ts +503 -0
- package/src/plugins/config-plugin.ts +1 -1
- package/src/plugins/diagnostics-plugin.ts +1 -1
- package/src/plugins/health-plugin.ts +1 -1
- package/src/plugins/index.ts +10 -0
- package/src/plugins/logs-plugin.ts +1 -3
- package/src/plugins/postgres-plugin.test.ts +213 -0
- package/src/plugins/postgres-plugin.ts +345 -0
- package/ui/src/api/controlPanelApi.ts +1 -1
- package/ui/src/pages/LogsPage.tsx +6 -10
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cache Plugin
|
|
3
|
+
*
|
|
4
|
+
* Provides Redis caching capabilities with connection pooling and health checks.
|
|
5
|
+
* Wraps the 'ioredis' library with a simple, reusable interface.
|
|
6
|
+
*
|
|
7
|
+
* ## Features
|
|
8
|
+
* - Connection management with automatic reconnection
|
|
9
|
+
* - Key prefixing for multi-tenant/multi-app scenarios
|
|
10
|
+
* - TTL-based caching with setex/get operations
|
|
11
|
+
* - Automatic health checks
|
|
12
|
+
* - Multiple named instances support
|
|
13
|
+
* - Graceful shutdown
|
|
14
|
+
*
|
|
15
|
+
* ## Usage
|
|
16
|
+
*
|
|
17
|
+
* ```typescript
|
|
18
|
+
* import { createGateway, createCachePlugin, getCache } from '@qwickapps/server';
|
|
19
|
+
*
|
|
20
|
+
* const gateway = createGateway({
|
|
21
|
+
* // ... config
|
|
22
|
+
* plugins: [
|
|
23
|
+
* createCachePlugin({
|
|
24
|
+
* url: process.env.REDIS_URL,
|
|
25
|
+
* keyPrefix: 'myapp:',
|
|
26
|
+
* }),
|
|
27
|
+
* ],
|
|
28
|
+
* });
|
|
29
|
+
*
|
|
30
|
+
* // In your service code:
|
|
31
|
+
* const cache = getCache();
|
|
32
|
+
* await cache.set('user:123', userData, 3600); // Cache for 1 hour
|
|
33
|
+
* const user = await cache.get<User>('user:123');
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* ## Multiple Caches
|
|
37
|
+
*
|
|
38
|
+
* ```typescript
|
|
39
|
+
* // Register multiple caches with different names
|
|
40
|
+
* createCachePlugin({ url: primaryUrl, keyPrefix: 'session:' }, 'sessions');
|
|
41
|
+
* createCachePlugin({ url: cacheUrl, keyPrefix: 'cache:' }, 'content');
|
|
42
|
+
*
|
|
43
|
+
* // Access by name
|
|
44
|
+
* const sessions = getCache('sessions');
|
|
45
|
+
* const content = getCache('content');
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
49
|
+
*/
|
|
50
|
+
// Global registry of cache instances by name
|
|
51
|
+
const instances = new Map();
|
|
52
|
+
/**
|
|
53
|
+
* Get a cache instance by name
|
|
54
|
+
*
|
|
55
|
+
* @param name - Instance name (default: 'default')
|
|
56
|
+
* @returns The cache instance
|
|
57
|
+
* @throws Error if the instance is not registered
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* const cache = getCache();
|
|
62
|
+
* const user = await cache.get<User>('user:123');
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
export function getCache(name = 'default') {
|
|
66
|
+
const instance = instances.get(name);
|
|
67
|
+
if (!instance) {
|
|
68
|
+
throw new Error(`Cache instance "${name}" not found. Did you register the cache plugin?`);
|
|
69
|
+
}
|
|
70
|
+
return instance;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Check if a cache instance is registered
|
|
74
|
+
*
|
|
75
|
+
* @param name - Instance name (default: 'default')
|
|
76
|
+
* @returns true if the instance exists
|
|
77
|
+
*/
|
|
78
|
+
export function hasCache(name = 'default') {
|
|
79
|
+
return instances.has(name);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Create a cache plugin
|
|
83
|
+
*
|
|
84
|
+
* @param config - Cache configuration
|
|
85
|
+
* @param instanceName - Name for this cache instance (default: 'default')
|
|
86
|
+
* @returns A control panel plugin
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```typescript
|
|
90
|
+
* createCachePlugin({
|
|
91
|
+
* url: process.env.REDIS_URL,
|
|
92
|
+
* keyPrefix: 'myapp:',
|
|
93
|
+
* defaultTtl: 3600,
|
|
94
|
+
* healthCheck: true,
|
|
95
|
+
* });
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
98
|
+
export function createCachePlugin(config, instanceName = 'default') {
|
|
99
|
+
let client = null;
|
|
100
|
+
const prefix = config.keyPrefix ?? '';
|
|
101
|
+
const defaultTtl = config.defaultTtl ?? 3600;
|
|
102
|
+
const prefixKey = (key) => `${prefix}${key}`;
|
|
103
|
+
const unprefixKey = (key) => prefix && key.startsWith(prefix) ? key.slice(prefix.length) : key;
|
|
104
|
+
const createInstance = async () => {
|
|
105
|
+
// Dynamic import of ioredis
|
|
106
|
+
const { default: Redis } = await import('ioredis');
|
|
107
|
+
const options = {
|
|
108
|
+
maxRetriesPerRequest: config.maxRetries ?? 3,
|
|
109
|
+
retryStrategy: (times) => {
|
|
110
|
+
const maxRetries = config.maxRetries ?? 3;
|
|
111
|
+
if (times > maxRetries) {
|
|
112
|
+
console.error(`[cache:${instanceName}] Connection failed after ${maxRetries} retries`);
|
|
113
|
+
return null; // Stop retrying
|
|
114
|
+
}
|
|
115
|
+
return config.retryDelayMs ?? 1000;
|
|
116
|
+
},
|
|
117
|
+
connectTimeout: config.connectTimeoutMs ?? 5000,
|
|
118
|
+
commandTimeout: config.commandTimeoutMs ?? 5000,
|
|
119
|
+
lazyConnect: config.lazyConnect ?? false,
|
|
120
|
+
};
|
|
121
|
+
client = new Redis(config.url, options);
|
|
122
|
+
// Handle events
|
|
123
|
+
client.on('error', (err) => {
|
|
124
|
+
if (config.onError) {
|
|
125
|
+
config.onError(err);
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
console.error(`[cache:${instanceName}] Error:`, err.message);
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
client.on('connect', () => {
|
|
132
|
+
if (config.onConnect) {
|
|
133
|
+
config.onConnect();
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
const instance = {
|
|
137
|
+
async get(key) {
|
|
138
|
+
if (!client)
|
|
139
|
+
throw new Error('Cache client not initialized');
|
|
140
|
+
const value = await client.get(prefixKey(key));
|
|
141
|
+
if (value === null)
|
|
142
|
+
return null;
|
|
143
|
+
try {
|
|
144
|
+
return JSON.parse(value);
|
|
145
|
+
}
|
|
146
|
+
catch {
|
|
147
|
+
return value;
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
async getRaw(key) {
|
|
151
|
+
if (!client)
|
|
152
|
+
throw new Error('Cache client not initialized');
|
|
153
|
+
return client.get(prefixKey(key));
|
|
154
|
+
},
|
|
155
|
+
async set(key, value, ttlSeconds) {
|
|
156
|
+
if (!client)
|
|
157
|
+
throw new Error('Cache client not initialized');
|
|
158
|
+
const ttl = ttlSeconds ?? defaultTtl;
|
|
159
|
+
const serialized = typeof value === 'string' ? value : JSON.stringify(value);
|
|
160
|
+
await client.setex(prefixKey(key), ttl, serialized);
|
|
161
|
+
},
|
|
162
|
+
async setRaw(key, value, ttlSeconds) {
|
|
163
|
+
if (!client)
|
|
164
|
+
throw new Error('Cache client not initialized');
|
|
165
|
+
const ttl = ttlSeconds ?? defaultTtl;
|
|
166
|
+
await client.setex(prefixKey(key), ttl, value);
|
|
167
|
+
},
|
|
168
|
+
async delete(key) {
|
|
169
|
+
if (!client)
|
|
170
|
+
throw new Error('Cache client not initialized');
|
|
171
|
+
const count = await client.del(prefixKey(key));
|
|
172
|
+
return count > 0;
|
|
173
|
+
},
|
|
174
|
+
async deletePattern(pattern) {
|
|
175
|
+
if (!client)
|
|
176
|
+
throw new Error('Cache client not initialized');
|
|
177
|
+
const keys = await client.keys(prefixKey(pattern));
|
|
178
|
+
if (keys.length === 0)
|
|
179
|
+
return 0;
|
|
180
|
+
return client.del(...keys);
|
|
181
|
+
},
|
|
182
|
+
async exists(key) {
|
|
183
|
+
if (!client)
|
|
184
|
+
throw new Error('Cache client not initialized');
|
|
185
|
+
const count = await client.exists(prefixKey(key));
|
|
186
|
+
return count > 0;
|
|
187
|
+
},
|
|
188
|
+
async expire(key, ttlSeconds) {
|
|
189
|
+
if (!client)
|
|
190
|
+
throw new Error('Cache client not initialized');
|
|
191
|
+
const result = await client.expire(prefixKey(key), ttlSeconds);
|
|
192
|
+
return result === 1;
|
|
193
|
+
},
|
|
194
|
+
async ttl(key) {
|
|
195
|
+
if (!client)
|
|
196
|
+
throw new Error('Cache client not initialized');
|
|
197
|
+
return client.ttl(prefixKey(key));
|
|
198
|
+
},
|
|
199
|
+
async incr(key, delta = 1) {
|
|
200
|
+
if (!client)
|
|
201
|
+
throw new Error('Cache client not initialized');
|
|
202
|
+
if (delta === 1) {
|
|
203
|
+
return client.incr(prefixKey(key));
|
|
204
|
+
}
|
|
205
|
+
return client.incrby(prefixKey(key), delta);
|
|
206
|
+
},
|
|
207
|
+
async keys(pattern) {
|
|
208
|
+
if (!client)
|
|
209
|
+
throw new Error('Cache client not initialized');
|
|
210
|
+
const keys = await client.keys(prefixKey(pattern));
|
|
211
|
+
return keys.map(unprefixKey);
|
|
212
|
+
},
|
|
213
|
+
async flush() {
|
|
214
|
+
if (!client)
|
|
215
|
+
throw new Error('Cache client not initialized');
|
|
216
|
+
if (!prefix) {
|
|
217
|
+
// Without prefix, this would flush the entire database - dangerous!
|
|
218
|
+
throw new Error('Cannot flush without a keyPrefix configured');
|
|
219
|
+
}
|
|
220
|
+
const keys = await client.keys(`${prefix}*`);
|
|
221
|
+
if (keys.length === 0)
|
|
222
|
+
return 0;
|
|
223
|
+
return client.del(...keys);
|
|
224
|
+
},
|
|
225
|
+
async getStats() {
|
|
226
|
+
if (!client) {
|
|
227
|
+
return { connected: false, keyCount: 0 };
|
|
228
|
+
}
|
|
229
|
+
try {
|
|
230
|
+
const info = await client.info('memory');
|
|
231
|
+
const memoryMatch = info.match(/used_memory_human:(\S+)/);
|
|
232
|
+
const usedMemory = memoryMatch ? memoryMatch[1] : undefined;
|
|
233
|
+
const keys = prefix
|
|
234
|
+
? await client.keys(`${prefix}*`)
|
|
235
|
+
: await client.dbsize();
|
|
236
|
+
const keyCount = typeof keys === 'number' ? keys : keys.length;
|
|
237
|
+
return {
|
|
238
|
+
connected: client.status === 'ready',
|
|
239
|
+
keyCount,
|
|
240
|
+
usedMemory,
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
catch {
|
|
244
|
+
return {
|
|
245
|
+
connected: client.status === 'ready',
|
|
246
|
+
keyCount: 0,
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
},
|
|
250
|
+
getClient() {
|
|
251
|
+
if (!client)
|
|
252
|
+
throw new Error('Cache client not initialized');
|
|
253
|
+
return client;
|
|
254
|
+
},
|
|
255
|
+
async close() {
|
|
256
|
+
if (client) {
|
|
257
|
+
await client.quit();
|
|
258
|
+
client = null;
|
|
259
|
+
}
|
|
260
|
+
},
|
|
261
|
+
};
|
|
262
|
+
return instance;
|
|
263
|
+
};
|
|
264
|
+
return {
|
|
265
|
+
name: `cache:${instanceName}`,
|
|
266
|
+
order: 5, // Initialize early, before other plugins that may need cache
|
|
267
|
+
async onInit(context) {
|
|
268
|
+
const { registerHealthCheck, logger } = context;
|
|
269
|
+
// Create and register the instance
|
|
270
|
+
const instance = await createInstance();
|
|
271
|
+
instances.set(instanceName, instance);
|
|
272
|
+
// Test connection
|
|
273
|
+
try {
|
|
274
|
+
// Ping to verify connection
|
|
275
|
+
await instance.getClient().ping();
|
|
276
|
+
logger.debug(`Cache "${instanceName}" connected`);
|
|
277
|
+
}
|
|
278
|
+
catch (err) {
|
|
279
|
+
logger.error(`Cache "${instanceName}" connection failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
280
|
+
throw err;
|
|
281
|
+
}
|
|
282
|
+
// Register health check if enabled
|
|
283
|
+
if (config.healthCheck !== false) {
|
|
284
|
+
registerHealthCheck({
|
|
285
|
+
name: config.healthCheckName ?? 'redis',
|
|
286
|
+
type: 'custom',
|
|
287
|
+
interval: config.healthCheckInterval ?? 30000,
|
|
288
|
+
timeout: 5000,
|
|
289
|
+
check: async () => {
|
|
290
|
+
const start = Date.now();
|
|
291
|
+
try {
|
|
292
|
+
await instance.getClient().ping();
|
|
293
|
+
const stats = await instance.getStats();
|
|
294
|
+
return {
|
|
295
|
+
healthy: true,
|
|
296
|
+
latency: Date.now() - start,
|
|
297
|
+
details: {
|
|
298
|
+
connected: stats.connected,
|
|
299
|
+
keyCount: stats.keyCount,
|
|
300
|
+
usedMemory: stats.usedMemory,
|
|
301
|
+
},
|
|
302
|
+
};
|
|
303
|
+
}
|
|
304
|
+
catch (err) {
|
|
305
|
+
return {
|
|
306
|
+
healthy: false,
|
|
307
|
+
latency: Date.now() - start,
|
|
308
|
+
details: {
|
|
309
|
+
error: err instanceof Error ? err.message : String(err),
|
|
310
|
+
},
|
|
311
|
+
};
|
|
312
|
+
}
|
|
313
|
+
},
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
},
|
|
317
|
+
async onShutdown() {
|
|
318
|
+
const instance = instances.get(instanceName);
|
|
319
|
+
if (instance) {
|
|
320
|
+
await instance.close();
|
|
321
|
+
instances.delete(instanceName);
|
|
322
|
+
}
|
|
323
|
+
},
|
|
324
|
+
};
|
|
325
|
+
}
|
|
326
|
+
//# sourceMappingURL=cache-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-plugin.js","sourceRoot":"","sources":["../../src/plugins/cache-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-plugin.test.d.ts","sourceRoot":"","sources":["../../src/plugins/cache-plugin.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cache Plugin Tests
|
|
3
|
+
*
|
|
4
|
+
* Note: These tests use mocks since we don't want to require a real Redis instance.
|
|
5
|
+
* Integration tests should be run separately with a real Redis instance.
|
|
6
|
+
*/
|
|
7
|
+
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
|
|
8
|
+
// Mock ioredis before importing the plugin
|
|
9
|
+
vi.mock('ioredis', () => {
|
|
10
|
+
const mockClient = {
|
|
11
|
+
get: vi.fn().mockResolvedValue(null),
|
|
12
|
+
setex: vi.fn().mockResolvedValue('OK'),
|
|
13
|
+
del: vi.fn().mockResolvedValue(1),
|
|
14
|
+
exists: vi.fn().mockResolvedValue(1),
|
|
15
|
+
expire: vi.fn().mockResolvedValue(1),
|
|
16
|
+
ttl: vi.fn().mockResolvedValue(3600),
|
|
17
|
+
incr: vi.fn().mockResolvedValue(1),
|
|
18
|
+
incrby: vi.fn().mockResolvedValue(5),
|
|
19
|
+
keys: vi.fn().mockResolvedValue([]),
|
|
20
|
+
info: vi.fn().mockResolvedValue('used_memory_human:1.5M\n'),
|
|
21
|
+
dbsize: vi.fn().mockResolvedValue(100),
|
|
22
|
+
ping: vi.fn().mockResolvedValue('PONG'),
|
|
23
|
+
quit: vi.fn().mockResolvedValue('OK'),
|
|
24
|
+
on: vi.fn(),
|
|
25
|
+
status: 'ready',
|
|
26
|
+
};
|
|
27
|
+
return {
|
|
28
|
+
default: vi.fn(() => mockClient),
|
|
29
|
+
};
|
|
30
|
+
});
|
|
31
|
+
import { createCachePlugin, getCache, hasCache, } from './cache-plugin.js';
|
|
32
|
+
describe('Cache Plugin', () => {
|
|
33
|
+
const mockConfig = {
|
|
34
|
+
url: 'redis://localhost:6379',
|
|
35
|
+
keyPrefix: 'test:',
|
|
36
|
+
defaultTtl: 3600,
|
|
37
|
+
healthCheck: false, // Disable for unit tests
|
|
38
|
+
};
|
|
39
|
+
const mockContext = {
|
|
40
|
+
config: { productName: 'Test', port: 3000 },
|
|
41
|
+
app: {},
|
|
42
|
+
router: {},
|
|
43
|
+
logger: {
|
|
44
|
+
debug: vi.fn(),
|
|
45
|
+
info: vi.fn(),
|
|
46
|
+
warn: vi.fn(),
|
|
47
|
+
error: vi.fn(),
|
|
48
|
+
},
|
|
49
|
+
registerHealthCheck: vi.fn(),
|
|
50
|
+
};
|
|
51
|
+
beforeEach(() => {
|
|
52
|
+
vi.clearAllMocks();
|
|
53
|
+
});
|
|
54
|
+
afterEach(async () => {
|
|
55
|
+
// Clean up any registered instances
|
|
56
|
+
if (hasCache('test')) {
|
|
57
|
+
const cache = getCache('test');
|
|
58
|
+
await cache.close();
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
describe('createCachePlugin', () => {
|
|
62
|
+
it('should create a plugin with correct name', () => {
|
|
63
|
+
const plugin = createCachePlugin(mockConfig, 'test');
|
|
64
|
+
expect(plugin.name).toBe('cache:test');
|
|
65
|
+
});
|
|
66
|
+
it('should use "default" as instance name when not specified', () => {
|
|
67
|
+
const plugin = createCachePlugin(mockConfig);
|
|
68
|
+
expect(plugin.name).toBe('cache:default');
|
|
69
|
+
});
|
|
70
|
+
it('should have low order number (initialize early)', () => {
|
|
71
|
+
const plugin = createCachePlugin(mockConfig);
|
|
72
|
+
expect(plugin.order).toBeLessThan(10);
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
describe('onInit', () => {
|
|
76
|
+
it('should register the cache instance', async () => {
|
|
77
|
+
const plugin = createCachePlugin(mockConfig, 'test');
|
|
78
|
+
await plugin.onInit?.(mockContext);
|
|
79
|
+
expect(hasCache('test')).toBe(true);
|
|
80
|
+
});
|
|
81
|
+
it('should log debug message on successful connection', async () => {
|
|
82
|
+
const plugin = createCachePlugin(mockConfig, 'test');
|
|
83
|
+
await plugin.onInit?.(mockContext);
|
|
84
|
+
expect(mockContext.logger.debug).toHaveBeenCalledWith(expect.stringContaining('connected'));
|
|
85
|
+
});
|
|
86
|
+
it('should register health check when enabled', async () => {
|
|
87
|
+
const configWithHealth = { ...mockConfig, healthCheck: true };
|
|
88
|
+
const plugin = createCachePlugin(configWithHealth, 'test');
|
|
89
|
+
await plugin.onInit?.(mockContext);
|
|
90
|
+
expect(mockContext.registerHealthCheck).toHaveBeenCalledWith(expect.objectContaining({
|
|
91
|
+
name: 'redis',
|
|
92
|
+
type: 'custom',
|
|
93
|
+
}));
|
|
94
|
+
});
|
|
95
|
+
it('should use custom health check name when provided', async () => {
|
|
96
|
+
const configWithCustomName = {
|
|
97
|
+
...mockConfig,
|
|
98
|
+
healthCheck: true,
|
|
99
|
+
healthCheckName: 'custom-cache',
|
|
100
|
+
};
|
|
101
|
+
const plugin = createCachePlugin(configWithCustomName, 'test');
|
|
102
|
+
await plugin.onInit?.(mockContext);
|
|
103
|
+
expect(mockContext.registerHealthCheck).toHaveBeenCalledWith(expect.objectContaining({
|
|
104
|
+
name: 'custom-cache',
|
|
105
|
+
}));
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
describe('getCache', () => {
|
|
109
|
+
it('should return registered instance', async () => {
|
|
110
|
+
const plugin = createCachePlugin(mockConfig, 'test');
|
|
111
|
+
await plugin.onInit?.(mockContext);
|
|
112
|
+
const cache = getCache('test');
|
|
113
|
+
expect(cache).toBeDefined();
|
|
114
|
+
expect(cache.get).toBeDefined();
|
|
115
|
+
expect(cache.set).toBeDefined();
|
|
116
|
+
expect(cache.delete).toBeDefined();
|
|
117
|
+
});
|
|
118
|
+
it('should throw error for unregistered instance', () => {
|
|
119
|
+
expect(() => getCache('nonexistent')).toThrow('Cache instance "nonexistent" not found');
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
describe('hasCache', () => {
|
|
123
|
+
it('should return false for unregistered instance', () => {
|
|
124
|
+
expect(hasCache('nonexistent')).toBe(false);
|
|
125
|
+
});
|
|
126
|
+
it('should return true for registered instance', async () => {
|
|
127
|
+
const plugin = createCachePlugin(mockConfig, 'test');
|
|
128
|
+
await plugin.onInit?.(mockContext);
|
|
129
|
+
expect(hasCache('test')).toBe(true);
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
describe('CacheInstance', () => {
|
|
133
|
+
it('should get value and parse JSON', async () => {
|
|
134
|
+
const plugin = createCachePlugin(mockConfig, 'test');
|
|
135
|
+
await plugin.onInit?.(mockContext);
|
|
136
|
+
const cache = getCache('test');
|
|
137
|
+
// Mock will return null by default
|
|
138
|
+
const result = await cache.get('key');
|
|
139
|
+
expect(result).toBeNull();
|
|
140
|
+
});
|
|
141
|
+
it('should set value with JSON stringification', async () => {
|
|
142
|
+
const plugin = createCachePlugin(mockConfig, 'test');
|
|
143
|
+
await plugin.onInit?.(mockContext);
|
|
144
|
+
const cache = getCache('test');
|
|
145
|
+
await cache.set('key', { foo: 'bar' }, 3600);
|
|
146
|
+
// Just verify it doesn't throw
|
|
147
|
+
});
|
|
148
|
+
it('should return cache stats', async () => {
|
|
149
|
+
const plugin = createCachePlugin(mockConfig, 'test');
|
|
150
|
+
await plugin.onInit?.(mockContext);
|
|
151
|
+
const cache = getCache('test');
|
|
152
|
+
const stats = await cache.getStats();
|
|
153
|
+
expect(stats).toHaveProperty('connected');
|
|
154
|
+
expect(stats).toHaveProperty('keyCount');
|
|
155
|
+
});
|
|
156
|
+
it('should check if key exists', async () => {
|
|
157
|
+
const plugin = createCachePlugin(mockConfig, 'test');
|
|
158
|
+
await plugin.onInit?.(mockContext);
|
|
159
|
+
const cache = getCache('test');
|
|
160
|
+
const exists = await cache.exists('key');
|
|
161
|
+
expect(typeof exists).toBe('boolean');
|
|
162
|
+
});
|
|
163
|
+
it('should get TTL for a key', async () => {
|
|
164
|
+
const plugin = createCachePlugin(mockConfig, 'test');
|
|
165
|
+
await plugin.onInit?.(mockContext);
|
|
166
|
+
const cache = getCache('test');
|
|
167
|
+
const ttl = await cache.ttl('key');
|
|
168
|
+
expect(typeof ttl).toBe('number');
|
|
169
|
+
});
|
|
170
|
+
it('should increment a value', async () => {
|
|
171
|
+
const plugin = createCachePlugin(mockConfig, 'test');
|
|
172
|
+
await plugin.onInit?.(mockContext);
|
|
173
|
+
const cache = getCache('test');
|
|
174
|
+
const value = await cache.incr('counter');
|
|
175
|
+
expect(typeof value).toBe('number');
|
|
176
|
+
});
|
|
177
|
+
});
|
|
178
|
+
describe('onShutdown', () => {
|
|
179
|
+
it('should close client and unregister instance', async () => {
|
|
180
|
+
const plugin = createCachePlugin(mockConfig, 'test');
|
|
181
|
+
await plugin.onInit?.(mockContext);
|
|
182
|
+
expect(hasCache('test')).toBe(true);
|
|
183
|
+
await plugin.onShutdown?.();
|
|
184
|
+
expect(hasCache('test')).toBe(false);
|
|
185
|
+
});
|
|
186
|
+
});
|
|
187
|
+
});
|
|
188
|
+
//# sourceMappingURL=cache-plugin.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-plugin.test.js","sourceRoot":"","sources":["../../src/plugins/cache-plugin.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -80,7 +80,7 @@ export function createConfigPlugin(config) {
|
|
|
80
80
|
},
|
|
81
81
|
],
|
|
82
82
|
async onInit(context) {
|
|
83
|
-
context.logger.
|
|
83
|
+
context.logger.debug(`Config plugin initialized with ${config.show.length} vars`);
|
|
84
84
|
},
|
|
85
85
|
};
|
|
86
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-plugin.js","sourceRoot":"","sources":["../../src/plugins/config-plugin.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config-plugin.js","sourceRoot":"","sources":["../../src/plugins/config-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics-plugin.js","sourceRoot":"","sources":["../../src/plugins/diagnostics-plugin.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"diagnostics-plugin.js","sourceRoot":"","sources":["../../src/plugins/diagnostics-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ export function createHealthPlugin(config) {
|
|
|
18
18
|
for (const check of config.checks) {
|
|
19
19
|
registerHealthCheck(check);
|
|
20
20
|
}
|
|
21
|
-
logger.
|
|
21
|
+
logger.debug(`Registered ${config.checks.length} health checks`);
|
|
22
22
|
},
|
|
23
23
|
};
|
|
24
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health-plugin.js","sourceRoot":"","sources":["../../src/plugins/health-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAA0B;IAC3D,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,EAAE;QAET,KAAK,CAAC,MAAM,CAAC,OAAsB;YACjC,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;YAEhD,6BAA6B;YAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;YAED,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"health-plugin.js","sourceRoot":"","sources":["../../src/plugins/health-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAA0B;IAC3D,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,EAAE;QAET,KAAK,CAAC,MAAM,CAAC,OAAsB;YACjC,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;YAEhD,6BAA6B;YAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,cAAc,MAAM,CAAC,MAAM,CAAC,MAAM,gBAAgB,CAAC,CAAC;QACnE,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/plugins/index.d.ts
CHANGED
|
@@ -13,4 +13,10 @@ export { createDiagnosticsPlugin } from './diagnostics-plugin.js';
|
|
|
13
13
|
export type { DiagnosticsPluginConfig } from './diagnostics-plugin.js';
|
|
14
14
|
export { createFrontendAppPlugin } from './frontend-app-plugin.js';
|
|
15
15
|
export type { FrontendAppPluginConfig } from './frontend-app-plugin.js';
|
|
16
|
+
export { createPostgresPlugin, getPostgres, hasPostgres } from './postgres-plugin.js';
|
|
17
|
+
export type { PostgresPluginConfig, PostgresInstance, TransactionCallback } from './postgres-plugin.js';
|
|
18
|
+
export { createPostgresPlugin as createDatabasePlugin, getPostgres as getDatabase, hasPostgres as hasDatabase } from './postgres-plugin.js';
|
|
19
|
+
export type { PostgresPluginConfig as DatabasePluginConfig, PostgresInstance as DatabaseInstance } from './postgres-plugin.js';
|
|
20
|
+
export { createCachePlugin, getCache, hasCache } from './cache-plugin.js';
|
|
21
|
+
export type { CachePluginConfig, CacheInstance } from './cache-plugin.js';
|
|
16
22
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,YAAY,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,YAAY,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAExE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACtF,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGxG,OAAO,EAAE,oBAAoB,IAAI,oBAAoB,EAAE,WAAW,IAAI,WAAW,EAAE,WAAW,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC5I,YAAY,EAAE,oBAAoB,IAAI,oBAAoB,EAAE,gBAAgB,IAAI,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE/H,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC1E,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
|