New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

bedoon

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bedoon - npm Package Compare versions

Comparing version

to
0.1.0

11

lib/controller/resource-controller.js

@@ -1,2 +0,2 @@

module.exports = function (models, serializer, responseHandler, validator) {
module.exports = function (io, models, serializer, responseHandler, validator) {

@@ -50,2 +50,5 @@ return {

serial = serializer.serialize(name, document);
if (io) {
io.sockets.emit(name + '.create', serial);
}
res.send(responseHandler.getResponse(serial));

@@ -70,2 +73,5 @@ },

serial = serializer.serialize(name, document);
if (io) {
io.sockets.emit(name + '.update', serial);
}
res.send(responseHandler.getResponse(serial));

@@ -84,2 +90,5 @@ });

var serial = serializer.serialize(name, document);
if (io) {
io.sockets.emit(name + '.remove', serial);
}
res.send(responseHandler.getResponse(serial));

@@ -86,0 +95,0 @@ });

126

lib/index.js

@@ -16,15 +16,3 @@ var Bedoon = function (config) {

// Configuring the database
console.log('Configuring database');
mongoose.connect(config.db);
// Loading models
console.log('Loading resource models');
Object.keys(config.resources).forEach(function (name) {
var resource = config.resources[name];
if (resource.type === 'document') {
models[name] = mongoose.model(name, schemaFactory.getSchema(name));
}
});
// Configuration of express app

@@ -42,56 +30,74 @@ console.log('Configuring express app');

return {
app: app,
run: function (portHttp, portSocketIO) {
var io = portSocketIO ? require('socket.io').listen(portSocketIO) : null;
// Configuring the database
console.log('Configuring database');
mongoose.connect(config.db);
// Authentication configuration
console.log('Configuring authentication');
Object.keys(config.resources).forEach(function (name) {
if (config.resources[name].user) {
userResourceName = name;
}
});
if (userResourceName) {
var LocalStrategy = require('passport-local').Strategy,
sercurityControllers = require('./controller/security-controller')(serializer, userResourceName, responseHandler);
passport.use(new LocalStrategy(
function (username, password, done) {
models[userResourceName].findOne({ username: username }, function (err, user) {
if (err) { return done(err); }
if (!user) {
return done(null, false, { message: 'Incorrect username.' });
}
if (passwordHandler.compare(user.password, password)) {
return done(null, false, { message: 'Incorrect password.' });
}
return done(null, user);
});
}
));
// Loading models
console.log('Loading resource models');
Object.keys(config.resources).forEach(function (name) {
var resource = config.resources[name];
if (resource.type === 'document') {
models[name] = mongoose.model(name, schemaFactory.getSchema(name));
}
});
passport.serializeUser(function (user, done) {
done(null, user._id);
});
passport.deserializeUser(function (id, done) {
models[userResourceName].findById(id, function (err, user) {
done(err, user);
// Authentication configuration
console.log('Configuring authentication');
Object.keys(config.resources).forEach(function (name) {
if (config.resources[name].user) {
userResourceName = name;
}
});
});
if (userResourceName) {
var LocalStrategy = require('passport-local').Strategy,
sercurityControllers = require('./controller/security-controller')(serializer, userResourceName, responseHandler);
passport.use(new LocalStrategy(
function (username, password, done) {
models[userResourceName].findOne({ username: username }, function (err, user) {
if (err) { return done(err); }
if (!user) {
return done(null, false, { message: 'Incorrect username.' });
}
if (passwordHandler.compare(user.password, password)) {
return done(null, false, { message: 'Incorrect password.' });
}
return done(null, user);
});
}
));
app.post(prefix + '/auth/login', passport.authenticate('local', { successRedirect: prefix + '/auth/loggedin',
failureRedirect: prefix + '/auth/failed' }));
app.get(prefix + '/auth/loggedin', sercurityControllers.isAuthenticated, sercurityControllers.loggedinUser);
app.get(prefix + '/auth/failed', sercurityControllers.authenticationFailed);
app.get(prefix + '/auth/logout', sercurityControllers.logout);
}
passport.serializeUser(function (user, done) {
done(null, user._id);
});
passport.deserializeUser(function (id, done) {
models[userResourceName].findById(id, function (err, user) {
done(err, user);
});
});
app.post(prefix + '/auth/login', passport.authenticate('local', { successRedirect: prefix + '/auth/loggedin',
failureRedirect: prefix + '/auth/failed' }));
app.get(prefix + '/auth/loggedin', sercurityControllers.isAuthenticated, sercurityControllers.loggedinUser);
app.get(prefix + '/auth/failed', sercurityControllers.authenticationFailed);
app.get(prefix + '/auth/logout', sercurityControllers.logout);
}
// Adding resource controllers
console.log('Configuring Resource APIs');
var resourceController = require('./controller/resource-controller')(models, serializer, responseHandler, validator);
app.get(prefix + '/:name', resourceController.checkName, resourceController.findAll);
app.get(prefix + '/:name/:id', resourceController.checkName, resourceController.findOne);
app.post(prefix + '/:name', resourceController.checkName, resourceController.create);
app.put(prefix + '/:name/:id', resourceController.checkName, resourceController.update);
app.delete(prefix + '/:name/:id', resourceController.checkName, resourceController.remove);
return {
app: app
// Adding resource controllers
console.log('Configuring Resource APIs');
var resourceController = require('./controller/resource-controller')(io, models, serializer, responseHandler, validator);
app.get(prefix + '/:name', resourceController.checkName, resourceController.findAll);
app.get(prefix + '/:name/:id', resourceController.checkName, resourceController.findOne);
app.post(prefix + '/:name', resourceController.checkName, resourceController.create);
app.put(prefix + '/:name/:id', resourceController.checkName, resourceController.update);
app.delete(prefix + '/:name/:id', resourceController.checkName, resourceController.remove);
this.app.listen(portHttp);
}
};

@@ -98,0 +104,0 @@ };

{
"name": "bedoon",
"version": "0.0.4",
"version": "0.1.0",
"author": "Riad Benguella",

@@ -17,7 +17,8 @@ "description": "yet another no backend solution using mongodb and nodejs",

"dependencies": {
"express": "latest",
"mongoose": "latest",
"passport": "latest",
"passport-local": "latest",
"bcrypt": "latest"
"express": "3.4.*",
"mongoose": "3.8.*",
"passport": "0.2.*",
"passport-local": "0.1.*",
"bcrypt": "0.7.*",
"socket.io": "0.9.*"
},

@@ -24,0 +25,0 @@ "devDependencies": {