You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by an...@apache.org on 2015/05/18 08:05:00 UTC
incubator-ignite git commit: # 843 WIP.
Repository: incubator-ignite
Updated Branches:
refs/heads/ignite-843 53660999b -> d58bae6b4
# 843 WIP.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/d58bae6b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/d58bae6b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/d58bae6b
Branch: refs/heads/ignite-843
Commit: d58bae6b4216f77fe97665e9e2652d0bc4a3cfe7
Parents: 5366099
Author: Andrey <an...@gridgain.com>
Authored: Mon May 18 13:04:44 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Mon May 18 13:04:44 2015 +0700
----------------------------------------------------------------------
modules/webconfig/nodejs/app.js | 84 +++++++++++++-------
modules/webconfig/nodejs/db.js | 26 +++---
.../public/javascripts/controllers/clusters.js | 3 +-
modules/webconfig/nodejs/settings.js | 3 +
4 files changed, 76 insertions(+), 40 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d58bae6b/modules/webconfig/nodejs/app.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/app.js b/modules/webconfig/nodejs/app.js
index bc12c71..666dbff 100644
--- a/modules/webconfig/nodejs/app.js
+++ b/modules/webconfig/nodejs/app.js
@@ -9,8 +9,10 @@ var session = require('express-session')
var pageRoutes = require('./routes/pages');
var clusterRouter = require('./routes/clusters');
-//var passport = require('passport')
-//var LocalStrategy = require('passport-local').Strategy;
+var passport = require('passport');
+var LocalStrategy = require('passport-local').Strategy;
+
+var db = require('./db.js');
var app = express();
@@ -23,12 +25,12 @@ app.use(favicon(__dirname + '/public/favicon.ico'));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
-//app.use(cookieParser());
+app.use(cookieParser());
app.use(require('less-middleware')(path.join(__dirname, 'public')));
app.use(express.static(path.join(__dirname, 'public')));
-//app.use(passport.initialize());
-//app.use(passport.session());
+app.use(passport.initialize());
+app.use(passport.session());
app.use('/', pageRoutes);
app.use('/rest', clusterRouter);
@@ -70,27 +72,55 @@ app.use(function (err, req, res, next) {
// next();
//});
-//app.use(session({
-// secret: 'keyboard cat',
-// resave: false,
-// saveUninitialized: true
-//}))
-//
-//passport.use(new LocalStrategy(
-// function (username, password, done) {
-// User.findOne({username: username}, function (err, user) {
-// if (err) {
-// return done(err);
-// }
-// if (!user) {
-// return done(null, false, {message: 'Incorrect username.'});
-// }
-// if (!user.validPassword(password)) {
-// return done(null, false, {message: 'Incorrect password.'});
-// }
-// return done(null, user);
-// });
-// }
-//));
+app.use(session({
+ secret: 'keyboard cat',
+ resave: false,
+ saveUninitialized: true
+}));
+
+passport.serializeUser(function(user, done) {
+ done(null, user._id);
+});
+
+passport.deserializeUser(function(id, done) {
+ db.User.findById(id, function(err, user) {
+ done(err, user);
+ });
+});
+
+// passport/login.js
+passport.use('login', new LocalStrategy({
+ passReqToCallback : true
+ },
+ function(req, username, password, done) {
+ // check in mongo if a user with username exists or not
+ db.User.findOne({ 'username' : username },
+ function(err, user) {
+ // In case of any error, return using the done method
+ if (err)
+ return done(err);
+
+ // Username does not exist, log error & redirect back
+ if (!user) {
+ console.log('User Not Found with username ' + username);
+
+ return done(null, false,
+ req.flash('message', 'User Not found.'));
+ }
+
+ // User exists but wrong password, log the error
+ if (!isValidPassword(user, password)) {
+ console.log('Invalid Password');
+
+ return done(null, false,
+ req.flash('message', 'Invalid Password'));
+ }
+
+ // User and password both match, return user from done method which will be treated like success
+ return done(null, user);
+ }
+ );
+ })
+);
module.exports = app;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d58bae6b/modules/webconfig/nodejs/db.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/db.js b/modules/webconfig/nodejs/db.js
index 446f1d8..33764b7 100644
--- a/modules/webconfig/nodejs/db.js
+++ b/modules/webconfig/nodejs/db.js
@@ -1,25 +1,29 @@
+var settings = require('./settings.js');
+
// mongoose for mongodb
var mongoose = require('mongoose');
// connect to mongoDB database on modulus.io
-var uri = 'mongodb://localhost/web-configurator';
+mongoose.connect(settings.url, {server: {poolSize: 4}});
-mongoose.connect(uri, {server: {poolSize: 4}});
+// define user model.
+exports.User = mongoose.model('User', new mongoose.Schema({
+ username: String,
+ password: String,
+ email: String
+}));
-// define model
-var cacheSchema = new mongoose.Schema({
+// define cache model.
+exports.Cache = mongoose.model('Cache', new mongoose.Schema({
name: String,
mode: { type: String, enum: ['PARTITIONED', 'REPLICATED', 'LOCAL'] },
backups: Number
-});
-
-exports.Cache = mongoose.model('Cache', cacheSchema);
+}));
-var clusterSchema = new mongoose.Schema({
+// define cluster model.
+exports.Cluster = mongoose.model('Cluster', new mongoose.Schema({
name : String,
caches : [String],
discovery : { type: String, enum: ['VM', 'Multicast'] },
addresses : [String]
-});
-
-exports.Cluster = mongoose.model('Cluster', clusterSchema);
\ No newline at end of file
+}));
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d58bae6b/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js b/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js
index 16aef47..9be3f8d 100644
--- a/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js
+++ b/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js
@@ -1,6 +1,5 @@
angular.module('ignite-web-configurator', ['ngTable', 'mgcrea.ngStrap', 'ngSanitize'])
.controller('clusterRouter', ['$scope', '$modal', '$http', '$filter', 'ngTableParams', function($scope, $modal, $http, $filter, ngTableParams) {
-
$scope.discoveries = [
{value: 'VM', label: 'VM'},
{value: 'Multicast', label: 'Multicast'}
@@ -59,7 +58,7 @@ angular.module('ignite-web-configurator', ['ngTable', 'mgcrea.ngStrap', 'ngSanit
};
$scope.create = function () {
- $scope.cluster = { discovery: 'VM' };
+ $scope.cluster = {};
// Show when some event occurs (use $promise property to ensure the template has been loaded)
myOtherModal.$promise.then(myOtherModal.show);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d58bae6b/modules/webconfig/nodejs/settings.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/settings.js b/modules/webconfig/nodejs/settings.js
new file mode 100644
index 0000000..0c5cefc
--- /dev/null
+++ b/modules/webconfig/nodejs/settings.js
@@ -0,0 +1,3 @@
+module.exports = {
+ 'url' : 'mongodb://localhost/web-configurator'
+}
\ No newline at end of file