@iobroker/socket-classes 0.4.0 → 0.4.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/README.md +9 -0
- package/lib/socketCommands.js +30 -1
- package/lib/socketCommandsAdmin.js +3 -34
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -69,6 +69,15 @@ io.close();
|
|
|
69
69
|
-->
|
|
70
70
|
|
|
71
71
|
## Changelog
|
|
72
|
+
### 0.4.3 (2022-06-03)
|
|
73
|
+
* (bluefox) Allowed call of getAdapterInstances for non admin
|
|
74
|
+
|
|
75
|
+
### 0.4.2 (2022-05-23)
|
|
76
|
+
* (bluefox) Corrected renameFile command for admin
|
|
77
|
+
|
|
78
|
+
### 0.4.1 (2022-05-23)
|
|
79
|
+
* (bluefox) Corrected changePassword command for admin
|
|
80
|
+
|
|
72
81
|
### 0.4.0 (2022-05-19)
|
|
73
82
|
* (bluefox) Added support of socket.io 4.x
|
|
74
83
|
|
package/lib/socketCommands.js
CHANGED
|
@@ -800,7 +800,7 @@ class SocketCommands {
|
|
|
800
800
|
|
|
801
801
|
this.commands['renameFile'] = (socket, _adapter, oldName, newName, callback) => {
|
|
802
802
|
if (this._checkPermissions(socket, 'rename', callback, oldName)) {
|
|
803
|
-
this.adapter.
|
|
803
|
+
this.adapter.rename(_adapter, oldName, newName, {user: socket._acl.user}, (err, ...args) =>
|
|
804
804
|
SocketCommands._fixCallback(callback, err, ...args));
|
|
805
805
|
}
|
|
806
806
|
};
|
|
@@ -875,6 +875,35 @@ class SocketCommands {
|
|
|
875
875
|
this.commands['subscribeFiles'] = (socket, id, pattern, callback) => this._subscribeFiles(socket, id, pattern, callback);
|
|
876
876
|
|
|
877
877
|
this.commands['unsubscribeFiles'] = (socket, id, pattern, callback) => this._unsubscribeFiles(socket, id, pattern, callback);
|
|
878
|
+
|
|
879
|
+
this.commands['getAdapterInstances'] = (socket, adapterName, callback) => {
|
|
880
|
+
if (typeof callback === 'function') {
|
|
881
|
+
if (this._checkPermissions(socket, 'getObject', callback)) {
|
|
882
|
+
let _adapterName = adapterName || this.adapterName || '';
|
|
883
|
+
if (_adapterName) {
|
|
884
|
+
_adapterName += '.'
|
|
885
|
+
}
|
|
886
|
+
this.adapter.getObjectView('system', 'instance',
|
|
887
|
+
{startkey: `system.adapter.${_adapterName}`, endkey: `system.adapter.${_adapterName}\u9999`},
|
|
888
|
+
(err, doc) => {
|
|
889
|
+
if (err) {
|
|
890
|
+
callback(err);
|
|
891
|
+
} else {
|
|
892
|
+
callback(null, doc.rows
|
|
893
|
+
.map(item => {
|
|
894
|
+
const obj = item.value;
|
|
895
|
+
if (obj.common) {
|
|
896
|
+
delete obj.common.news;
|
|
897
|
+
}
|
|
898
|
+
this._fixAdminUI(obj);
|
|
899
|
+
return obj;
|
|
900
|
+
})
|
|
901
|
+
.filter(obj => obj && (!adapterName || (obj.common && obj.common.name === adapterName))));
|
|
902
|
+
}
|
|
903
|
+
});
|
|
904
|
+
}
|
|
905
|
+
}
|
|
906
|
+
};
|
|
878
907
|
}
|
|
879
908
|
|
|
880
909
|
__initCommandsStates() {
|
|
@@ -568,11 +568,9 @@ class SocketCommandsAdmin extends SocketCommands {
|
|
|
568
568
|
}
|
|
569
569
|
};
|
|
570
570
|
this.commands['changePassword'] = (socket, user, pass, callback) => {
|
|
571
|
-
if (this.
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
SocketCommands._fixCallback(callback, err, ...args));
|
|
575
|
-
}
|
|
571
|
+
if (user === socket._acl.user || this._checkPermissions(socket, 'changePassword', callback, user)) {
|
|
572
|
+
this.adapter.setPassword(user, pass, {user: socket._acl.user}, (err, ...args) =>
|
|
573
|
+
SocketCommands._fixCallback(callback, err, ...args));
|
|
576
574
|
}
|
|
577
575
|
};
|
|
578
576
|
}
|
|
@@ -832,35 +830,6 @@ class SocketCommandsAdmin extends SocketCommands {
|
|
|
832
830
|
}
|
|
833
831
|
};
|
|
834
832
|
|
|
835
|
-
this.commands['getAdapterInstances'] = (socket, adapterName, callback) => {
|
|
836
|
-
if (typeof callback === 'function') {
|
|
837
|
-
if (this._checkPermissions(socket, 'getObject', callback)) {
|
|
838
|
-
let _adapterName = adapterName || this.adapterName || '';
|
|
839
|
-
if (_adapterName) {
|
|
840
|
-
_adapterName += '.'
|
|
841
|
-
}
|
|
842
|
-
this.adapter.getObjectView('system', 'instance',
|
|
843
|
-
{startkey: `system.adapter.${_adapterName}`, endkey: `system.adapter.${_adapterName}\u9999`},
|
|
844
|
-
(err, doc) => {
|
|
845
|
-
if (err) {
|
|
846
|
-
callback(err);
|
|
847
|
-
} else {
|
|
848
|
-
callback(null, doc.rows
|
|
849
|
-
.map(item => {
|
|
850
|
-
const obj = item.value;
|
|
851
|
-
if (obj.common) {
|
|
852
|
-
delete obj.common.news;
|
|
853
|
-
}
|
|
854
|
-
this._fixAdminUI(obj);
|
|
855
|
-
return obj;
|
|
856
|
-
})
|
|
857
|
-
.filter(obj => obj && (!adapterName || (obj.common && obj.common.name === adapterName))));
|
|
858
|
-
}
|
|
859
|
-
});
|
|
860
|
-
}
|
|
861
|
-
}
|
|
862
|
-
};
|
|
863
|
-
|
|
864
833
|
this.commands['getAdapters'] = (socket, adapterName, callback) => {
|
|
865
834
|
if (typeof callback === 'function' && this._checkPermissions(socket, 'getObject', callback)) {
|
|
866
835
|
this.adapter.getObjectView('system', 'adapter',
|