Merge branch 'master' into 0_1_3_bugfix
This commit is contained in:
@ -3,7 +3,8 @@
|
|||||||
category: 'config',
|
category: 'config',
|
||||||
defaults: {
|
defaults: {
|
||||||
cname: {value: '', required: false},
|
cname: {value: '', required: false},
|
||||||
address: {value: 'https://your.server.com', required: true}
|
address: {value: 'https://your.server.com', required: true},
|
||||||
|
insecure: {value: '', required: false}
|
||||||
},
|
},
|
||||||
credentials: {
|
credentials: {
|
||||||
user: {type:'text'},
|
user: {type:'text'},
|
||||||
@ -27,6 +28,12 @@
|
|||||||
<label for="node-config-input-address"><i class="fa fa-server"></i> Server</label>
|
<label for="node-config-input-address"><i class="fa fa-server"></i> Server</label>
|
||||||
<input type="text" id="node-config-input-address">
|
<input type="text" id="node-config-input-address">
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<label for="node-config-input-insecure"><i class="fa fa-server"></i> Security</label>
|
||||||
|
<input type="checkbox" value="1" id="node-config-input-insecure"
|
||||||
|
style="display: inline-block; width: auto; vertical-align: top">
|
||||||
|
<span style="width: 70%">Accept self signed certificates</span>
|
||||||
|
</div>
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<label for="node-config-input-user"><i class="fa fa-server"></i> Username</label>
|
<label for="node-config-input-user"><i class="fa fa-server"></i> Username</label>
|
||||||
<input type="text" id="node-config-input-user">
|
<input type="text" id="node-config-input-user">
|
||||||
@ -379,4 +386,4 @@
|
|||||||
<dt class="optional">timeout <span class="property-type">number</span></dt>
|
<dt class="optional">timeout <span class="property-type">number</span></dt>
|
||||||
<dd> Should be 0 in case of success</dd>
|
<dd> Should be 0 in case of success</dd>
|
||||||
</dl>
|
</dl>
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
26
nextcloud.js
26
nextcloud.js
@ -4,10 +4,12 @@ module.exports = function (RED) {
|
|||||||
const fs = require('fs')
|
const fs = require('fs')
|
||||||
const IcalExpander = require('ical-expander')
|
const IcalExpander = require('ical-expander')
|
||||||
const moment = require('moment')
|
const moment = require('moment')
|
||||||
|
const https = require('https')
|
||||||
|
|
||||||
function NextcloudConfigNode (config) {
|
function NextcloudConfigNode (config) {
|
||||||
RED.nodes.createNode(this, config)
|
RED.nodes.createNode(this, config)
|
||||||
this.address = config.address
|
this.address = config.address
|
||||||
|
this.insecure = n.insecure
|
||||||
}
|
}
|
||||||
RED.nodes.registerType('nextcloud-credentials', NextcloudConfigNode, {
|
RED.nodes.registerType('nextcloud-credentials', NextcloudConfigNode, {
|
||||||
credentials: {
|
credentials: {
|
||||||
@ -197,7 +199,12 @@ module.exports = function (RED) {
|
|||||||
}
|
}
|
||||||
directory = directory.replace('//', '/')
|
directory = directory.replace('//', '/')
|
||||||
|
|
||||||
client.getDirectoryContents(directory)
|
// check option for self signed certs
|
||||||
|
const option = {}
|
||||||
|
if (node.server.insecure) {
|
||||||
|
option.agent = new https.Agent({ rejectUnauthorized: false })
|
||||||
|
}
|
||||||
|
client.getDirectoryContents(directory, option)
|
||||||
.then(function (contents) {
|
.then(function (contents) {
|
||||||
node.send({ 'payload': contents })
|
node.send({ 'payload': contents })
|
||||||
}, function (error) {
|
}, function (error) {
|
||||||
@ -226,8 +233,13 @@ module.exports = function (RED) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
filename = filename.replace('//', '/')
|
filename = filename.replace('//', '/')
|
||||||
node.warn(filename)
|
|
||||||
client.getFileContents(filename)
|
// check option for self signed certs
|
||||||
|
const option = {}
|
||||||
|
if (node.server.insecure) {
|
||||||
|
option.agent = new https.Agent({ rejectUnauthorized: false })
|
||||||
|
}
|
||||||
|
client.getFileContents(filename, option)
|
||||||
.then(function (contents) {
|
.then(function (contents) {
|
||||||
node.send({ 'payload': contents })
|
node.send({ 'payload': contents })
|
||||||
}, function (error) {
|
}, function (error) {
|
||||||
@ -264,7 +276,13 @@ module.exports = function (RED) {
|
|||||||
const webDavUri = node.server.address + '/remote.php/webdav/'
|
const webDavUri = node.server.address + '/remote.php/webdav/'
|
||||||
const client = webdav(webDavUri, node.server.credentials.user, node.server.credentials.pass)
|
const client = webdav(webDavUri, node.server.credentials.user, node.server.credentials.pass)
|
||||||
|
|
||||||
client.putFileContents(directory + name, file, { format: 'binary' })
|
// check option for self signed certs
|
||||||
|
const option = {}
|
||||||
|
if (node.server.insecure) {
|
||||||
|
option.agent = new https.Agent({ rejectUnauthorized: false })
|
||||||
|
}
|
||||||
|
|
||||||
|
client.putFileContents(directory + name, file, { format: 'binary' }, option)
|
||||||
.then(function (contents) {
|
.then(function (contents) {
|
||||||
console.log(contents)
|
console.log(contents)
|
||||||
node.send({ 'payload': JSON.parse(contents) })
|
node.send({ 'payload': JSON.parse(contents) })
|
||||||
|
|||||||
Reference in New Issue
Block a user