mirror of
				https://github.com/node-red/node-red-nodes.git
				synced 2025-03-01 10:37:43 +00:00 
			
		
		
		
	Remove DDB as now available direct from author on NPM
npm install node-red-node-ddb
This commit is contained in:
		@@ -1,58 +0,0 @@
 | 
			
		||||
<!--
 | 
			
		||||
  Copyright 2013 Wolfgang Nagele
 | 
			
		||||
 | 
			
		||||
  Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
  you may not use this file except in compliance with the License.
 | 
			
		||||
  You may obtain a copy of the License at
 | 
			
		||||
 | 
			
		||||
  http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 | 
			
		||||
  Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
  distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
  See the License for the specific language governing permissions and
 | 
			
		||||
  limitations under the License.
 | 
			
		||||
-->
 | 
			
		||||
 | 
			
		||||
<script type="text/x-red" data-template-name="ddb out">
 | 
			
		||||
    <div class="form-row">
 | 
			
		||||
        <label for="node-input-credentials"><i class="fa fa-tag"></i> Credentials</label>
 | 
			
		||||
        <input type="text" id="node-input-credentials">
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-row">
 | 
			
		||||
        <label for="node-input-region"><i class="fa fa-th"></i> Region</label>
 | 
			
		||||
        <input type="text" id="node-input-region">
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-row">
 | 
			
		||||
        <label for="node-input-table"><i class="fa fa-tasks"></i> Table</label>
 | 
			
		||||
        <input type="text" id="node-input-table" placeholder="Table">
 | 
			
		||||
    </div>
 | 
			
		||||
    <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="Name">
 | 
			
		||||
    </div>
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<script type="text/x-red" data-help-name="ddb out">
 | 
			
		||||
	<p>A Amazon DynamoDB output node.</p>
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<script type="text/javascript">
 | 
			
		||||
    RED.nodes.registerType("ddb out", {
 | 
			
		||||
        category: "storage-output",
 | 
			
		||||
        color: "#ffaaaa",
 | 
			
		||||
        defaults: {
 | 
			
		||||
            credentials: { type: "aws credentials", required: true },
 | 
			
		||||
            region: { value: "us-east-1", required: true },
 | 
			
		||||
            table: { value: "", required: true },
 | 
			
		||||
            name: { value: "" }
 | 
			
		||||
        },
 | 
			
		||||
        inputs: 1,
 | 
			
		||||
        outputs: 0,
 | 
			
		||||
        icon: "db.png",
 | 
			
		||||
        align: "right",
 | 
			
		||||
        label: function() {
 | 
			
		||||
            return this.name || this.table + " (" + this.region + ")";
 | 
			
		||||
        }
 | 
			
		||||
    });
 | 
			
		||||
</script>
 | 
			
		||||
@@ -1,43 +0,0 @@
 | 
			
		||||
/**
 | 
			
		||||
 * Copyright 2013 Wolfgang Nagele
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 * http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 **/
 | 
			
		||||
 | 
			
		||||
var RED = require(process.env.NODE_RED_HOME+"/red/red");
 | 
			
		||||
var util = require("util");
 | 
			
		||||
var aws = require("aws-sdk");
 | 
			
		||||
var attrWrapper = require("dynamodb-data-types").AttributeValue;
 | 
			
		||||
 | 
			
		||||
function DDBOutNode(n) {
 | 
			
		||||
    RED.nodes.createNode(this, n);
 | 
			
		||||
    this.warn("This node has been deprecated and will be deleted in a future release. Please update your flow to use the version from npm. Note: you cannot have both this and the npm version installed at the same time.");
 | 
			
		||||
    this.credentials = RED.nodes.getNode(n.credentials);
 | 
			
		||||
    this.region = n.region || "us-east-1";
 | 
			
		||||
    this.table = n.table;
 | 
			
		||||
 | 
			
		||||
    aws.config.update({ accessKeyId: this.credentials.accessKey,
 | 
			
		||||
                        secretAccessKey: this.credentials.secretAccessKey,
 | 
			
		||||
                        region: this.region });
 | 
			
		||||
 | 
			
		||||
    var ddb = new aws.DynamoDB();
 | 
			
		||||
 | 
			
		||||
    this.on("input", function(msg) {
 | 
			
		||||
        ddb.putItem({ "TableName": this.table,
 | 
			
		||||
                      "Item": attrWrapper.wrap(msg.payload) },
 | 
			
		||||
            function(err, data) {
 | 
			
		||||
                if (err) { util.log(err); }
 | 
			
		||||
        });
 | 
			
		||||
    });
 | 
			
		||||
}
 | 
			
		||||
RED.nodes.registerType("ddb out", DDBOutNode);
 | 
			
		||||
@@ -1,68 +0,0 @@
 | 
			
		||||
<!--
 | 
			
		||||
  Copyright 2013 Wolfgang Nagele
 | 
			
		||||
 | 
			
		||||
  Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
  you may not use this file except in compliance with the License.
 | 
			
		||||
  You may obtain a copy of the License at
 | 
			
		||||
 | 
			
		||||
  http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 | 
			
		||||
  Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
  distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
  See the License for the specific language governing permissions and
 | 
			
		||||
  limitations under the License.
 | 
			
		||||
-->
 | 
			
		||||
 | 
			
		||||
<script type="text/x-red" data-template-name="aws credentials">
 | 
			
		||||
    <div class="form-row">
 | 
			
		||||
        <label for="node-config-input-accessKey"><i class="fa fa-briefcase"></i> Access Key</label>
 | 
			
		||||
        <input type="text" id="node-config-input-accessKey" placeholder="Access Key">
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-row">
 | 
			
		||||
        <label for="node-config-input-secretAccessKey"><i class="fa fa-briefcase"></i> Secret Access Key</label>
 | 
			
		||||
        <input type="text" id="node-config-input-secretAccessKey" placeholder="Secret Access Key">
 | 
			
		||||
    </div>
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<script type="text/javascript">
 | 
			
		||||
    RED.nodes.registerType("aws credentials", {
 | 
			
		||||
        category: "config",
 | 
			
		||||
        label: function() {
 | 
			
		||||
            return this.accessKey;
 | 
			
		||||
        },
 | 
			
		||||
        defaults: {
 | 
			
		||||
            accessKey: { value: "", required: true }
 | 
			
		||||
        },
 | 
			
		||||
        oneditprepare: function() {
 | 
			
		||||
            $.getJSON("aws-credentials/" + this.id, function(data) {
 | 
			
		||||
                if (data.accessKey) {
 | 
			
		||||
                    $("#node-config-input-accessKey").val(data.accessKey);
 | 
			
		||||
                }
 | 
			
		||||
                if (data.secretAccessKey) {
 | 
			
		||||
                    $("#node-config-input-secretAccessKey").val(data.secretAccessKey);
 | 
			
		||||
                }
 | 
			
		||||
            });
 | 
			
		||||
        },
 | 
			
		||||
        oneditsave: function() {
 | 
			
		||||
            var newAccessKey = $("#node-config-input-accessKey").val();
 | 
			
		||||
            var newSecretAccessKey = $("#node-config-input-secretAccessKey").val();
 | 
			
		||||
            var credentials = {};
 | 
			
		||||
            credentials.accessKey = newAccessKey;
 | 
			
		||||
            credentials.secretAccessKey = newSecretAccessKey;
 | 
			
		||||
            $.ajax({
 | 
			
		||||
                url: "aws-credentials/" + this.id,
 | 
			
		||||
                type: "POST",
 | 
			
		||||
                data: credentials,
 | 
			
		||||
                success: function(result) {}
 | 
			
		||||
            });
 | 
			
		||||
        },
 | 
			
		||||
        ondelete: function() {
 | 
			
		||||
            $.ajax({
 | 
			
		||||
                url: "aws-credentials/" + this.id,
 | 
			
		||||
                type: "DELETE",
 | 
			
		||||
                success: function(result) {}
 | 
			
		||||
            });
 | 
			
		||||
        }
 | 
			
		||||
    });
 | 
			
		||||
</script>
 | 
			
		||||
@@ -1,65 +0,0 @@
 | 
			
		||||
/**
 | 
			
		||||
 * Copyright 2013 Wolfgang Nagele
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 * http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 **/
 | 
			
		||||
 | 
			
		||||
var RED = require(process.env.NODE_RED_HOME+"/red/red");
 | 
			
		||||
var querystring = require('querystring');
 | 
			
		||||
 | 
			
		||||
function AWSCredentialsNode(n) {
 | 
			
		||||
    RED.nodes.createNode(this, n);
 | 
			
		||||
    var credentials = RED.nodes.getCredentials(n.id);
 | 
			
		||||
    if (credentials) {
 | 
			
		||||
        this.accessKey = credentials.accessKey;
 | 
			
		||||
        this.secretAccessKey = credentials.secretAccessKey;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
RED.nodes.registerType("aws credentials", AWSCredentialsNode);
 | 
			
		||||
 | 
			
		||||
RED.httpAdmin.get('/aws-credentials/:id', function(req, res) {
 | 
			
		||||
    var credentials = RED.nodes.getCredentials(req.params.id);
 | 
			
		||||
    if (credentials) {
 | 
			
		||||
        res.send(JSON.stringify({ accessKey: credentials.accessKey, secretAccessKey: credentials.secretAccessKey }));
 | 
			
		||||
    } else {
 | 
			
		||||
        res.send(JSON.stringify({}));
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
RED.httpAdmin.delete('/aws-credentials/:id', function(req, res) {
 | 
			
		||||
    RED.nodes.deleteCredentials(req.params.id);
 | 
			
		||||
    res.send(200);
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
RED.httpAdmin.post('/aws-credentials/:id', function(req, res) {
 | 
			
		||||
    var body = "";
 | 
			
		||||
    req.on("data", function(chunk) {
 | 
			
		||||
        body += chunk;
 | 
			
		||||
    });
 | 
			
		||||
    req.on("end", function() {
 | 
			
		||||
        var newCreds = querystring.parse(body);
 | 
			
		||||
        var credentials = RED.nodes.getCredentials(req.params.id) || {};
 | 
			
		||||
        if (newCreds.accessKey == null || newCreds.accessKey == "") {
 | 
			
		||||
            delete credentials.accessKey;
 | 
			
		||||
        } else {
 | 
			
		||||
            credentials.accessKey = newCreds.accessKey || credentials.accessKey;
 | 
			
		||||
        }
 | 
			
		||||
        if (newCreds.secretAccessKey == null || newCreds.secretAccessKey == "") {
 | 
			
		||||
            delete credentials.secretAccessKey;
 | 
			
		||||
        } else {
 | 
			
		||||
            credentials.secretAccessKey = newCreds.secretAccessKey || credentials.secretAccessKey;
 | 
			
		||||
        }
 | 
			
		||||
        RED.nodes.addCredentials(req.params.id, credentials);
 | 
			
		||||
        res.send(200);
 | 
			
		||||
    });
 | 
			
		||||
});
 | 
			
		||||
		Reference in New Issue
	
	Block a user