@iobroker/db-objects-redis 4.0.21 → 4.1.0-alpha.0-20220819-74ceeddc

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.
Files changed (38) hide show
  1. package/build/index.d.ts +5 -0
  2. package/build/index.js +35 -0
  3. package/build/lib/objects/constants.d.ts +32 -0
  4. package/build/lib/objects/constants.d.ts.map +1 -0
  5. package/build/lib/objects/constants.js +35 -0
  6. package/build/lib/objects/constants.js.map +1 -0
  7. package/{lib → build/lib}/objects/lua-v3/custom.lua +0 -0
  8. package/{lib → build/lib}/objects/lua-v3/filter.lua +0 -0
  9. package/{lib → build/lib}/objects/lua-v3/programs.lua +0 -0
  10. package/{lib → build/lib}/objects/lua-v3/script.lua +0 -0
  11. package/{lib → build/lib}/objects/lua-v3/variables.lua +0 -0
  12. package/{lib → build/lib}/objects/lua-v4/custom.lua +0 -0
  13. package/{lib → build/lib}/objects/lua-v4/filter.lua +0 -0
  14. package/{lib → build/lib}/objects/lua-v4/programs.lua +0 -0
  15. package/{lib → build/lib}/objects/lua-v4/redlock_acquire.lua +0 -0
  16. package/{lib → build/lib}/objects/lua-v4/redlock_extend.lua +0 -0
  17. package/{lib → build/lib}/objects/lua-v4/redlock_release.lua +0 -0
  18. package/{lib → build/lib}/objects/lua-v4/script.lua +0 -0
  19. package/{lib → build/lib}/objects/lua-v4/variables.lua +0 -0
  20. package/{lib → build/lib}/objects/lua-v4-no-sets/custom.lua +0 -0
  21. package/{lib → build/lib}/objects/lua-v4-no-sets/filter.lua +0 -0
  22. package/{lib → build/lib}/objects/lua-v4-no-sets/programs.lua +0 -0
  23. package/{lib → build/lib}/objects/lua-v4-no-sets/redlock_acquire.lua +0 -0
  24. package/{lib → build/lib}/objects/lua-v4-no-sets/redlock_extend.lua +0 -0
  25. package/{lib → build/lib}/objects/lua-v4-no-sets/redlock_release.lua +0 -0
  26. package/{lib → build/lib}/objects/lua-v4-no-sets/script.lua +0 -0
  27. package/{lib → build/lib}/objects/lua-v4-no-sets/variables.lua +0 -0
  28. package/build/lib/objects/objectsInRedisClient.d.ts +340 -0
  29. package/build/lib/objects/objectsInRedisClient.d.ts.map +1 -0
  30. package/{lib → build/lib}/objects/objectsInRedisClient.js +1730 -2130
  31. package/build/lib/objects/objectsInRedisClient.js.map +1 -0
  32. package/build/lib/objects/objectsUtils.d.ts +57 -0
  33. package/build/lib/objects/objectsUtils.d.ts.map +1 -0
  34. package/build/lib/objects/objectsUtils.js +637 -0
  35. package/build/lib/objects/objectsUtils.js.map +1 -0
  36. package/package.json +13 -8
  37. package/index.js +0 -8
  38. package/lib/objects/objectsUtils.js +0 -777
@@ -0,0 +1,5 @@
1
+ export declare function getDefaultPort(host: string): number;
2
+ export declare const Server: null;
3
+ export { ObjectsInRedisClient as Client } from './lib/objects/objectsInRedisClient';
4
+ export * as objectsUtils from './lib/objects/objectsUtils';
5
+ //# sourceMappingURL=index.d.ts.map
package/build/index.js ADDED
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.objectsUtils = exports.Client = exports.Server = exports.getDefaultPort = void 0;
27
+ function getDefaultPort(host) {
28
+ return host.includes(',') ? 26379 : 6379;
29
+ }
30
+ exports.getDefaultPort = getDefaultPort;
31
+ exports.Server = null;
32
+ var objectsInRedisClient_1 = require("./lib/objects/objectsInRedisClient");
33
+ Object.defineProperty(exports, "Client", { enumerable: true, get: function () { return objectsInRedisClient_1.ObjectsInRedisClient; } });
34
+ exports.objectsUtils = __importStar(require("./lib/objects/objectsUtils"));
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,32 @@
1
+ export declare enum ERRORS {
2
+ ERROR_PERMISSION = "permissionError",
3
+ ERROR_NOT_FOUND = "Not exists",
4
+ ERROR_DB_CLOSED = "DB closed"
5
+ }
6
+ export declare const SYSTEM_ADMIN_USER = "system.user.admin";
7
+ export declare const SYSTEM_ADMIN_GROUP = "system.group.administrator";
8
+ export declare const ACCESS_EVERY_EXEC = 1;
9
+ export declare const ACCESS_EVERY_WRITE = 2;
10
+ export declare const ACCESS_EVERY_READ = 4;
11
+ export declare const ACCESS_EVERY_RW: number;
12
+ export declare const ACCESS_EVERY_ALL: number;
13
+ export declare const ACCESS_GROUP_EXEC = 16;
14
+ export declare const ACCESS_GROUP_WRITE = 32;
15
+ export declare const ACCESS_GROUP_READ = 64;
16
+ export declare const ACCESS_GROUP_RW: number;
17
+ export declare const ACCESS_GROUP_ALL: number;
18
+ export declare const ACCESS_USER_EXEC = 256;
19
+ export declare const ACCESS_USER_WRITE = 512;
20
+ export declare const ACCESS_USER_READ = 1024;
21
+ export declare const ACCESS_USER_RW: number;
22
+ export declare const ACCESS_USER_ALL: number;
23
+ export declare const ACCESS_WRITE = 2;
24
+ export declare const ACCESS_READ = 4;
25
+ export declare const ACCESS_LIST = "list";
26
+ export declare const ACCESS_DELETE = "delete";
27
+ export declare const ACCESS_CREATE = "create";
28
+ export declare type GenericAccessFlags = typeof ACCESS_WRITE | typeof ACCESS_READ | typeof ACCESS_LIST | typeof ACCESS_DELETE | typeof ACCESS_CREATE;
29
+ export declare const REG_CHECK_ID: RegExp;
30
+ export declare const USER_STARTS_WITH = "system.user.";
31
+ export declare const GROUP_STARTS_WITH = "system.group.";
32
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/objects/constants.ts"],"names":[],"mappings":"AAAA,oBAAY,MAAM;IACd,gBAAgB,oBAAoB;IACpC,eAAe,eAAe;IAC9B,eAAe,cAAc;CAChC;AAED,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD,eAAO,MAAM,kBAAkB,+BAA+B,CAAC;AAE/D,eAAO,MAAM,iBAAiB,IAAM,CAAC;AACrC,eAAO,MAAM,kBAAkB,IAAM,CAAC;AACtC,eAAO,MAAM,iBAAiB,IAAM,CAAC;AACrC,eAAO,MAAM,eAAe,QAAyC,CAAC;AACtE,eAAO,MAAM,gBAAgB,QAA6D,CAAC;AAE3F,eAAO,MAAM,iBAAiB,KAAO,CAAC;AACtC,eAAO,MAAM,kBAAkB,KAAO,CAAC;AACvC,eAAO,MAAM,iBAAiB,KAAO,CAAC;AACtC,eAAO,MAAM,eAAe,QAAyC,CAAC;AACtE,eAAO,MAAM,gBAAgB,QAA6D,CAAC;AAE3F,eAAO,MAAM,gBAAgB,MAAQ,CAAC;AACtC,eAAO,MAAM,iBAAiB,MAAQ,CAAC;AACvC,eAAO,MAAM,gBAAgB,OAAQ,CAAC;AACtC,eAAO,MAAM,cAAc,QAAuC,CAAC;AACnE,eAAO,MAAM,eAAe,QAA0D,CAAC;AAEvF,eAAO,MAAM,YAAY,IAAM,CAAC;AAChC,eAAO,MAAM,WAAW,IAAM,CAAC;AAC/B,eAAO,MAAM,WAAW,SAAS,CAAC;AAClC,eAAO,MAAM,aAAa,WAAW,CAAC;AACtC,eAAO,MAAM,aAAa,WAAW,CAAC;AAEtC,oBAAY,kBAAkB,GACxB,OAAO,YAAY,GACnB,OAAO,WAAW,GAClB,OAAO,WAAW,GAClB,OAAO,aAAa,GACpB,OAAO,aAAa,CAAC;AAE3B,eAAO,MAAM,YAAY,QAAkB,CAAC;AAE5C,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAC/C,eAAO,MAAM,iBAAiB,kBAAkB,CAAC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GROUP_STARTS_WITH = exports.USER_STARTS_WITH = exports.REG_CHECK_ID = exports.ACCESS_CREATE = exports.ACCESS_DELETE = exports.ACCESS_LIST = exports.ACCESS_READ = exports.ACCESS_WRITE = exports.ACCESS_USER_ALL = exports.ACCESS_USER_RW = exports.ACCESS_USER_READ = exports.ACCESS_USER_WRITE = exports.ACCESS_USER_EXEC = exports.ACCESS_GROUP_ALL = exports.ACCESS_GROUP_RW = exports.ACCESS_GROUP_READ = exports.ACCESS_GROUP_WRITE = exports.ACCESS_GROUP_EXEC = exports.ACCESS_EVERY_ALL = exports.ACCESS_EVERY_RW = exports.ACCESS_EVERY_READ = exports.ACCESS_EVERY_WRITE = exports.ACCESS_EVERY_EXEC = exports.SYSTEM_ADMIN_GROUP = exports.SYSTEM_ADMIN_USER = exports.ERRORS = void 0;
4
+ var ERRORS;
5
+ (function (ERRORS) {
6
+ ERRORS["ERROR_PERMISSION"] = "permissionError";
7
+ ERRORS["ERROR_NOT_FOUND"] = "Not exists";
8
+ ERRORS["ERROR_DB_CLOSED"] = "DB closed";
9
+ })(ERRORS = exports.ERRORS || (exports.ERRORS = {}));
10
+ exports.SYSTEM_ADMIN_USER = 'system.user.admin';
11
+ exports.SYSTEM_ADMIN_GROUP = 'system.group.administrator';
12
+ exports.ACCESS_EVERY_EXEC = 0x1;
13
+ exports.ACCESS_EVERY_WRITE = 0x2;
14
+ exports.ACCESS_EVERY_READ = 0x4;
15
+ exports.ACCESS_EVERY_RW = exports.ACCESS_EVERY_WRITE | exports.ACCESS_EVERY_READ;
16
+ exports.ACCESS_EVERY_ALL = exports.ACCESS_EVERY_WRITE | exports.ACCESS_EVERY_READ | exports.ACCESS_EVERY_EXEC;
17
+ exports.ACCESS_GROUP_EXEC = 0x10;
18
+ exports.ACCESS_GROUP_WRITE = 0x20;
19
+ exports.ACCESS_GROUP_READ = 0x40;
20
+ exports.ACCESS_GROUP_RW = exports.ACCESS_GROUP_WRITE | exports.ACCESS_GROUP_READ;
21
+ exports.ACCESS_GROUP_ALL = exports.ACCESS_GROUP_WRITE | exports.ACCESS_GROUP_READ | exports.ACCESS_GROUP_EXEC;
22
+ exports.ACCESS_USER_EXEC = 0x100;
23
+ exports.ACCESS_USER_WRITE = 0x200;
24
+ exports.ACCESS_USER_READ = 0x400;
25
+ exports.ACCESS_USER_RW = exports.ACCESS_USER_WRITE | exports.ACCESS_USER_READ;
26
+ exports.ACCESS_USER_ALL = exports.ACCESS_USER_WRITE | exports.ACCESS_USER_READ | exports.ACCESS_USER_EXEC;
27
+ exports.ACCESS_WRITE = 0x2;
28
+ exports.ACCESS_READ = 0x4;
29
+ exports.ACCESS_LIST = 'list';
30
+ exports.ACCESS_DELETE = 'delete';
31
+ exports.ACCESS_CREATE = 'create';
32
+ exports.REG_CHECK_ID = /[*?[\]]|\$%\$/;
33
+ exports.USER_STARTS_WITH = 'system.user.';
34
+ exports.GROUP_STARTS_WITH = 'system.group.';
35
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/lib/objects/constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,MAIX;AAJD,WAAY,MAAM;IACd,8CAAoC,CAAA;IACpC,wCAA8B,CAAA;IAC9B,uCAA6B,CAAA;AACjC,CAAC,EAJW,MAAM,GAAN,cAAM,KAAN,cAAM,QAIjB;AAEY,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AACxC,QAAA,kBAAkB,GAAG,4BAA4B,CAAC;AAElD,QAAA,iBAAiB,GAAG,GAAG,CAAC;AACxB,QAAA,kBAAkB,GAAG,GAAG,CAAC;AACzB,QAAA,iBAAiB,GAAG,GAAG,CAAC;AACxB,QAAA,eAAe,GAAG,0BAAkB,GAAG,yBAAiB,CAAC;AACzD,QAAA,gBAAgB,GAAG,0BAAkB,GAAG,yBAAiB,GAAG,yBAAiB,CAAC;AAE9E,QAAA,iBAAiB,GAAG,IAAI,CAAC;AACzB,QAAA,kBAAkB,GAAG,IAAI,CAAC;AAC1B,QAAA,iBAAiB,GAAG,IAAI,CAAC;AACzB,QAAA,eAAe,GAAG,0BAAkB,GAAG,yBAAiB,CAAC;AACzD,QAAA,gBAAgB,GAAG,0BAAkB,GAAG,yBAAiB,GAAG,yBAAiB,CAAC;AAE9E,QAAA,gBAAgB,GAAG,KAAK,CAAC;AACzB,QAAA,iBAAiB,GAAG,KAAK,CAAC;AAC1B,QAAA,gBAAgB,GAAG,KAAK,CAAC;AACzB,QAAA,cAAc,GAAG,yBAAiB,GAAG,wBAAgB,CAAC;AACtD,QAAA,eAAe,GAAG,yBAAiB,GAAG,wBAAgB,GAAG,wBAAgB,CAAC;AAE1E,QAAA,YAAY,GAAG,GAAG,CAAC;AACnB,QAAA,WAAW,GAAG,GAAG,CAAC;AAClB,QAAA,WAAW,GAAG,MAAM,CAAC;AACrB,QAAA,aAAa,GAAG,QAAQ,CAAC;AACzB,QAAA,aAAa,GAAG,QAAQ,CAAC;AASzB,QAAA,YAAY,GAAG,eAAe,CAAC;AAE/B,QAAA,gBAAgB,GAAG,cAAc,CAAC;AAClC,QAAA,iBAAiB,GAAG,eAAe,CAAC"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,340 @@
1
+ /// <reference types="iobroker" />
2
+ /// <reference types="iobroker" />
3
+ import type { ACLObject, CheckFileRightsCallback, GetUserGroupPromiseReturn, WMStrm } from './objectsUtils.js';
4
+ import type { InternalLogger } from '@iobroker/js-controller-common/tools';
5
+ import type { ConnectionOptions, DbStatus } from '@iobroker/db-base/inMemFileDB';
6
+ declare type ChangeFunction = (id: string, object: Record<string, any> | null) => void;
7
+ declare type ChangeFileFunction = (id: string, fileName: string, size: number | null) => void;
8
+ declare type GetUserGroupCallbackNoError = (user: string, groups: string[], acl: ioBroker.ObjectPermissions) => void;
9
+ interface RedisConnectionOptions extends ConnectionOptions {
10
+ redisNamespace?: string;
11
+ }
12
+ interface ObjectsSettings {
13
+ connected: () => void;
14
+ controller?: boolean;
15
+ primaryHostLost?: () => void;
16
+ disconnected?: () => void;
17
+ change?: ChangeFunction;
18
+ changeUser?: ChangeFunction;
19
+ changeFileUser?: ChangeFileFunction;
20
+ autoConnect: boolean;
21
+ logger: InternalLogger;
22
+ hostname?: string;
23
+ namespace?: string;
24
+ defaultNewAcl?: ACLObject;
25
+ metaNamespace?: string;
26
+ redisNamespace?: string;
27
+ connection: RedisConnectionOptions;
28
+ }
29
+ interface CallOptions {
30
+ groups?: string[];
31
+ group?: string;
32
+ user?: string;
33
+ owner?: string;
34
+ ownerGroup?: string;
35
+ acl?: any;
36
+ [other: string]: any;
37
+ }
38
+ interface WriteFileOptions extends CallOptions {
39
+ mimeType?: string;
40
+ }
41
+ declare type CheckFileCallback = (checkFailed: boolean, options?: CallOptions, fileOptions?: {
42
+ notExists: boolean;
43
+ }) => void;
44
+ export declare class ObjectsInRedisClient {
45
+ private client;
46
+ private readonly fileNamespace;
47
+ private readonly redisNamespace;
48
+ private readonly fileNamespaceL;
49
+ private readonly objNamespace;
50
+ private readonly setNamespace;
51
+ private readonly metaNamespace;
52
+ private readonly objNamespaceL;
53
+ private readonly supportedProtocolVersions;
54
+ private stop;
55
+ private sub;
56
+ private subSystem;
57
+ private settings;
58
+ private readonly preserveSettings;
59
+ private defaultNewAcl;
60
+ private readonly namespace;
61
+ private readonly hostname;
62
+ private scripts;
63
+ private readonly existingMetaObjects;
64
+ private log;
65
+ private activeProtocolVersion?;
66
+ private useSets?;
67
+ private noLegacyMultihost?;
68
+ private readonly userSubscriptions;
69
+ private readonly systemSubscriptions;
70
+ constructor(settings: ObjectsSettings);
71
+ /**
72
+ * Checks if we are allowed to start and sets the protocol version accordingly
73
+ */
74
+ private _determineProtocolVersion;
75
+ connectDb(): void;
76
+ getStatus(): DbStatus;
77
+ /**
78
+ * Checks if given ID is a meta-object, else throws error
79
+ *
80
+ * @param {string} id to check
81
+ * @throws Error if id is invalid
82
+ */
83
+ validateMetaObject(id: string): Promise<void>;
84
+ normalizeFilename(name: string): string;
85
+ private _setBinaryState;
86
+ /**
87
+ * get buffer of given id from redis
88
+ *
89
+ * @param id - id of the data with namespace prefix
90
+ */
91
+ private _getBinaryState;
92
+ /**
93
+ * deletes binary state of given id from redis db
94
+ *
95
+ * @param id - id to delete, with namespace prefix
96
+ */
97
+ private _delBinaryState;
98
+ getFileId(id: string, name: string, isMeta?: boolean): string;
99
+ checkFile(id: string, name: string, options: CallOptions, flag: any, callback?: CheckFileCallback): Promise<ioBroker.CallbackReturnTypeOf<CheckFileCallback> | void>;
100
+ checkFileRights(id: string, name: string | null, options?: CallOptions | null, flag?: any, callback?: CheckFileRightsCallback): void;
101
+ private _setDefaultAcl;
102
+ setDefaultAcl(defaultNewAcl: ACLObject | null): Promise<void>;
103
+ getUserGroup(user: string, callback: GetUserGroupCallbackNoError): Promise<GetUserGroupPromiseReturn> | void;
104
+ insert(id: string, attName: string, ignore: any, options: string | Record<string, any>, obj: any, callback: (err: Error | null | undefined, param: null) => void): WMStrm;
105
+ private _writeFile;
106
+ writeFile(id: string, name: string, data: any, callback?: ioBroker.ErrorCallback): Promise<void>;
107
+ writeFile(id: string, name: string, data: any, options?: WriteFileOptions | null, callback?: ioBroker.ErrorCallback): Promise<void>;
108
+ writeFileAsync(id: string, name: string, data: any, options?: WriteFileOptions | null): Promise<void>;
109
+ private _readFile;
110
+ readFile(id: string, name: string, options: CallOptions | null): ioBroker.ReadFilePromise;
111
+ readFile(id: string, name: string, options: CallOptions | null, callback: ioBroker.ReadFileCallback): void;
112
+ readFileAsync(id: string, name: string, options: CallOptions): ioBroker.ReadFilePromise;
113
+ /**
114
+ * Check if given object exists
115
+ *
116
+ * @param id id of the object
117
+ * @param options optional user context
118
+ */
119
+ objectExists(id: string, options: CallOptions): Promise<boolean>;
120
+ /**
121
+ * Check if given file exists
122
+ *
123
+ * @param id id of the namespace
124
+ * @param name name of the file
125
+ * @param options optional user context
126
+ */
127
+ fileExists(id: string, name: string, options: CallOptions): Promise<boolean>;
128
+ private _unlink;
129
+ unlink(id: string, name: string, options: CallOptions | null, callback: ioBroker.RmCallback): void;
130
+ unlinkAsync(id: string, name: string, options: CallOptions): Promise<void>;
131
+ delFile(id: string, name: string, options: CallOptions, callback: ioBroker.ErrorCallback): void;
132
+ delFileAsync(id: string, name: string, options: CallOptions): Promise<void>;
133
+ private _readDir;
134
+ readDir(id: string, name: string, options: CallOptions | null, callback: ioBroker.ReadDirCallback): void;
135
+ readDirAsync(id: string, name: string, options: CallOptions): ioBroker.ReadDirPromise;
136
+ private _renameHelper;
137
+ private _rename;
138
+ rename(id: string, oldName: string, newName: string, options: CallOptions | null, callback?: ioBroker.ErrorCallback): void | Promise<void>;
139
+ renameAsync(id: string, oldName: string, newName: string, options: CallOptions): Promise<void>;
140
+ private _touch;
141
+ touch(id: string, name: string, options: CallOptions | null, callback: ioBroker.ErrorCallback): void;
142
+ touchAsync(id: string, name: string, options: CallOptions): Promise<void>;
143
+ private _rmHelper;
144
+ private _rm;
145
+ rm(id: string, name: string, options: CallOptions | null, callback: ioBroker.RmCallback): void;
146
+ rmAsync(id: string, name: string, options: CallOptions): Promise<void | ioBroker.RmResult[]>;
147
+ mkdir(id: string, dirName: string, options: CallOptions | null, callback: ioBroker.ErrorCallback): void;
148
+ mkdirAsync(id: string, dirName: string, options: CallOptions): Promise<void>;
149
+ private _chownFileHelper;
150
+ private _chownFile;
151
+ chownFile(id: string, name: string, options: CallOptions, callback: ioBroker.ChownFileCallback): void;
152
+ chownFileAsync(id: string, name: string, options: CallOptions): Promise<ioBroker.CallbackReturnTypeOf<ioBroker.ChownFileCallback>>;
153
+ /**
154
+ *
155
+ * @param keys Key names to handle
156
+ * @param metas Objects for the keys to handle
157
+ * @param options options
158
+ * @param callback callback function
159
+ */
160
+ private _chmodFileHelper;
161
+ private _chmodFile;
162
+ chmodFile(id: string, name: string, options: CallOptions | null, callback: ioBroker.ChownFileCallback): void;
163
+ chmodFileAsync(id: string, name: string, options: CallOptions): Promise<ioBroker.CallbackReturnTypeOf<ioBroker.ChownFileCallback>>;
164
+ enableFileCache(enabled: boolean, callback?: (err: Error | null | undefined, res: boolean) => void): void;
165
+ enableFileCache(enabled: boolean, options?: CallOptions, callback?: (err: Error | null | undefined, res: boolean) => void): void;
166
+ enableFileCacheAsync(enabled: boolean, options?: CallOptions): Promise<boolean>;
167
+ private _subscribeFile;
168
+ private _unsubscribeFile;
169
+ subscribeUserFile(id: string, pattern: string, options?: CallOptions): Promise<void>;
170
+ unsubscribeUserFile(id: string, pattern: string, options?: CallOptions): Promise<void>;
171
+ private _subscribe;
172
+ subscribeConfig(pattern: string | string[], callback?: ioBroker.ErrorCallback): void;
173
+ subscribeConfig(pattern: string | string[], options?: CallOptions, callback?: ioBroker.ErrorCallback): void;
174
+ subscribe(pattern: string | string[], options: CallOptions, callback?: ioBroker.ErrorCallback): void;
175
+ subscribeAsync(pattern: string | string[], options: CallOptions): Promise<void>;
176
+ subscribeUser(pattern: string | string[], callback?: ioBroker.ErrorCallback): void;
177
+ subscribeUser(pattern: string | string[], options: CallOptions, callback?: ioBroker.ErrorCallback): void;
178
+ subscribeUserAsync(pattern: string | string[], options: CallOptions): Promise<void>;
179
+ private _unsubscribe;
180
+ unsubscribeConfig(pattern: string | string[], callback?: ioBroker.ErrorCallback): void;
181
+ unsubscribeConfig(pattern: string | string[], options?: CallOptions | null, callback?: ioBroker.ErrorCallback): void;
182
+ unsubscribe(pattern: string | string[], options?: CallOptions | null, callback?: ioBroker.ErrorCallback): void;
183
+ unsubscribeAsync(pattern: string | string[], options: CallOptions): Promise<void>;
184
+ unsubscribeUser(pattern: string | string[], options?: CallOptions | null, callback?: ioBroker.ErrorCallback): void;
185
+ unsubscribeUserAsync(pattern: string | string[], options: CallOptions): Promise<void>;
186
+ private _objectHelper;
187
+ private _chownObject;
188
+ chownObject(pattern: string, options: CallOptions, callback?: ioBroker.ChownObjectCallback): void | Promise<void>;
189
+ chownObjectAsync(pattern: string, options: CallOptions): Promise<ioBroker.CallbackReturnTypeOf<ioBroker.ChownObjectCallback>>;
190
+ private _chmodObject;
191
+ chmodObject(pattern: string, options: CallOptions | null, callback?: ioBroker.ChownObjectCallback): void | Promise<void>;
192
+ chmodObjectAsync(pattern: string, options: CallOptions): Promise<ioBroker.CallbackReturnTypeOf<ioBroker.ChownObjectCallback>>;
193
+ private _getObject;
194
+ getObject<T extends string>(id: T, options: Record<string, any> | undefined, callback: ioBroker.GetObjectCallback<T>): void;
195
+ getObject<T extends string>(id: T, callback: ioBroker.GetObjectCallback<T>): void;
196
+ getObject<T extends string>(id: T, options?: Record<string, any>): Promise<ioBroker.CallbackReturnTypeOf<ioBroker.GetObjectCallback<T>>>;
197
+ getObjectAsync<T extends string>(id: T, options?: Record<string, any>): Promise<ioBroker.CallbackReturnTypeOf<ioBroker.GetObjectCallback<T>>>;
198
+ private _getKeys;
199
+ getKeys(pattern: string, options: CallOptions | null | undefined, callback: ioBroker.GetConfigKeysCallback, dontModify?: boolean): void;
200
+ getKeys(pattern: string, callback: ioBroker.GetConfigKeysCallback): void;
201
+ getKeys(pattern: string, options?: CallOptions | null, callback?: undefined, dontModify?: boolean): Promise<ioBroker.CallbackReturnTypeOf<ioBroker.GetConfigKeysCallback>>;
202
+ getKeysAsync(id: string, options?: CallOptions): Promise<ioBroker.CallbackReturnTypeOf<ioBroker.GetConfigKeysCallback>>;
203
+ getConfigKeys(pattern: string, options: CallOptions, callback: ioBroker.GetConfigKeysCallback, dontModify: boolean): void;
204
+ private _getObjects;
205
+ getObjects(keys: string[], options?: CallOptions | null): Promise<ioBroker.AnyObject[]>;
206
+ getObjects(keys: string[], options: CallOptions | null, callback: (err?: Error | null, objs?: ioBroker.AnyObject[]) => void, dontModify?: boolean): void;
207
+ getObjectsAsync(keys: string[], options?: CallOptions | null): Promise<ioBroker.AnyObject[]>;
208
+ private _getObjectsByPattern;
209
+ getObjectsByPattern(pattern: string, options: CallOptions | null, callback: (err?: Error | null, objs?: ioBroker.AnyObject[]) => void): void | Promise<ioBroker.AnyObject[] | void>;
210
+ getObjectsByPatternAsync(pattern: string, options: CallOptions): Promise<ioBroker.AnyObject[] | void>;
211
+ private _setObject;
212
+ /**
213
+ * set anew or update object
214
+ *
215
+ * This function writes the object into DB
216
+ *
217
+ * @alias setObject
218
+ * @memberof objectsInMemServer
219
+ * @param id ID of the object
220
+ * @param obj
221
+ * @param options options for access control are optional
222
+ * @param callback return function
223
+ */
224
+ setObject<T extends string>(id: T, obj: ioBroker.SettableObject<ioBroker.ObjectIdToObjectType<T>>, options?: CallOptions | null, callback?: ioBroker.SetObjectCallback): void | Promise<ioBroker.CallbackReturnTypeOf<ioBroker.SetObjectCallback>>;
225
+ setObjectAsync(id: string, obj: ioBroker.SettableObject, options?: CallOptions | null): Promise<ioBroker.CallbackReturnTypeOf<ioBroker.SetObjectCallback>>;
226
+ private _delObject;
227
+ delObject(id: string, callback: ioBroker.ErrorCallback): void;
228
+ delObject(id: string, options: CallOptions | null, callback: ioBroker.ErrorCallback): void;
229
+ delObject(id: string, options?: CallOptions | null): Promise<void>;
230
+ delObjectAsync(id: string, options?: CallOptions): Promise<void>;
231
+ private _applyViewFunc;
232
+ private _getObjectView;
233
+ getObjectView<Design extends string = string, Search extends string = string>(design: Design, search: Search, params: ioBroker.GetObjectViewParams, options?: CallOptions): ioBroker.GetObjectViewPromise<ioBroker.InferGetObjectViewItemType<Design, Search>>;
234
+ getObjectView<Design extends string = string, Search extends string = string>(design: Design, search: Search, params: ioBroker.GetObjectViewParams, options: CallOptions, callback: ioBroker.GetObjectViewCallback<ioBroker.InferGetObjectViewItemType<Design, Search>>): void;
235
+ getObjectView<Design extends string = string, Search extends string = string>(design: Design, search: Search, params: ioBroker.GetObjectViewParams, callback: ioBroker.GetObjectViewCallback<ioBroker.InferGetObjectViewItemType<Design, Search>>): void;
236
+ getObjectViewAsync(design: string, search: string, params: ioBroker.GetObjectViewParams, options: CallOptions): Promise<ioBroker.CallbackReturnTypeOf<ioBroker.GetObjectViewCallback<any>>>;
237
+ private _getObjectList;
238
+ getObjectList(params: ioBroker.GetObjectListParams, callback: ioBroker.GetObjectListCallback): void;
239
+ getObjectList(params: ioBroker.GetObjectListParams): Promise<ioBroker.CallbackReturnTypeOf<ioBroker.GetObjectListCallback>>;
240
+ getObjectList<T extends ioBroker.GetObjectListCallback>(params: ioBroker.GetObjectListParams, options?: CallOptions | null, callback?: T): T extends ioBroker.GetObjectListCallback ? void : Promise<ioBroker.CallbackReturnTypeOf<ioBroker.GetObjectListCallback>>;
241
+ getObjectList(params: ioBroker.GetObjectListParams, options: CallOptions | null, callback: ioBroker.GetObjectListCallback): void;
242
+ getObjectList(params: ioBroker.GetObjectListParams, options?: CallOptions | null): Promise<ioBroker.CallbackReturnTypeOf<ioBroker.GetObjectListCallback>>;
243
+ getObjectListAsync(params: ioBroker.GetObjectListParams, options: CallOptions): Promise<ioBroker.CallbackReturnTypeOf<ioBroker.GetObjectListCallback>>;
244
+ private _extendObject;
245
+ extendObject<T extends string>(id: T, obj: ioBroker.PartialObject<ioBroker.ObjectIdToObjectType<T, 'write'>>, options?: ioBroker.ExtendObjectOptions | null, callback?: ioBroker.ExtendObjectCallback): void | Promise<ioBroker.CallbackReturnTypeOf<ioBroker.ExtendObjectCallback>>;
246
+ extendObjectAsync(id: string, obj: Partial<ioBroker.AnyObject>, options: ioBroker.ExtendObjectOptions): Promise<ioBroker.CallbackReturnTypeOf<ioBroker.ExtendObjectCallback>>;
247
+ setConfig(id: string, obj: ioBroker.SettableOtherObject, options: CallOptions, callback: ioBroker.SetObjectCallback): void | Promise<ioBroker.CallbackReturnTypeOf<ioBroker.SetObjectCallback>>;
248
+ delConfig(id: string, options: CallOptions, callback: ioBroker.ErrorCallback): void;
249
+ getConfig(id: string, options: CallOptions, callback: ioBroker.GetObjectCallback): void;
250
+ getConfigs(keys: string[], options: CallOptions, callback: (err?: Error | null, objs?: ioBroker.AnyObject[]) => void, dontModify: boolean): void;
251
+ /**
252
+ * Returns the object id if found
253
+ * @param idOrName
254
+ * @param type
255
+ * @param options
256
+ * @param callback
257
+ */
258
+ private _findObject;
259
+ findObject(idOrName: string, type: string | null, options: CallOptions | null, callback: ioBroker.FindObjectCallback): void;
260
+ findObject(idOrName: string, type: string | null, callback: ioBroker.FindObjectCallback): void;
261
+ findObject(idOrName: string, type: string | null, options?: CallOptions | null): Promise<ioBroker.CallbackReturnTypeOf<ioBroker.FindObjectCallback>>;
262
+ findObjectAsync(idOrName: string, type: string, options: CallOptions): Promise<ioBroker.CallbackReturnTypeOf<ioBroker.FindObjectCallback>>;
263
+ addPreserveSettings(settings: string[] | string): void;
264
+ private _destroyDBHelper;
265
+ private _destroyDB;
266
+ destroyDB(options: CallOptions | null, callback: ioBroker.ErrorCallback): void;
267
+ destroyDBAsync(options: CallOptions): Promise<void>;
268
+ destroy(): Promise<void>;
269
+ loadLuaScripts(): Promise<void>;
270
+ /**
271
+ * Get all keys matching a pattern using redis SCAN command, duplicates are filtered out
272
+ *
273
+ * @param pattern - pattern to match, e. g. io.hm-rpc.0*
274
+ * @param count - count argument used by redis SCAN, default is 250
275
+ */
276
+ private _getKeysViaScan;
277
+ /**
278
+ * Checks if a given set exists
279
+ * @param id - id of the set
280
+ */
281
+ setExists(id: string): Promise<boolean>;
282
+ /**
283
+ * Migrate all objects to sets
284
+ * @return number of migrated sets
285
+ */
286
+ migrateToSets(): Promise<number>;
287
+ /**
288
+ * Returns the protocol version from DB
289
+ */
290
+ getProtocolVersion(): Promise<string | null>;
291
+ /**
292
+ * Extend the primary host lock time
293
+ * Value will expire after ms milliseconds
294
+ *
295
+ * @param ms - ms until value expires
296
+ * @return 1 if extended else 0
297
+ */
298
+ extendPrimaryHostLock(ms: number): Promise<number>;
299
+ /**
300
+ * Sets current host as primary if no primary host active
301
+ * Value will expire after ms milliseconds
302
+ *
303
+ * @param ms - ms until value expires
304
+ * @return 1 if lock acquired else 0
305
+ */
306
+ setPrimaryHost(ms: number): Promise<number>;
307
+ /**
308
+ * Get name of the primary host
309
+ */
310
+ getPrimaryHost(): Promise<string | null>;
311
+ /**
312
+ * Ensure we are no longer the primary host
313
+ */
314
+ releasePrimaryHost(): Promise<void>;
315
+ /**
316
+ * Sets the protocol version to the DB
317
+ * @param version - protocol version
318
+ */
319
+ setProtocolVersion(version: number | string): Promise<void>;
320
+ /**
321
+ * Subscribe to expired events to get expiration of primary host
322
+ */
323
+ subscribePrimaryHost(): Promise<void>;
324
+ /**
325
+ * Activates the usage of sets
326
+ */
327
+ activateSets(): Promise<void>;
328
+ /**
329
+ * Deactivates the usage of sets
330
+ */
331
+ deactivateSets(): Promise<void>;
332
+ /**
333
+ * Get value from meta namespace
334
+ *
335
+ * @param id redis key
336
+ */
337
+ getMeta(id: string): Promise<string | null>;
338
+ }
339
+ export {};
340
+ //# sourceMappingURL=objectsInRedisClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objectsInRedisClient.d.ts","sourceRoot":"","sources":["../../../src/lib/objects/objectsInRedisClient.ts"],"names":[],"mappings":"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"}