Initial commit: Nextcloud Node-RED Docker image and custom nodes

This commit is contained in:
newkle3r
2026-05-15 14:50:48 +02:00
commit fd7cc695f7
44 changed files with 3936 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
<script type="text/javascript">
RED.nodes.registerType('provisioning',{category:'nextcloud',color:'#CC3333',
defaults:{name:{value:""},nextcloud:{type:"nextcloud-config",required:true},operation:{value:"users:list"},
userId:{value:""},groupId:{value:""},appId:{value:""},configKey:{value:""},collectionName:{value:""},app:{value:""},key:{value:""},
bodySearch:{value:""},bodyLimit:{value:""},bodyOffset:{value:""},bodyUserid:{value:""},bodyPassword:{value:""},
bodyDisplayName:{value:""},bodyEmail:{value:""},bodyQuota:{value:""},bodyLanguage:{value:""},bodyKey:{value:""},
bodyValue:{value:""},bodyGroupid:{value:""},bodyLocation:{value:""},bodyConfigValue:{value:""}},
inputs:1,outputs:1,icon:"provisioning.svg",label:function(){return this.name||"Provisioning";}});
</script>
<script type="text/html" data-template-name="provisioning">
<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="Provisioning"></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%;">
<optgroup label="Groups"><option value="groups:list">List Groups</option><option value="groups:details">Groups Details</option><option value="groups:get">Get Group</option><option value="groups:users">Group Users</option><option value="groups:usersDetails">Group Users Details</option></optgroup>
<optgroup label="Users"><option value="users:list">List Users</option><option value="users:details">Users Details</option><option value="users:disabled">Disabled Users</option><option value="users:create">Create User</option><option value="users:get">Get User</option><option value="users:edit">Edit User</option><option value="users:editMulti">Edit Multi-Value</option><option value="users:delete">Delete User</option><option value="users:enable">Enable User</option><option value="users:disable">Disable User</option><option value="users:wipe">Wipe Devices</option><option value="users:current">Current User</option><option value="users:editableFields">Editable Fields</option><option value="users:editableFor">Editable Fields For User</option><option value="users:apps">Enabled Apps</option><option value="users:groups">User Groups</option><option value="users:groupsDetails">User Groups Details</option><option value="users:subadminDetails">Subadmin Details</option><option value="users:addToGroup">Add To Group</option><option value="users:removeFromGroup">Remove From Group</option><option value="users:welcome">Resend Welcome</option><option value="users:searchByPhone">Search By Phone</option></optgroup>
<optgroup label="Config &amp; Preferences"><option value="config:setApp">Set App Config</option><option value="pref:set">Set Preference</option><option value="pref:delete">Delete Preference</option><option value="pref:setMultiple">Set Multiple Prefs</option><option value="pref:deleteMultiple">Delete Multiple Prefs</option></optgroup>
</select></div>
<hr><div class="form-row"><label>User ID</label><input type="text" id="node-input-userId" placeholder="msg.userId"></div>
<div class="form-row"><label>Group ID</label><input type="text" id="node-input-groupId" placeholder="msg.groupId"></div>
<div class="form-row"><label>App ID (prefs)</label><input type="text" id="node-input-appId" placeholder="msg.appId"></div>
<div class="form-row"><label>Config Key (prefs)</label><input type="text" id="node-input-configKey" placeholder="msg.configKey"></div>
<div class="form-tips"><p>Admin access required. Create user: pass groups via <code>msg.groups</code> array. Multiple prefs: <code>msg.configs</code> object.</p></div>
</script>