UNPKG

node-red-contrib-home-assistant-websocket

Version:
2 lines (1 loc) 2.53 kB
"use strict";var v=Object.create;var a=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var O=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty;var x=(o,e)=>{for(var p in e)a(o,p,{get:e[p],enumerable:!0})},c=(o,e,p,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of S(e))!b.call(o,r)&&r!==p&&a(o,r,{get:()=>e[r],enumerable:!(s=A(e,r))||s.enumerable});return o};var n=(o,e,p)=>(p=o!=null?v(O(o)):{},c(e||!o||!o.__esModule?a(p,"default",{value:o,enumerable:!0}):p,o)),I=o=>c(a({},"__esModule",{value:!0}),o);var C={};x(C,{default:()=>T});module.exports=I(C);var t=n(require("joi")),l=require("../../common/controllers/helpers"),m=n(require("../../common/services/InputService")),g=n(require("../../common/status/Status")),i=require("../../const"),f=require("../../globals"),y=require("../../helpers/migrate"),P=require("../../helpers/node"),u=require("../../homeAssistant"),h=n(require("./ApiController")),d=require("./const");const j={protocol:{messageProp:"payload.protocol",configProp:"protocol"},method:{messageProp:"payload.method",configProp:"method"},path:{messageProp:"payload.path",configProp:"path"},data:{messageProp:"payload.data",configProp:"data"},dataType:{messageProp:"payload.dataType",configProp:"dataType"},location:{messageProp:"payload.location",configProp:"location"},locationType:{messageProp:"payload.locationType",configProp:"locationType"},responseType:{messageProp:"payload.responseType",configProp:"responseType"},outputProperties:{messageProp:"payload.outputProperties",configProp:"outputProperties"}},w=t.default.object({protocol:t.default.string().valid(...Object.values(d.ApiProtocol)),method:t.default.string().valid(...Object.values(d.ApiMethod)),path:t.default.string().allow(""),dataType:t.default.string().valid(i.TypedInputTypes.JSON,i.TypedInputTypes.JSONata),data:t.default.optional(),location:t.default.string(),locationType:t.default.string().valid(i.TypedInputTypes.Message,i.TypedInputTypes.Flow,i.TypedInputTypes.Global,i.TypedInputTypes.None),responseType:t.default.string().valid("json","text","arraybuffer"),outputProperties:t.default.array().items()});function T(o){f.RED.nodes.createNode(this,o),this.config=(0,y.migrate)(o);const e=(0,P.getServerConfigNode)(this.config.server),p=(0,u.getHomeAssistant)(e),s=new g.default({config:e.config,node:this}),r=new m.default({inputs:j,nodeConfig:this.config,schema:w}),N=(0,l.createControllerDependencies)(this,p);new h.default({inputService:r,node:this,status:s,...N})}