{
  "title": "Matterbridge webhooks plugin",
  "description": "matterbridge-webhooks v. 0.0.1 by https://github.com/Luligu",
  "type": "object",
  "properties": {
    "name": {
      "description": "Plugin name",
      "type": "string",
      "readOnly": true,
      "ui:widget": "hidden"
    },
    "type": {
      "description": "Plugin type",
      "type": "string",
      "readOnly": true,
      "ui:widget": "hidden"
    },
    "version": {
      "description": "Plugin version",
      "type": "string",
      "readOnly": true,
      "default": "0.0.1",
      "ui:widget": "hidden"
    },
    "whiteList": {
      "description": "Only the webhooks in the list will be exposed. If the list is empty, all the webhooks will be exposed.",
      "type": "array",
      "items": {
        "type": "string"
      },
      "uniqueItems": true,
      "selectFrom": "name"
    },
    "blackList": {
      "description": "The webhooks in the list will not be exposed. If the list is empty, no webhooks will be excluded.",
      "type": "array",
      "items": {
        "type": "string"
      },
      "uniqueItems": true,
      "selectFrom": "name"
    },
    "deviceType": {
      "type": "string",
      "default": "Outlet",
      "enum": ["Outlet", "Switch", "Light"],
      "description": "Select how to rappresent the webhooks on the controller. Don't use Switch for Alexa."
    },
    "webhooks": {
      "description": "Define each webhooks. Enter in the first field the name of the webhook (replace newKey with the name of the webhook) and in the right panel the parameters.",
      "type": "object",
      "uniqueItems": true,
      "additionalProperties": {
        "type": "object",
        "description": "Webhook parameters:",
        "required": ["method", "httpUrl"],
        "properties": {
          "method": {
            "type": "string",
            "default": "GET",
            "enum": ["GET", "POST"],
            "description": "HTTP method to use for the webhook."
          },
          "httpUrl": {
            "type": "string",
            "title": "Webhook URL",
            "description": "URL to which the webhook will send requests."
          },
          "test": {
            "type": "boolean",
            "default": false,
            "buttonText": "Test",
            "description": "Test the webhook by sending a request"
          }
        }
      }
    },
    "debug": {
      "description": "Enable the debug for the plugin.",
      "type": "boolean",
      "default": false
    },
    "unregisterOnShutdown": {
      "description": "Unregister all devices on shutdown. This will remove all devices from the controller when the plugin is stopped.",
      "type": "boolean",
      "default": false
    }
  }
}
