node-red-contrib-snap4city-user
Version:
Nodes for Snap4city project, targeted to standard user (no developer)
119 lines (97 loc) • 4.17 kB
JavaScript
/**
* Copyright 2014 Sense Tecnic Systems, Inc.
*
* 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 util = require("util");
var httpclient = require('httpclient');
var assert = require('assert');
/* NODE-RED-CONTRIB-SNAP4CITY-USER
Copyright (C) 2018 DISIT Lab http://www.disit.org - University of Florence
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
module.exports = function (RED) {
"use strict";
var RED2 = require.main.require('node-red');
function deviceregistration(config) {
RED.nodes.createNode(this, config);
var node = this;
/* node.devicename = config.devicename;
node.devicetype = config.devicetype,
node.devicekind = config.devicekind,
node.contextbroker = config.contextbroker,
node.deviceprotocol = config.deviceprotocol,
node.deviceformat = config.deviceformat,
node.devicecreateddate = config.devicecreateddate,
node.devicemac = config.devicemac,
node.devicemodel = config.devicemodel,
node.deviceproducer = config.deviceproducer,
node.devicelatitude = config.devicelatitude,
node.devicelongitude = config.devicelongitude,
node.name = config.name;
node.attrs = config.attrs;*/
node.on("input", function (msg) {
jsdom
node.send(msg);
});
}
RED.nodes.registerType("device-registration-user", deviceregistration);
/* RED.httpAdmin.post("/ckants_create/:id", RED.auth.needsPermission("ckants.query"), function(req,res) {
var node = RED.nodes.getNode(req.params.id);
if (node != null) {
try {
node.receive();
res.sendStatus(200);
} catch(err) {
res.sendStatus(500);
node.error(RED._("ckants.failed",{error:err.toString()}));
}
} else {
res.sendStatus(404);
}
}); */
RED.httpAdmin.get('/s4c/js/*', function (req, res) {
var options = {
root: __dirname + '/lib/js/',
dotfiles: 'deny'
};
res.sendFile(req.params[0], options);
});
RED.httpAdmin.get('/s4c/css/*', function (req, res) {
var options = {
root: __dirname + '/lib/css/',
dotfiles: 'deny'
};
res.sendFile(req.params[0], options);
});
RED.httpAdmin.get("/retrieveAccessTokenLocal/", RED.auth.needsPermission('device-registration-user.read'), function (req, res) {
var s4cUtility = require("./snap4city-utility.js");
res.json({
"accessToken": s4cUtility.retrieveAccessToken(RED, null, null, null)
});
});
RED.httpAdmin.get("/deviceregistration/:id", RED.auth.needsPermission('device-registration-user.read'), function (req, res) {
var s4cUtility = require("./snap4city-utility.js");
res.json({
"accessToken": s4cUtility.retrieveAccessToken(RED, null, null, null)
});
});
}