diff --git a/plugins/mqtt/src/publishable-types.ts b/plugins/mqtt/src/publishable-types.ts index b568d4e55..30782f884 100644 --- a/plugins/mqtt/src/publishable-types.ts +++ b/plugins/mqtt/src/publishable-types.ts @@ -1,6 +1,6 @@ import { ScryptedDeviceType, ScryptedInterface } from "@scrypted/sdk"; -export function canMixin(type: ScryptedDeviceType, interfaces: string[]): boolean { +export function isPublishable(type: ScryptedDeviceType, interfaces: string[]): boolean { const set = new Set(interfaces); set.delete(ScryptedInterface.ObjectDetection); set.delete(ScryptedInterface.DeviceDiscovery); diff --git a/plugins/webhook/package-lock.json b/plugins/webhook/package-lock.json index 8869a4535..daab21fc3 100644 --- a/plugins/webhook/package-lock.json +++ b/plugins/webhook/package-lock.json @@ -1,12 +1,12 @@ { "name": "@scrypted/webhook", - "version": "0.0.16", + "version": "0.0.17", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@scrypted/webhook", - "version": "0.0.16", + "version": "0.0.17", "dependencies": { "@types/node": "^16.6.1" }, diff --git a/plugins/webhook/package.json b/plugins/webhook/package.json index d4e342917..70373a6f3 100644 --- a/plugins/webhook/package.json +++ b/plugins/webhook/package.json @@ -33,5 +33,5 @@ "devDependencies": { "@scrypted/sdk": "file:../../sdk" }, - "version": "0.0.16" + "version": "0.0.17" } diff --git a/plugins/webhook/src/main.ts b/plugins/webhook/src/main.ts index e1dbbac04..1f167add9 100644 --- a/plugins/webhook/src/main.ts +++ b/plugins/webhook/src/main.ts @@ -6,6 +6,8 @@ import { randomBytes } from 'crypto'; const allInterfaceMethods: string[] = [].concat(...Object.values(ScryptedInterfaceDescriptors).map((type: any) => type.methods)); const allInterfaceProperties: string[] = [].concat(...Object.values(ScryptedInterfaceDescriptors).map((type: any) => type.properties)); +import { isPublishable} from '../../mqtt/src/publishable-types'; + const { systemManager, endpointManager, mediaManager } = sdk; const mediaObjectMethods = [ @@ -187,19 +189,7 @@ class WebhookPlugin extends ScryptedDeviceBase implements Settings, MixinProvide } async canMixin(type: ScryptedDeviceType, interfaces: string[]): Promise { - const set = new Set(interfaces); - set.delete(ScryptedInterface.ObjectDetection); - set.delete(ScryptedInterface.DeviceDiscovery); - set.delete(ScryptedInterface.DeviceCreator); - set.delete(ScryptedInterface.DeviceProvider); - set.delete(ScryptedInterface.MixinProvider); - set.delete(ScryptedInterface.PushHandler); - set.delete(ScryptedInterface.EngineIOHandler); - set.delete(ScryptedInterface.HttpRequestHandler); - set.delete(ScryptedInterface.Settings); - set.delete(ScryptedInterface.Readme); - set.delete(ScryptedInterface.BufferConverter); - if (!set.size) + if (!isPublishable(type, interfaces)) return; return [ ScryptedInterface.Settings,