mirror of
https://github.com/mgerb/mywebsite
synced 2026-01-12 02:42:48 +00:00
updated bunch of file paths and changed the way posts are loaded
This commit is contained in:
154
node_modules/mongo-express/router.js
generated
vendored
154
node_modules/mongo-express/router.js
generated
vendored
@@ -1,40 +1,41 @@
|
||||
'use strict';
|
||||
|
||||
var express = require('express'),
|
||||
bodyParser = require('body-parser'),
|
||||
cookieParser = require('cookie-parser'),
|
||||
methodOverride = require('method-override'),
|
||||
errorHandler = require('errorhandler'),
|
||||
session = require('express-session'),
|
||||
favicon = require('serve-favicon'),
|
||||
basicAuth = require('basic-auth-connect'),
|
||||
logger = require('morgan'),
|
||||
_ = require('underscore'),
|
||||
mongodb = require('mongodb');
|
||||
|
||||
var routes = require('./routes'),
|
||||
db = require('./db');
|
||||
|
||||
var _ = require('underscore');
|
||||
var basicAuth = require('basic-auth-connect');
|
||||
var bodyParser = require('body-parser');
|
||||
var cookieParser = require('cookie-parser');
|
||||
var db = require('./db');
|
||||
var errorHandler = require('errorhandler');
|
||||
var express = require('express');
|
||||
var favicon = require('serve-favicon');
|
||||
var logger = require('morgan');
|
||||
var methodOverride = require('method-override');
|
||||
var mongodb = require('mongodb');
|
||||
var routes = require('./routes');
|
||||
var session = require('express-session');
|
||||
|
||||
var router = function(config) {
|
||||
// appRouter configuration
|
||||
var appRouter = express.Router();
|
||||
var mongo = db(config);
|
||||
|
||||
|
||||
// appRouter configuration
|
||||
if(config.useBasicAuth){
|
||||
if (config.useBasicAuth) {
|
||||
appRouter.use(basicAuth(config.basicAuth.username, config.basicAuth.password));
|
||||
}
|
||||
|
||||
appRouter.use(favicon(__dirname + '/public/images/favicon.ico'));
|
||||
appRouter.use(logger('dev'));
|
||||
appRouter.use('/', express.static(__dirname + '/public'));
|
||||
appRouter.use(bodyParser.urlencoded({ extended: true }));
|
||||
appRouter.use(bodyParser.urlencoded({
|
||||
extended: true,
|
||||
limit: config.site.requestSizeLimit,
|
||||
}));
|
||||
appRouter.use(cookieParser(config.site.cookieSecret));
|
||||
appRouter.use(session({
|
||||
secret: config.site.sessionSecret,
|
||||
key: config.site.cookieKeyName,
|
||||
resave: true,
|
||||
saveUninitialized: true
|
||||
key: config.site.cookieKeyName,
|
||||
resave: true,
|
||||
saveUninitialized: true,
|
||||
secret: config.site.sessionSecret,
|
||||
}));
|
||||
appRouter.use(methodOverride(function(req) {
|
||||
if (req.body && typeof req.body === 'object' && '_method' in req.body) {
|
||||
@@ -49,11 +50,10 @@ var router = function(config) {
|
||||
appRouter.use(errorHandler());
|
||||
}
|
||||
|
||||
|
||||
// view helper, sets local variables used in templates
|
||||
appRouter.all('*', function(req, res, next) {
|
||||
// ensure a trailing slash on the baseHref (used as a prefix in routes and views)
|
||||
res.locals.baseHref = req.app.mountpath + (req.app.mountpath[req.app.mountpath.length-1] === '/' ? '' : '/');
|
||||
res.locals.baseHref = req.app.mountpath + (req.app.mountpath[req.app.mountpath.length - 1] === '/' ? '' : '/');
|
||||
res.locals.databases = mongo.databases;
|
||||
res.locals.collections = mongo.collections;
|
||||
|
||||
@@ -67,16 +67,14 @@ var router = function(config) {
|
||||
res.locals.messageError = req.session.error;
|
||||
delete req.session.error;
|
||||
}
|
||||
|
||||
mongo.updateDatabases(mongo.adminDb, function(databases){
|
||||
mongo.databases = databases;
|
||||
res.locals.databases = mongo.databases;
|
||||
|
||||
return next();
|
||||
|
||||
mongo.updateDatabases(mongo.adminDb, function(databases) {
|
||||
mongo.databases = databases;
|
||||
res.locals.databases = mongo.databases;
|
||||
return next();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
// route param pre-conditions
|
||||
appRouter.param('database', function(req, res, next, id) {
|
||||
//Make sure database exists
|
||||
@@ -123,32 +121,79 @@ var router = function(config) {
|
||||
|
||||
// :document param MUST be preceded by a :collection param
|
||||
appRouter.param('document', function(req, res, next, id) {
|
||||
if (id.length === 24) {
|
||||
//Convert id string to mongodb object ID
|
||||
try {
|
||||
id = new mongodb.ObjectID.createFromHexString(id);
|
||||
} catch (err) {
|
||||
}
|
||||
id = JSON.parse(decodeURIComponent(id));
|
||||
var obj_id;
|
||||
|
||||
// Attempt to create ObjectID from passed 'id'
|
||||
try {
|
||||
obj_id = new mongodb.ObjectID.createFromHexString(id);
|
||||
} catch (err) {
|
||||
}
|
||||
|
||||
req.collection.findOne({_id: id}, function(err, doc) {
|
||||
if (err || doc === null) {
|
||||
req.session.error = 'Document not found!';
|
||||
return res.redirect(res.locals.baseHref + 'db/' + req.dbName + '/' + req.collectionName);
|
||||
}
|
||||
// If an ObjectID was correctly created from passed id param, try getting the ObjID first else falling back to try getting the string id
|
||||
// If not valid ObjectID created, try getting string id
|
||||
|
||||
req.document = doc;
|
||||
res.locals.document = doc;
|
||||
if (obj_id) {
|
||||
// passed id has successfully been turned into a valid ObjectID
|
||||
req.collection.findOne({_id: obj_id}, function(err, doc) {
|
||||
if (err) {
|
||||
req.session.error = 'Error: ' + err;
|
||||
return res.redirect(res.locals.baseHref + 'db/' + req.dbName + '/' + req.collectionName);
|
||||
}
|
||||
|
||||
next();
|
||||
});
|
||||
if (doc === null) {
|
||||
// No document found with obj_id, try again with straight id
|
||||
req.collection.findOne({_id: id }, function(err, doc) {
|
||||
if (err) {
|
||||
req.session.error = 'Error: ' + err;
|
||||
return res.redirect(res.locals.baseHref + 'db/' + req.dbName + '/' + req.collectionName);
|
||||
}
|
||||
|
||||
if (doc === null) {
|
||||
req.session.error = 'Document not found!';
|
||||
return res.redirect(res.locals.baseHref + 'db/' + req.dbName + '/' + req.collectionName);
|
||||
}
|
||||
|
||||
// Document found - send it back
|
||||
req.document = doc;
|
||||
res.locals.document = doc;
|
||||
|
||||
next();
|
||||
});
|
||||
} else {
|
||||
// Document found - send it back
|
||||
req.document = doc;
|
||||
res.locals.document = doc;
|
||||
|
||||
next();
|
||||
}
|
||||
|
||||
});
|
||||
} else {
|
||||
// Passed id was NOT a valid ObjectID
|
||||
req.collection.findOne({_id: id}, function(err, doc) {
|
||||
if (err) {
|
||||
req.session.error = 'Error: ' + err;
|
||||
return res.redirect(res.locals.baseHref + 'db/' + req.dbName + '/' + req.collectionName);
|
||||
}
|
||||
|
||||
if (doc === null) {
|
||||
req.session.error = 'Document not found!';
|
||||
return res.redirect(res.locals.baseHref + 'db/' + req.dbName + '/' + req.collectionName);
|
||||
}
|
||||
|
||||
req.document = doc;
|
||||
res.locals.document = doc;
|
||||
|
||||
next();
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// mongodb mongoMiddleware
|
||||
var mongoMiddleware = function(req, res, next) {
|
||||
req.adminDb = mongo.adminDb;
|
||||
req.databases = mongo.databases; //List of database names
|
||||
req.adminDb = mongo.adminDb;
|
||||
req.databases = mongo.databases; //List of database names
|
||||
req.collections = mongo.collections; //List of collection names in all databases
|
||||
|
||||
//Allow page handlers to request an update for collection list
|
||||
@@ -157,12 +202,14 @@ var router = function(config) {
|
||||
next();
|
||||
};
|
||||
|
||||
|
||||
// routes
|
||||
appRouter.get('/', mongoMiddleware, routes(config).index);
|
||||
|
||||
appRouter.get('/db/:database/updateCollections', mongoMiddleware, routes(config).updateCollections);
|
||||
|
||||
appRouter.post('/checkValid', mongoMiddleware, routes(config).checkValid);
|
||||
|
||||
appRouter.get('/db/:database/expArr/:collection', mongoMiddleware, routes(config).exportColArray);
|
||||
appRouter.get('/db/:database/export/:collection', mongoMiddleware, routes(config).exportCollection);
|
||||
appRouter.get('/db/:database/updateCollections', mongoMiddleware, routes(config).updateCollections);
|
||||
|
||||
appRouter.get('/db/:database/:collection/:document', mongoMiddleware, routes(config).viewDocument);
|
||||
appRouter.put('/db/:database/:collection/:document', mongoMiddleware, routes(config).updateDocument);
|
||||
@@ -179,5 +226,4 @@ var router = function(config) {
|
||||
return appRouter;
|
||||
};
|
||||
|
||||
|
||||
module.exports = router;
|
||||
|
||||
Reference in New Issue
Block a user