mirror of
https://github.com/koush/scrypted.git
synced 2026-03-20 16:40:24 +00:00
webhook: filter allowed devices
This commit is contained in:
@@ -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);
|
||||
|
||||
4
plugins/webhook/package-lock.json
generated
4
plugins/webhook/package-lock.json
generated
@@ -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"
|
||||
},
|
||||
|
||||
@@ -33,5 +33,5 @@
|
||||
"devDependencies": {
|
||||
"@scrypted/sdk": "file:../../sdk"
|
||||
},
|
||||
"version": "0.0.16"
|
||||
"version": "0.0.17"
|
||||
}
|
||||
|
||||
@@ -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<string[]> {
|
||||
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,
|
||||
|
||||
Reference in New Issue
Block a user