Skip to content

Commit

Permalink
Change the way connection is validated. Ref issue pantsel#125
Browse files Browse the repository at this point in the history
  • Loading branch information
Panagis Tselentis committed Oct 31, 2017
1 parent 2eb228d commit a21062d
Show file tree
Hide file tree
Showing 18 changed files with 70 additions and 63 deletions.
6 changes: 3 additions & 3 deletions api/controllers/SnapshotController.js
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ module.exports = _.merge(_.cloneDeep(require('../base/Controller')), {
});


console.log("imports", imports);
sails.log("imports", imports);


imports.forEach(function(key){
Expand All @@ -107,7 +107,7 @@ module.exports = _.merge(_.cloneDeep(require('../base/Controller')), {
path = "upstreams/" + item.upstream_id + "/targets";
}

console.log("!!!!!!!!!!!!!!!!!!!!!!!!", item.config ? item.config.anonymous : {});
sails.log("!!!!!!!!!!!!!!!!!!!!!!!!", item.config ? item.config.anonymous : {});


fns.push(function(cb){
Expand All @@ -126,7 +126,7 @@ module.exports = _.merge(_.cloneDeep(require('../base/Controller')), {
delete item.acls
delete item.credentials

console.log("item",item);
sails.log("item",item);

}

Expand Down
2 changes: 1 addition & 1 deletion api/controllers/UserController.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ module.exports = _.merge(_.cloneDeep(require('../base/Controller')), {

update : function(req,res) {

console.log(req.body)
sails.log(req.body)

var user = req.body;
var passports = req.body.passports
Expand Down
4 changes: 2 additions & 2 deletions api/events/api-health-checks.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ var mg = require('nodemailer-mailgun-transport');
var notificationsInterval = 15;
var sendmail = require('sendmail')({
logger: {
debug: console.log,
debug: sails.log,
info: console.info,
warn: console.warn,
error: console.error
Expand Down Expand Up @@ -294,7 +294,7 @@ module.exports = {

makePlainTextNotification : function(hc){

console.log("!!!!!!!!!!!!!!!!!!!!!!",moment(tasks[hc.id].lastSucceeded));
sails.log("!!!!!!!!!!!!!!!!!!!!!!",moment(tasks[hc.id].lastSucceeded));

var duration = moment.duration(moment().diff(moment(tasks[hc.id].lastSucceeded))).humanize();

Expand Down
2 changes: 1 addition & 1 deletion api/events/node-health-checks.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ var mg = require('nodemailer-mailgun-transport');
var notificationsInterval = 30;
var sendmail = require('sendmail')({
logger: {
debug: console.log,
debug: sails.log,
info: console.info,
warn: console.warn,
error: console.error
Expand Down
2 changes: 1 addition & 1 deletion api/events/user-events.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ var nodemailer = require('nodemailer');
var mg = require('nodemailer-mailgun-transport');
var sendmail = require('sendmail')({
logger: {
debug: console.log,
debug: sails.log,
info: console.info,
warn: console.warn,
error: console.error
Expand Down
4 changes: 2 additions & 2 deletions api/helpers/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@ module.exports = {

webhook.send(message, function(err, header, statusCode, body) {
if (err) {
console.log('Error:', err);
sails.log('Error:', err);
} else {
console.log('Received', statusCode, 'from Slack');
sails.log('Received', statusCode, 'from Slack');
}
});
},
Expand Down
2 changes: 1 addition & 1 deletion api/models/Passport.js
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ var defaultModel = {
*/
beforeUpdate: function beforeUpdate(passport, next) {

console.log("########################################",passport)
sails.log("########################################",passport)

if (passport.hasOwnProperty('password')) {

Expand Down
4 changes: 2 additions & 2 deletions api/policies/createUser.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ module.exports = function createUser(request, response, next) {
var password = request.body.passports.password
var confirmation = request.body.password_confirmation

console.log('[Policy.createUser()] -> password : ' + password);
console.log('[Policy.createUser()] -> confirmation : ' + confirmation);
sails.log('[Policy.createUser()] -> password : ' + password);
sails.log('[Policy.createUser()] -> confirmation : ' + confirmation);

if (!password) {
var error = new Error();
Expand Down
14 changes: 12 additions & 2 deletions api/policies/dynamicNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,19 @@ var _ = require('lodash');
*/
module.exports = function dynamicNode(request, response, next) {

// If kong-admin-url is set in headers or qs, use that, else get node from user
if(request.headers['connection-id'] || request.query.connection_id) {
sails.models.kongnode.findOne(request.headers['connection-id'] || request.query.connection_id)
.exec(function(err,node) {
if (err) return next(err);
if (!node) return response.notFound({
message: "connection not found"
})
request.node_id = node.kong_admin_url
request.kong_api_key = node.kong_api_key
return next()
});

if(request.headers['kong-admin-url'] || request.query.kong_admin_url) {
}else if(request.headers['kong-admin-url'] || request.query.kong_admin_url) { // If kong-admin-url is set in headers or qs, use that, else get node from user
// sails.config.kong_admin_url = request.headers['kong-admin-url'] || request.query.kong_admin_url
request.node_id = request.headers['kong-admin-url'] || request.query.kong_admin_url
request.kong_api_key = request.headers['kong_api_key'] || request.query.kong_api_key
Expand Down
2 changes: 1 addition & 1 deletion api/services/KongPluginService.js
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ var KongPluginService = _.merge(_.cloneDeep(require('./KongService')), {
.end(function (response) {
if (response.error) return res.kongError(response)

console.log("*******************************",response.body)
sails.log("*******************************",response.body)
var enabledPlugins = response.body.enabled_plugins;

return res.json(_this.makeGroups(enabledPlugins))
Expand Down
4 changes: 2 additions & 2 deletions api/services/KongService.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,14 @@ var KongService = {
headers['apikey'] = req.kong_api_key;
}

console.log("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", req.node_id + endpoint, data)
sails.log("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", req.node_id + endpoint, data)

unirest.post(req.node_id + endpoint)
.headers(headers)
.send(data)
.end(function (response) {
//if(data.name == "request-transformer") {
// console.log(response.error)
// sails.log(response.error)
//}
if (response.error) return cb(response)
return cb(null,response.body)
Expand Down
4 changes: 2 additions & 2 deletions api/services/SnapshotsScheduler.js
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ module.exports = {
if (err) {
return cb();
}
console.log(data)
sails.log(data)
if (!consumer.acls) {
consumer.acls = [];
}
Expand Down Expand Up @@ -149,7 +149,7 @@ module.exports = {
fns.push(function (cb) {
KongService.listAllCb(node, '/upstreams/' + upstream.id + '/targets', function (err, data) {
if (err) return cb()
console.log(data.data)
sails.log(data.data)
if (!result.upstream_targets) result.upstream_targets = []
data.data.forEach(function (item) {
result.upstream_targets.push(item);
Expand Down
4 changes: 2 additions & 2 deletions api/services/SnapshotsService.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ module.exports = {
if(err) {
return cb();
}
console.log(data)
sails.log(data)
if(!consumer.acls) {
consumer.acls = [];
}
Expand Down Expand Up @@ -103,7 +103,7 @@ module.exports = {
fns.push(function(cb){
KongService.listAllCb(node,'/upstreams/' + upstream.id + '/targets',function(err,data){
if(err) return cb()
console.log(data.data)
sails.log(data.data)
if(!result.upstream_targets) result.upstream_targets = []
data.data.forEach(function(item){
result.upstream_targets.push(item);
Expand Down
4 changes: 2 additions & 2 deletions api/services/remote/adapters/api.js
Original file line number Diff line number Diff line change
Expand Up @@ -53,15 +53,15 @@ module.exports = {
headers[array[0]] = array[1]
})

console.log("Headers =>",headers)
sails.log("Headers =>",headers)
}

var request = unirest.get(req.param('endpoint'))
request.headers(headers)
request.end(function (response) {
if (response.error) return res.negotiate(response)

console.log("response.body",response.body)
sails.log("response.body",response.body)

var jsonRes = response.body

Expand Down
3 changes: 1 addition & 2 deletions assets/js/app/connections/connections-controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -211,8 +211,7 @@
node.checkingConnection = true;
$http.get('/kong',{
params : {
kong_admin_url : node.kong_admin_url,
kong_api_key : node.kong_api_key
connection_id : node.id
}
}).then(function(response){
$log.debug("Check connection:success",response)
Expand Down
1 change: 0 additions & 1 deletion assets/js/app/connections/create-connection-controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
.create(angular.copy($scope.node))
.then(
function onSuccess(result) {
$log.info('New node created successfully',result)
MessageService.success('New node created successfully');
$scope.busy = false;
$rootScope.$broadcast('kong.node.created',result.data)
Expand Down
69 changes: 35 additions & 34 deletions assets/js/app/dashboard/02_dashboard-controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
angular.module('frontend.dashboard')
.controller('DashboardController', [
'$scope', '$rootScope','$log', '$state','$q','InfoService','$localStorage','HttpTimeout',
'SettingsService', 'NodeModel','$timeout', 'MessageService','UserModel','UserService','Semver',
'SettingsService', 'NodeModel','$timeout', 'MessageService','UserModel','UserService','Semver','$http',
function controller($scope,$rootScope, $log, $state,$q,InfoService,$localStorage,HttpTimeout,
SettingsService, NodeModel, $timeout, MessageService, UserModel, UserService, Semver) {
SettingsService, NodeModel, $timeout, MessageService, UserModel, UserService, Semver, $http) {


var loadTime = $rootScope.KONGA_CONFIG.info_polling_interval,
Expand Down Expand Up @@ -214,57 +214,58 @@
$scope.create = function() {


// Check if the connection is valid
$scope.checkingConnection = true;
InfoService.nodeStatus({
kong_admin_url : $scope.node.kong_admin_url
}).then(function(response){
$log.debug("Check connection:success",response)
$scope.checkingConnection = false;

// If check succeeds create the connection
NodeModel
.create(angular.copy($scope.node))
.then(
function onSuccess(result) {
$log.info('New node created successfully',result)
MessageService.success('New node created successfully');
$scope.busy = false;
$rootScope.$broadcast('kong.node.created',result.data)
// First of all Create the connection
NodeModel
.create(angular.copy($scope.node))
.then(
function onSuccess(result) {
$log.info('New node created successfully',result)
MessageService.success('New node created successfully');
$scope.busy = false;
$rootScope.$broadcast('kong.node.created',result.data[0])

// Check if the connection is valid
$scope.checkingConnection = true;
$http.get('/kong',{
params : {
connection_id : result.data[0].id
}
}).then(function(response){
$log.debug("Check connection:success",response)
$scope.checkingConnection = false;

// Finally, activate the node for the logged in user
UserModel
.update(UserService.user().id, {
node : result.data
node : result.data[0]
})
.then(
function onSuccess(res) {
var credentials = $localStorage.credentials
credentials.user.node = result.data
$rootScope.$broadcast('user.node.updated',result.data)
credentials.user.node = result.data[0]
$rootScope.$broadcast('user.node.updated',result.data[0])
},function(err){
$scope.busy = false
UserModel.handleError($scope,err)
}
);

}).catch(function(error){
$log.debug("Check connection:error",error)
$scope.checkingConnection = false;
MessageService.error("Oh snap! Can't connect to the created node. Check your connections.")
})



},function(err){
$scope.busy = false
NodeModel.handleError($scope,err)
}
)
;

},function(err){
$scope.busy = false
NodeModel.handleError($scope,err)
}
)
;


}).catch(function(error){
$log.debug("Check connection:error",error)
$scope.checkingConnection = false;
MessageService.error("Oh snap! Can't connect to the selected node.")
})


}
Expand Down
2 changes: 0 additions & 2 deletions views/layout.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,6 @@
<script src="bower_components/angular-ui-router/release/angular-ui-router.js?r=0.8.10"></script>
<script src="bower_components/angular-ui-utils/ui-utils.js?r=0.8.10"></script>
<script src="bower_components/moment/moment.js?r=0.8.10"></script>
<script src="bower_components/later/later.js?r=0.8.10"></script>
<script src="bower_components/prettycron/prettycron.js?r=0.8.10"></script>
<script src="bower_components/angular-bootstrap-show-errors/src/showErrors.js?r=0.8.10"></script>
<script src="bower_components/angular-sanitize/angular-sanitize.js?r=0.8.10"></script>
<script src="bower_components/angular-xeditable/dist/js/xeditable.js?r=0.8.10"></script>
Expand Down

0 comments on commit a21062d

Please sign in to comment.