34 lines
2.8 KiB
HTML
34 lines
2.8 KiB
HTML
<script type="text/javascript">
|
|
RED.nodes.registerType('webhooks', {
|
|
category: 'nextcloud', color: '#AA44CC',
|
|
defaults: {
|
|
name:{value:""},nextcloud:{type:"nextcloud-config",required:true},operation:{value:"webhook:list"},
|
|
webhookId:{value:""},appId:{value:""},
|
|
bodyHttpMethod:{value:""},bodyUri:{value:""},bodyEvent:{value:""},
|
|
bodyEventFilter:{value:""},bodyUserIdFilter:{value:""},bodyHeaders:{value:""},
|
|
bodyAuthMethod:{value:""},bodyAuthData:{value:""},bodyTokenNeeded:{value:""}
|
|
},
|
|
inputs:1,outputs:1,icon:"webhook.svg",
|
|
label:function(){return this.name||"Webhooks";}
|
|
});
|
|
</script>
|
|
<script type="text/html" data-template-name="webhooks">
|
|
<div class="form-row"><label for="node-input-name"><i class="fa fa-tag"></i> Name</label><input type="text" id="node-input-name" placeholder="Webhooks"></div>
|
|
<div class="form-row"><label for="node-input-nextcloud"><i class="fa fa-cloud"></i> Config</label><input type="text" id="node-input-nextcloud" placeholder="Select config node"></div>
|
|
<div class="form-row"><label for="node-input-operation"><i class="fa fa-cog"></i> Operation</label>
|
|
<select id="node-input-operation" style="width:100%;">
|
|
<option value="webhook:list">List Webhooks</option><option value="webhook:get">Get Webhook</option>
|
|
<option value="webhook:create">Create Webhook</option><option value="webhook:update">Update Webhook</option>
|
|
<option value="webhook:delete">Delete Webhook</option><option value="webhook:deleteByApp">Delete by App ID</option>
|
|
</select>
|
|
</div>
|
|
<hr><div style="font-weight:bold;margin-bottom:6px;">Path Params</div>
|
|
<div class="form-row"><label>Webhook ID</label><input type="text" id="node-input-webhookId" placeholder="msg.webhookId"></div>
|
|
<div class="form-row"><label>App ID</label><input type="text" id="node-input-appId" placeholder="msg.appId"></div>
|
|
<hr><div style="font-weight:bold;margin-bottom:6px;">Create/Update Fields</div>
|
|
<div class="form-row"><label>HTTP Method</label><input type="text" id="node-input-bodyHttpMethod" placeholder="GET/POST/PUT/DELETE"></div>
|
|
<div class="form-row"><label>URI</label><input type="text" id="node-input-bodyUri" placeholder="https://..."></div>
|
|
<div class="form-row"><label>Event</label><input type="text" id="node-input-bodyEvent" placeholder="Event class name"></div>
|
|
<div class="form-row"><label>Auth Method</label><select id="node-input-bodyAuthMethod"><option value="">None</option><option value="none">none</option><option value="header">header</option></select></div>
|
|
<div class="form-tips"><p>Complex fields (eventFilter, headers, authData, tokenNeeded): pass as <code>msg.eventFilter</code> etc. objects.</p></div>
|
|
</script> |