mqtt: prevent enable on internal types

This commit is contained in:
Koushik Dutta
2025-04-07 08:17:23 -07:00
parent 809b632417
commit 3638f80cef
3 changed files with 13 additions and 3 deletions

View File

@@ -1,12 +1,12 @@
{
"name": "@scrypted/mqtt",
"version": "0.0.86",
"version": "0.0.87",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@scrypted/mqtt",
"version": "0.0.86",
"version": "0.0.87",
"dependencies": {
"aedes": "^0.46.1",
"axios": "^0.23.0",

View File

@@ -43,5 +43,5 @@
"@types/node": "^18.4.2",
"@types/nunjucks": "^3.2.0"
},
"version": "0.0.86"
"version": "0.0.87"
}

View File

@@ -4,12 +4,14 @@ export function isPublishable(type: ScryptedDeviceType, interfaces: string[]): b
switch (type) {
case ScryptedDeviceType.API:
case ScryptedDeviceType.Builtin:
case ScryptedDeviceType.Internal:
case ScryptedDeviceType.DataSource:
case ScryptedDeviceType.Unknown:
return false;
}
const set = new Set(interfaces);
set.delete(ScryptedInterface.ObjectDetection);
set.delete(ScryptedInterface.DeviceProvider);
set.delete(ScryptedInterface.DeviceDiscovery);
set.delete(ScryptedInterface.DeviceCreator);
set.delete(ScryptedInterface.DeviceProvider);
@@ -24,5 +26,13 @@ export function isPublishable(type: ScryptedDeviceType, interfaces: string[]): b
set.delete(ScryptedInterface.OauthClient);
set.delete(ScryptedInterface.OauthClient);
set.delete(ScryptedInterface.LauncherApplication);
set.delete(ScryptedInterface.ScryptedSystemDevice);
set.delete(ScryptedInterface.ScryptedDeviceCreator);
set.delete(ScryptedInterface.ScryptedUser);
set.delete(ScryptedInterface.Camera);
set.delete(ScryptedInterface.RTCSignalingChannel);
set.delete(ScryptedInterface.StreamService);
set.delete(ScryptedInterface.Settings);
set.delete(ScryptedInterface.Notifier);
return !!set.size;
}