@iobroker/db-objects-jsonl 7.2.3-alpha.8-20260709-8d8c9c5ed → 7.2.3
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/build/cjs/index.js +3 -5
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/lib/objects/objectsInMemJsonlDB.d.ts +7 -38
- package/build/cjs/lib/objects/objectsInMemJsonlDB.js +31 -67
- package/build/cjs/lib/objects/objectsInMemJsonlDB.js.map +3 -3
- package/build/cjs/lib/objects/objectsInMemServerClass.d.ts +8 -41
- package/build/cjs/lib/objects/objectsInMemServerClass.js +2 -27
- package/build/cjs/lib/objects/objectsInMemServerClass.js.map +3 -3
- package/build/cjs/lib/objects/objectsInMemServerRedis.d.ts +30 -50
- package/build/cjs/lib/objects/objectsInMemServerRedis.js +34 -69
- package/build/cjs/lib/objects/objectsInMemServerRedis.js.map +4 -4
- package/build/esm/lib/objects/objectsInMemJsonlDB.d.ts +7 -38
- package/build/esm/lib/objects/objectsInMemJsonlDB.d.ts.map +1 -1
- package/build/esm/lib/objects/objectsInMemJsonlDB.js +36 -67
- package/build/esm/lib/objects/objectsInMemJsonlDB.js.map +1 -1
- package/build/esm/lib/objects/objectsInMemServerClass.d.ts +8 -41
- package/build/esm/lib/objects/objectsInMemServerClass.d.ts.map +1 -1
- package/build/esm/lib/objects/objectsInMemServerClass.js +1 -25
- package/build/esm/lib/objects/objectsInMemServerClass.js.map +1 -1
- package/build/esm/lib/objects/objectsInMemServerRedis.d.ts +30 -50
- package/build/esm/lib/objects/objectsInMemServerRedis.d.ts.map +1 -1
- package/build/esm/lib/objects/objectsInMemServerRedis.js +68 -87
- package/build/esm/lib/objects/objectsInMemServerRedis.js.map +1 -1
- package/build/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +9 -9
|
@@ -1,40 +1,46 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Objects DB in memory - Server with Redis protocol
|
|
3
3
|
*
|
|
4
|
-
* Copyright 2013-
|
|
4
|
+
* Copyright 2013-2024 bluefox <dogafox@gmail.com>
|
|
5
5
|
*
|
|
6
6
|
* MIT License
|
|
7
7
|
*
|
|
8
8
|
*/
|
|
9
|
-
/// <reference types="@iobroker/types-dev" />
|
|
10
9
|
import net from 'node:net';
|
|
11
10
|
import fs from 'fs-extra';
|
|
12
11
|
import path from 'node:path';
|
|
13
12
|
import crypto from 'node:crypto';
|
|
14
13
|
import { objectsUtils as utils } from '@iobroker/db-objects-redis';
|
|
14
|
+
import { tools } from '@iobroker/db-base';
|
|
15
15
|
import { getLocalAddress } from '@iobroker/js-controller-common-db/tools';
|
|
16
|
-
import { RedisHandler
|
|
17
|
-
import { EXIT_CODES } from '@iobroker/js-controller-common-db';
|
|
16
|
+
import { RedisHandler } from '@iobroker/db-base';
|
|
18
17
|
import { ObjectsInMemoryJsonlDB } from './objectsInMemJsonlDB.js';
|
|
18
|
+
import { EXIT_CODES } from '@iobroker/js-controller-common-db';
|
|
19
|
+
// settings = {
|
|
20
|
+
// change: function (id, state) {},
|
|
21
|
+
// connected: function (nameOfServer) {},
|
|
22
|
+
// logger: {
|
|
23
|
+
// silly: function (msg) {},
|
|
24
|
+
// debug: function (msg) {},
|
|
25
|
+
// info: function (msg) {},
|
|
26
|
+
// warn: function (msg) {},
|
|
27
|
+
// error: function (msg) {}
|
|
28
|
+
// },
|
|
29
|
+
// connection: {
|
|
30
|
+
// dataDir: 'relative path'
|
|
31
|
+
// },
|
|
32
|
+
// auth: null, //unused
|
|
33
|
+
// secure: true/false,
|
|
34
|
+
// certificates: as required by createServer
|
|
35
|
+
// port: 9001,
|
|
36
|
+
// host: localhost
|
|
37
|
+
// };
|
|
38
|
+
//
|
|
19
39
|
/**
|
|
20
40
|
* This class inherits statesInMemoryJsonlDB class and adds redis communication layer
|
|
21
41
|
* to access the methods via redis protocol
|
|
22
42
|
*/
|
|
23
43
|
export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
24
|
-
serverConnections = {};
|
|
25
|
-
namespaceObjects;
|
|
26
|
-
namespaceFile;
|
|
27
|
-
namespaceObj;
|
|
28
|
-
namespaceSet;
|
|
29
|
-
namespaceSetLen;
|
|
30
|
-
namespaceFileLen;
|
|
31
|
-
namespaceObjLen;
|
|
32
|
-
namespaceMeta;
|
|
33
|
-
namespaceMetaLen;
|
|
34
|
-
knownScripts = {};
|
|
35
|
-
normalizeFileRegex1;
|
|
36
|
-
normalizeFileRegex2;
|
|
37
|
-
server;
|
|
38
44
|
/**
|
|
39
45
|
* Constructor
|
|
40
46
|
*
|
|
@@ -42,6 +48,7 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
42
48
|
*/
|
|
43
49
|
constructor(settings) {
|
|
44
50
|
super(settings);
|
|
51
|
+
this.serverConnections = {};
|
|
45
52
|
this.namespaceObjects = `${this.settings.redisNamespace || (settings.connection && settings.connection.redisNamespace) || 'cfg'}.`;
|
|
46
53
|
this.namespaceFile = `${this.namespaceObjects}f.`;
|
|
47
54
|
this.namespaceObj = `${this.namespaceObjects}o.`;
|
|
@@ -52,6 +59,7 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
52
59
|
this.namespaceObjLen = this.namespaceObj.length;
|
|
53
60
|
this.namespaceMeta = `${this.settings.namespaceMeta || 'meta'}.`;
|
|
54
61
|
this.namespaceMetaLen = this.namespaceMeta.length;
|
|
62
|
+
this.knownScripts = {};
|
|
55
63
|
this.normalizeFileRegex1 = new RegExp('^(.*)\\$%\\$(.*)\\$%\\$(meta|data)$');
|
|
56
64
|
this.normalizeFileRegex2 = new RegExp('^(.*)\\$%\\$(.*)\\/?\\*$');
|
|
57
65
|
this.open()
|
|
@@ -81,7 +89,16 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
81
89
|
let id = null;
|
|
82
90
|
let name = '';
|
|
83
91
|
let isMeta;
|
|
84
|
-
if (
|
|
92
|
+
if (Array.isArray(idWithNamespace)) {
|
|
93
|
+
const ids = [];
|
|
94
|
+
idWithNamespace.forEach(el => {
|
|
95
|
+
const { id, namespace } = this._normalizeId(el);
|
|
96
|
+
ids.push(id);
|
|
97
|
+
ns = namespace; // we ignore the pot. case from arrays with different namespaces
|
|
98
|
+
});
|
|
99
|
+
id = ids;
|
|
100
|
+
}
|
|
101
|
+
else if (typeof idWithNamespace === 'string') {
|
|
85
102
|
id = idWithNamespace;
|
|
86
103
|
if (idWithNamespace.startsWith(this.namespaceObjects)) {
|
|
87
104
|
let idx = -1;
|
|
@@ -139,14 +156,14 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
139
156
|
* @returns Publish counter 0 or 1 depending on if send out or not
|
|
140
157
|
*/
|
|
141
158
|
publishToClients(client, type, id, obj) {
|
|
142
|
-
if (!client._subscribe
|
|
159
|
+
if (!client._subscribe || !client._subscribe[type]) {
|
|
143
160
|
return 0;
|
|
144
161
|
}
|
|
145
162
|
const s = client._subscribe[type];
|
|
146
163
|
const found = s.find(sub => sub.regex.test(id));
|
|
147
164
|
if (found) {
|
|
148
165
|
if (type === 'meta') {
|
|
149
|
-
this.log.silly(`${this.namespace} Redis Publish Meta ${id}=${
|
|
166
|
+
this.log.silly(`${this.namespace} Redis Publish Meta ${id}=${obj}`);
|
|
150
167
|
const sendPattern = this.namespaceMeta + found.pattern;
|
|
151
168
|
const sendId = this.namespaceMeta + id;
|
|
152
169
|
client.sendArray(null, ['pmessage', sendPattern, sendId, obj]);
|
|
@@ -225,7 +242,7 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
225
242
|
if (data[0] === 'exists') {
|
|
226
243
|
data.shift();
|
|
227
244
|
const scripts = [];
|
|
228
|
-
data.forEach(
|
|
245
|
+
data.forEach(checksum => scripts.push(this.knownScripts[checksum] ? 1 : 0));
|
|
229
246
|
handler.sendArray(responseId, scripts);
|
|
230
247
|
}
|
|
231
248
|
else if (data[0] === 'load') {
|
|
@@ -235,20 +252,20 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
235
252
|
const scriptChecksum = shasum.digest('hex');
|
|
236
253
|
const scriptDesign = data[1].match(/^-- design: ([a-z0-9A-Z-.]+)\s/m);
|
|
237
254
|
const scriptFunc = data[1].match(/^-- func: (.+)$/m);
|
|
238
|
-
if (scriptDesign
|
|
255
|
+
if (scriptDesign && scriptDesign[1]) {
|
|
239
256
|
const design = scriptDesign[1];
|
|
240
257
|
let search = null;
|
|
241
258
|
const scriptSearch = data[1].match(/^-- search: ([a-z0-9A-Z-.]*)\s/m);
|
|
242
|
-
if (scriptSearch
|
|
259
|
+
if (scriptSearch && scriptSearch[1]) {
|
|
243
260
|
search = scriptSearch[1];
|
|
244
261
|
}
|
|
245
|
-
this.knownScripts[scriptChecksum] = { design, search };
|
|
262
|
+
this.knownScripts[scriptChecksum] = { design: design, search: search };
|
|
246
263
|
if (this.settings.connection.enhancedLogging) {
|
|
247
264
|
this.log.silly(`${namespaceLog} Register View LUA Script: ${scriptChecksum} = ${JSON.stringify(this.knownScripts[scriptChecksum])}`);
|
|
248
265
|
}
|
|
249
266
|
handler.sendBulk(responseId, scriptChecksum);
|
|
250
267
|
}
|
|
251
|
-
else if (scriptFunc
|
|
268
|
+
else if (scriptFunc && scriptFunc[1]) {
|
|
252
269
|
this.knownScripts[scriptChecksum] = { func: scriptFunc[1] };
|
|
253
270
|
if (this.settings.connection.enhancedLogging) {
|
|
254
271
|
this.log.silly(`${namespaceLog} Register Func LUA Script: ${scriptChecksum} = ${JSON.stringify(this.knownScripts[scriptChecksum])}`);
|
|
@@ -330,8 +347,7 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
330
347
|
const { id, namespace } = this._normalizeId(data[0]);
|
|
331
348
|
if (namespace === this.namespaceObj ||
|
|
332
349
|
namespace === this.namespaceMeta ||
|
|
333
|
-
namespace === this.namespaceFile
|
|
334
|
-
!id) {
|
|
350
|
+
namespace === this.namespaceFile) {
|
|
335
351
|
// a "set" always comes afterwards, so do not publish
|
|
336
352
|
return void handler.sendInteger(responseId, 0); // do not publish for now
|
|
337
353
|
}
|
|
@@ -340,13 +356,13 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
340
356
|
});
|
|
341
357
|
// Handle Redis "MGET" requests
|
|
342
358
|
handler.on('mget', (data, responseId) => {
|
|
343
|
-
if (!data
|
|
359
|
+
if (!data || !data.length) {
|
|
344
360
|
return void handler.sendArray(responseId, []);
|
|
345
361
|
}
|
|
346
362
|
const { namespace, isMeta } = this._normalizeId(data[0]);
|
|
347
363
|
if (namespace === this.namespaceObj) {
|
|
348
364
|
const keys = [];
|
|
349
|
-
data.forEach(
|
|
365
|
+
data.forEach(dataId => {
|
|
350
366
|
const { id, namespace } = this._normalizeId(dataId);
|
|
351
367
|
if (namespace !== this.namespaceObj) {
|
|
352
368
|
keys.push(null);
|
|
@@ -362,22 +378,22 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
362
378
|
catch (err) {
|
|
363
379
|
return void handler.sendError(responseId, new Error(`ERROR _getObjects: ${err.message}`));
|
|
364
380
|
}
|
|
365
|
-
|
|
366
|
-
handler.sendArray(responseId,
|
|
381
|
+
result = result.map(el => (el ? JSON.stringify(el) : null));
|
|
382
|
+
handler.sendArray(responseId, result);
|
|
367
383
|
}
|
|
368
384
|
else if (namespace === this.namespaceFile) {
|
|
369
|
-
// Handle request for
|
|
385
|
+
// Handle request for Meta data for files
|
|
370
386
|
if (isMeta) {
|
|
371
387
|
const response = [];
|
|
372
|
-
data.forEach(
|
|
388
|
+
data.forEach(dataId => {
|
|
373
389
|
const { id, namespace, name } = this._normalizeId(dataId);
|
|
374
|
-
if (namespace !== this.namespaceFile
|
|
390
|
+
if (namespace !== this.namespaceFile) {
|
|
375
391
|
response.push(null);
|
|
376
392
|
this.log.warn(`${namespaceLog} Got MGET request for non File ID in File-ID chunk for ${dataId}`);
|
|
377
393
|
return;
|
|
378
394
|
}
|
|
379
395
|
this._loadFileSettings(id);
|
|
380
|
-
if (!this.fileOptions[id]
|
|
396
|
+
if (!this.fileOptions[id] || !this.fileOptions[id][name]) {
|
|
381
397
|
response.push(null);
|
|
382
398
|
return;
|
|
383
399
|
}
|
|
@@ -408,10 +424,6 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
408
424
|
// Handle Redis "GET" requests
|
|
409
425
|
handler.on('get', (data, responseId) => {
|
|
410
426
|
const { id, namespace, name, isMeta } = this._normalizeId(data[0]);
|
|
411
|
-
if (!id) {
|
|
412
|
-
handler.sendNull(responseId);
|
|
413
|
-
return;
|
|
414
|
-
}
|
|
415
427
|
if (namespace === this.namespaceObj) {
|
|
416
428
|
const result = this._getObject(id);
|
|
417
429
|
if (!result) {
|
|
@@ -422,7 +434,7 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
422
434
|
}
|
|
423
435
|
}
|
|
424
436
|
else if (namespace === this.namespaceFile) {
|
|
425
|
-
// Handle request for
|
|
437
|
+
// Handle request for Meta data for files
|
|
426
438
|
if (isMeta) {
|
|
427
439
|
let stats;
|
|
428
440
|
try {
|
|
@@ -439,7 +451,7 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
439
451
|
}));
|
|
440
452
|
}
|
|
441
453
|
this._loadFileSettings(id);
|
|
442
|
-
if (!this.fileOptions[id]
|
|
454
|
+
if (!this.fileOptions[id] || !this.fileOptions[id][name]) {
|
|
443
455
|
return void handler.sendNull(responseId);
|
|
444
456
|
}
|
|
445
457
|
let obj = this._clone(this.fileOptions[id][name]);
|
|
@@ -447,9 +459,10 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
447
459
|
obj = {
|
|
448
460
|
mimeType: obj,
|
|
449
461
|
acl: {
|
|
450
|
-
owner: this.defaultNewAcl
|
|
451
|
-
ownerGroup: this.defaultNewAcl
|
|
452
|
-
|
|
462
|
+
owner: (this.defaultNewAcl && this.defaultNewAcl.owner) || utils.CONSTS.SYSTEM_ADMIN_USER,
|
|
463
|
+
ownerGroup: (this.defaultNewAcl && this.defaultNewAcl.ownerGroup) ||
|
|
464
|
+
utils.CONSTS.SYSTEM_ADMIN_GROUP,
|
|
465
|
+
permissions: (this.defaultNewAcl && this.defaultNewAcl.file.permissions) ||
|
|
453
466
|
utils.CONSTS.ACCESS_USER_ALL |
|
|
454
467
|
utils.CONSTS.ACCESS_GROUP_ALL |
|
|
455
468
|
utils.CONSTS.ACCESS_EVERY_ALL, // 777
|
|
@@ -473,7 +486,7 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
473
486
|
}
|
|
474
487
|
let fileData = data.fileContent;
|
|
475
488
|
if (!Buffer.isBuffer(fileData) && tools.isObject(fileData)) {
|
|
476
|
-
// if
|
|
489
|
+
// if its an invalid object, stringify it and log warning
|
|
477
490
|
fileData = JSON.stringify(fileData);
|
|
478
491
|
this.log.warn(`${namespaceLog} Data of "${id}/${name}" has invalid structure at file data request: ${fileData}`);
|
|
479
492
|
}
|
|
@@ -484,7 +497,7 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
484
497
|
// special handling for the primaryHost
|
|
485
498
|
if (id === 'objects.primaryHost') {
|
|
486
499
|
// we are the server -> we are primary
|
|
487
|
-
handler.sendString(
|
|
500
|
+
handler.sendString(this.settings.hostname);
|
|
488
501
|
}
|
|
489
502
|
else {
|
|
490
503
|
const result = this.getMeta(id);
|
|
@@ -503,10 +516,6 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
503
516
|
// Handle Redis "SET" requests
|
|
504
517
|
handler.on('set', (data, responseId) => {
|
|
505
518
|
const { id, namespace, name, isMeta } = this._normalizeId(data[0]);
|
|
506
|
-
if (!id) {
|
|
507
|
-
handler.sendNull(responseId);
|
|
508
|
-
return;
|
|
509
|
-
}
|
|
510
519
|
if (namespace === this.namespaceObj) {
|
|
511
520
|
try {
|
|
512
521
|
const obj = JSON.parse(data[1].toString('utf-8'));
|
|
@@ -562,10 +571,7 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
562
571
|
if (oldDetails.id !== newDetails.id) {
|
|
563
572
|
return void handler.sendError(responseId, new Error('ERROR renameObject: id needs to stay the same'));
|
|
564
573
|
}
|
|
565
|
-
|
|
566
|
-
return void handler.sendError(responseId, new Error(`ERROR renameObject: invalid ID ${data[0]}`));
|
|
567
|
-
}
|
|
568
|
-
// Handle request for Metadata for files
|
|
574
|
+
// Handle request for Meta data for files
|
|
569
575
|
if (oldDetails.isMeta) {
|
|
570
576
|
handler.sendString(responseId, 'OK');
|
|
571
577
|
}
|
|
@@ -587,9 +593,6 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
587
593
|
// Handle Redis "DEL" request for state and session namespace
|
|
588
594
|
handler.on('del', (data, responseId) => {
|
|
589
595
|
const { id, namespace, name, isMeta } = this._normalizeId(data[0]);
|
|
590
|
-
if (!id) {
|
|
591
|
-
return void handler.sendError(responseId, new Error(`ID is null: ${data[0]}`));
|
|
592
|
-
}
|
|
593
596
|
if (namespace === this.namespaceObj) {
|
|
594
597
|
try {
|
|
595
598
|
this._delObject(id);
|
|
@@ -626,9 +629,6 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
626
629
|
}
|
|
627
630
|
// Note: we only simulate single key existence check
|
|
628
631
|
const { id, namespace, name } = this._normalizeId(data[0]);
|
|
629
|
-
if (!id) {
|
|
630
|
-
return void handler.sendError(responseId, new Error(`ID is null: ${data[0]}`));
|
|
631
|
-
}
|
|
632
632
|
if (namespace === this.namespaceObj) {
|
|
633
633
|
let exists;
|
|
634
634
|
try {
|
|
@@ -691,9 +691,6 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
691
691
|
// Handle Redis "PSUBSCRIBE" request for state, log and session namespace
|
|
692
692
|
handler.on('psubscribe', (data, responseId) => {
|
|
693
693
|
const { id, namespace, name } = this._normalizeId(data[0]);
|
|
694
|
-
if (!id) {
|
|
695
|
-
return void handler.sendError(responseId, new Error(`ID is null: ${data[0]}`));
|
|
696
|
-
}
|
|
697
694
|
if (namespace === this.namespaceObj) {
|
|
698
695
|
this._subscribeConfigForClient(handler, id);
|
|
699
696
|
handler.sendArray(responseId, ['psubscribe', data[0], 1]);
|
|
@@ -713,9 +710,6 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
713
710
|
// Handle Redis "UNSUBSCRIBE" request for state, log and session namespace
|
|
714
711
|
handler.on('punsubscribe', (data, responseId) => {
|
|
715
712
|
const { id, namespace, name } = this._normalizeId(data[0]);
|
|
716
|
-
if (!id) {
|
|
717
|
-
return void handler.sendError(responseId, new Error(`ID is null: ${data[0]}`));
|
|
718
|
-
}
|
|
719
713
|
if (namespace === this.namespaceObj) {
|
|
720
714
|
this._unsubscribeConfigForClient(handler, id);
|
|
721
715
|
handler.sendArray(responseId, ['punsubscribe', data[0], 1]);
|
|
@@ -775,11 +769,6 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
775
769
|
handler.sendNull(responseId);
|
|
776
770
|
}
|
|
777
771
|
}
|
|
778
|
-
else if (typeof data[0] === 'string' && data[0].toLowerCase() === 'setinfo') {
|
|
779
|
-
// ioredis >= 5.8 announces its lib-name/lib-ver via CLIENT SETINFO on connect.
|
|
780
|
-
// Real Redis (>= 7.2) replies OK, so acknowledge it to stay compatible.
|
|
781
|
-
handler.sendString(responseId, 'OK');
|
|
782
|
-
}
|
|
783
772
|
else {
|
|
784
773
|
handler.sendError(responseId, new Error(`CLIENT-UNSUPPORTED for ${JSON.stringify(data)}`));
|
|
785
774
|
}
|
|
@@ -789,7 +778,7 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
789
778
|
/**
|
|
790
779
|
* Return connected RedisHandlers/Connections
|
|
791
780
|
*
|
|
792
|
-
* @returns
|
|
781
|
+
* @returns
|
|
793
782
|
*/
|
|
794
783
|
getClients() {
|
|
795
784
|
return this.serverConnections;
|
|
@@ -823,15 +812,11 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
823
812
|
*
|
|
824
813
|
* @param handler RedisHandler instance
|
|
825
814
|
* @param pattern - pattern without namespace prefix
|
|
826
|
-
* @param responseId -
|
|
815
|
+
* @param responseId - Id where response will be sent to
|
|
827
816
|
* @param isScan - if used by "SCAN" this flag should be true
|
|
828
817
|
*/
|
|
829
818
|
_handleScanOrKeys(handler, pattern, responseId, isScan = false) {
|
|
830
819
|
const { id, namespace, name, isMeta } = this._normalizeId(pattern);
|
|
831
|
-
// `_normalizeId` returns id === '' for a full-DB enumeration; only `null` means "no id".
|
|
832
|
-
if (id === null) {
|
|
833
|
-
return void handler.sendError(responseId, new Error(`ID is null in ${pattern}`));
|
|
834
|
-
}
|
|
835
820
|
let response = [];
|
|
836
821
|
if (namespace === this.namespaceObj || namespace === this.namespaceObjects) {
|
|
837
822
|
try {
|
|
@@ -840,7 +825,7 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
840
825
|
catch (e) {
|
|
841
826
|
return void handler.sendError(responseId, e);
|
|
842
827
|
}
|
|
843
|
-
// if
|
|
828
|
+
// if scan, we send the cursor as first argument
|
|
844
829
|
if (namespace !== this.namespaceObjects) {
|
|
845
830
|
// When it was not the full DB namespace send out response
|
|
846
831
|
return void handler.sendArray(responseId, isScan ? ['0', response] : response);
|
|
@@ -851,7 +836,7 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
851
836
|
// such a request should never happen
|
|
852
837
|
return handler.sendArray(responseId, isScan ? ['0', []] : []); // send out file or full db response
|
|
853
838
|
}
|
|
854
|
-
// Handle request to get
|
|
839
|
+
// Handle request to get meta data keys
|
|
855
840
|
let res;
|
|
856
841
|
try {
|
|
857
842
|
res = this._readDir(id, name);
|
|
@@ -888,7 +873,7 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
888
873
|
arr.file += '/_data.json'; // We return a "virtual file" to mark the directory as existing
|
|
889
874
|
}
|
|
890
875
|
}
|
|
891
|
-
// We need to simulate the
|
|
876
|
+
// We need to simulate the Meta data here, so return both
|
|
892
877
|
response.push(this.getFileId(entryId, baseName + arr.file, true));
|
|
893
878
|
response.push(this.getFileId(entryId, baseName + arr.file, false));
|
|
894
879
|
});
|
|
@@ -929,7 +914,7 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
929
914
|
* Initialize Redis Server
|
|
930
915
|
*
|
|
931
916
|
* @param settings Settings object
|
|
932
|
-
* @returns
|
|
917
|
+
* @returns
|
|
933
918
|
*/
|
|
934
919
|
_initRedisServer(settings) {
|
|
935
920
|
return new Promise((resolve, reject) => {
|
|
@@ -940,11 +925,7 @@ export class ObjectsInMemoryServer extends ObjectsInMemoryJsonlDB {
|
|
|
940
925
|
this.server = net.createServer();
|
|
941
926
|
this.server.on('error', err => this.log.info(`${this.namespace} ${settings.secure ? 'Secure ' : ''} Error inMem-objects listening on port ${settings.port || 9001}: ${err}`));
|
|
942
927
|
this.server.on('connection', socket => this._initSocket(socket));
|
|
943
|
-
this.server.listen(settings.port || 9001, settings.host === 'localhost'
|
|
944
|
-
? getLocalAddress()
|
|
945
|
-
: settings.host
|
|
946
|
-
? settings.host
|
|
947
|
-
: undefined, () => resolve());
|
|
928
|
+
this.server.listen(settings.port || 9001, settings.host === 'localhost' ? getLocalAddress() : settings.host ? settings.host : undefined, () => resolve());
|
|
948
929
|
}
|
|
949
930
|
catch (err) {
|
|
950
931
|
reject(err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objectsInMemServerRedis.js","sourceRoot":"","sources":["../../../../src/lib/objects/objectsInMemServerRedis.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"objectsInMemServerRedis.js","sourceRoot":"","sources":["../../../../src/lib/objects/objectsInMemServerRedis.js"],"names":[],"mappings":"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"}
|