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:
105
node_modules/mongo-express/routes/collection.js
generated
vendored
105
node_modules/mongo-express/routes/collection.js
generated
vendored
@@ -1,8 +1,8 @@
|
||||
'use strict';
|
||||
|
||||
var os = require('os');
|
||||
|
||||
var bson = require('../bson');
|
||||
var _ = require('underscore');
|
||||
var os = require('os');
|
||||
var bson = require('../bson');
|
||||
|
||||
var routes = function(config) {
|
||||
var exp = {};
|
||||
@@ -14,7 +14,7 @@ var routes = function(config) {
|
||||
var skip = parseInt(req.query.skip, 10) || 0;
|
||||
var query_options = {
|
||||
limit: limit,
|
||||
skip: skip
|
||||
skip: skip,
|
||||
};
|
||||
|
||||
// some query filter
|
||||
@@ -25,16 +25,34 @@ var routes = function(config) {
|
||||
var type = req.query.type || '';
|
||||
var jsonQuery = req.query.query || '';
|
||||
var jsonFields = req.query.fields || '';
|
||||
var dbName = req.params.database;
|
||||
var collectionName = req.params.collection;
|
||||
var defaultKey = (config.defaultKeyNames && config.defaultKeyNames[dbName] && config.defaultKeyNames[dbName][collectionName]) ?
|
||||
config.defaultKeyNames[dbName][collectionName] :
|
||||
'_id';
|
||||
var edKey = function(doc, defaultKey) {
|
||||
var defaultKeyAsArray = defaultKey.split('.');
|
||||
var val = doc;
|
||||
for (var i = 0; i < defaultKeyAsArray.length; i++) {
|
||||
if (val[defaultKeyAsArray[i]]) {
|
||||
val = val[defaultKeyAsArray[i]];
|
||||
}
|
||||
}
|
||||
|
||||
return val;
|
||||
};
|
||||
|
||||
if (key && value) {
|
||||
// If type == J, convert value as json document
|
||||
if (type.toUpperCase() === 'J') {
|
||||
value = JSON.parse(req.query.value);
|
||||
}
|
||||
|
||||
// If type == N, convert value to Number
|
||||
if (type.toUpperCase() === 'N') {
|
||||
value = Number(req.query.value);
|
||||
}
|
||||
|
||||
// If type == O, convert value to ObjectID
|
||||
// TODO: Add ObjectID validation to prevent error messages.
|
||||
if (type.toUpperCase() === 'O') {
|
||||
@@ -44,16 +62,18 @@ var routes = function(config) {
|
||||
return res.redirect('back');
|
||||
}
|
||||
}
|
||||
|
||||
query[key] = value;
|
||||
} else if (jsonQuery) {
|
||||
query = bson.toSafeBSON(jsonQuery);
|
||||
if (query === null) {
|
||||
req.session.error = 'Query entered is not valid';
|
||||
return res.redirect('back');
|
||||
}
|
||||
if (jsonFields) {
|
||||
fields = bson.toSafeBSON(jsonFields) || {};
|
||||
}
|
||||
query = bson.toSafeBSON(jsonQuery);
|
||||
if (query === null) {
|
||||
req.session.error = 'Query entered is not valid';
|
||||
return res.redirect('back');
|
||||
}
|
||||
|
||||
if (jsonFields) {
|
||||
fields = bson.toSafeBSON(jsonFields) || {};
|
||||
}
|
||||
} else {
|
||||
query = {};
|
||||
}
|
||||
@@ -63,38 +83,51 @@ var routes = function(config) {
|
||||
|
||||
//Pagination
|
||||
//Have to do this here, swig template doesn't allow any calculations :(
|
||||
var prev, prev2, here, next2, next, last;
|
||||
var prev;
|
||||
var prev2;
|
||||
var here;
|
||||
var next2;
|
||||
var next;
|
||||
var last;
|
||||
var pagination;
|
||||
|
||||
prev = {
|
||||
page: Math.round((skip - limit) / limit) + 1,
|
||||
skip: skip - limit
|
||||
skip: skip - limit,
|
||||
};
|
||||
prev2 = {
|
||||
page: Math.round((skip - limit * 2) / limit) + 1,
|
||||
skip: skip - limit * 2
|
||||
skip: skip - limit * 2,
|
||||
};
|
||||
next2 = {
|
||||
page: Math.round((skip + limit * 2) / limit) + 1,
|
||||
skip: skip + limit * 2
|
||||
skip: skip + limit * 2,
|
||||
};
|
||||
next = {
|
||||
page: Math.round((skip + limit) / limit) + 1,
|
||||
skip: skip + limit
|
||||
skip: skip + limit,
|
||||
};
|
||||
here = Math.round(skip / limit) + 1;
|
||||
last = (Math.ceil(stats.count / limit) - 1) * limit;
|
||||
pagination = stats.count > limit;
|
||||
|
||||
var docs = [];
|
||||
var docs = [];
|
||||
var columns = [];
|
||||
|
||||
for(var i in items) {
|
||||
for (var i in items) {
|
||||
docs[i] = items[i];
|
||||
columns.push(Object.keys(items[i]));
|
||||
items[i] = bson.toString(items[i]);
|
||||
}
|
||||
|
||||
// Generate an array of columns used by all documents visible on this page
|
||||
columns = _.uniq(_.flatten(columns));
|
||||
|
||||
var ctx = {
|
||||
title: 'Viewing Collection: ' + req.collectionName,
|
||||
documents: items, //Docs converted to strings
|
||||
docs: docs, //Original docs
|
||||
documents: items, // Docs converted to strings
|
||||
docs: docs, // Original docs
|
||||
columns: columns, // All used columns
|
||||
stats: stats,
|
||||
editorTheme: config.options.editorTheme,
|
||||
limit: limit,
|
||||
@@ -105,11 +138,14 @@ var routes = function(config) {
|
||||
next: next,
|
||||
here: here,
|
||||
last: last,
|
||||
pagination: pagination,
|
||||
key: key,
|
||||
value: value,
|
||||
type: type,
|
||||
query: jsonQuery,
|
||||
fields: jsonFields
|
||||
fields: jsonFields,
|
||||
defaultKey: defaultKey,
|
||||
edKey: edKey,
|
||||
};
|
||||
|
||||
res.render('collection', ctx);
|
||||
@@ -119,18 +155,28 @@ var routes = function(config) {
|
||||
|
||||
exp.exportCollection = function(req, res) {
|
||||
req.collection.find().toArray(function(err, items) {
|
||||
res.setHeader('Content-disposition', 'attachment; filename=' + req.collectionName + '.json');
|
||||
res.setHeader('Content-disposition', 'attachment; filename=' + req.collectionName + '.json');
|
||||
res.setHeader('Content-type', 'application/json');
|
||||
var aItems = [];
|
||||
for(var i in items) {
|
||||
var docStr = bson.toJsonString(items[i]);
|
||||
aItems.push(docStr);
|
||||
}
|
||||
for (var i in items) {
|
||||
var docStr = bson.toJsonString(items[i]);
|
||||
aItems.push(docStr);
|
||||
}
|
||||
|
||||
res.write(aItems.join(os.EOL));
|
||||
res.end();
|
||||
});
|
||||
};
|
||||
|
||||
exp.exportColArray = function(req, res) {
|
||||
req.collection.find().toArray(function(err, items) {
|
||||
res.setHeader('Content-disposition', 'attachment; filename=' + req.collectionName + '.json');
|
||||
res.setHeader('Content-type', 'application/json');
|
||||
res.write(bson.toJsonString(items));
|
||||
res.end();
|
||||
});
|
||||
};
|
||||
|
||||
exp.addCollection = function(req, res) {
|
||||
var name = req.body.collection;
|
||||
|
||||
@@ -159,7 +205,6 @@ var routes = function(config) {
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
exp.deleteCollection = function(req, res) {
|
||||
req.collection.drop(function(err) {
|
||||
if (err) {
|
||||
@@ -183,7 +228,6 @@ var routes = function(config) {
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
exp.renameCollection = function(req, res) {
|
||||
var name = req.body.collection;
|
||||
|
||||
@@ -198,7 +242,7 @@ var routes = function(config) {
|
||||
return res.redirect('back');
|
||||
}
|
||||
|
||||
req.collection.rename(name, function(err, collection) {
|
||||
req.collection.rename(name, function(err) {
|
||||
if (err) {
|
||||
req.session.error = 'Something went wrong: ' + err;
|
||||
console.error(err);
|
||||
@@ -216,6 +260,7 @@ var routes = function(config) {
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
return exp;
|
||||
};
|
||||
|
||||
|
||||
37
node_modules/mongo-express/routes/database.js
generated
vendored
37
node_modules/mongo-express/routes/database.js
generated
vendored
@@ -7,16 +7,25 @@ var routes = function() {
|
||||
|
||||
exp.viewDatabase = function(req, res) {
|
||||
|
||||
req.db.stats(function(err, data){
|
||||
req.db.stats(function(err, data) {
|
||||
var ctx = {
|
||||
title: 'Viewing Database: ' + req.dbName,
|
||||
colls: req.collections[req.dbName],
|
||||
stats: {
|
||||
collections: data.collections,
|
||||
dataSize: utils.bytesToSize(data.dataSize),
|
||||
storageSize: utils.bytesToSize(data.storageSize),
|
||||
fileSize: utils.bytesToSize(data.fileSize)
|
||||
}
|
||||
title: 'Viewing Database: ' + req.dbName,
|
||||
colls: req.collections[req.dbName],
|
||||
stats: {
|
||||
avgObjSize: utils.bytesToSize(data.avgObjSize),
|
||||
collections: data.collections,
|
||||
dataFileVersion: (data.dataFileVersion && data.dataFileVersion.major && data.dataFileVersion.minor ?
|
||||
data.dataFileVersion.major + '.' + data.dataFileVersion.minor :
|
||||
null),
|
||||
dataSize: utils.bytesToSize(data.dataSize),
|
||||
extentFreeListNum: (data.extentFreeList && data.extentFreeList.num ? data.extentFreeList.num : null),
|
||||
fileSize: (typeof data.fileSize !== 'undefined' ? utils.bytesToSize(data.fileSize) : null),
|
||||
indexes: data.indexes,
|
||||
indexSize: utils.bytesToSize(data.indexSize),
|
||||
numExtents: data.numExtents.toString(),
|
||||
objects: data.objects,
|
||||
storageSize: utils.bytesToSize(data.storageSize),
|
||||
},
|
||||
};
|
||||
res.render('database', ctx);
|
||||
});
|
||||
@@ -25,12 +34,12 @@ var routes = function() {
|
||||
exp.updateCollections = function(req, res) {
|
||||
req.updateCollections(req.db, req.dbName, function(err) {
|
||||
if (err) {
|
||||
req.session.error = 'Something went wrong: ' + err;
|
||||
return res.redirect('back');
|
||||
}
|
||||
req.session.error = 'Something went wrong: ' + err;
|
||||
return res.redirect('back');
|
||||
}
|
||||
|
||||
req.session.success = 'Collections Updated!';
|
||||
res.redirect(res.locals.baseHref + 'db/' + req.dbName);
|
||||
req.session.success = 'Collections Updated!';
|
||||
res.redirect(res.locals.baseHref + 'db/' + req.dbName);
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
15
node_modules/mongo-express/routes/document.js
generated
vendored
15
node_modules/mongo-express/routes/document.js
generated
vendored
@@ -9,12 +9,23 @@ var routes = function(config) {
|
||||
var ctx = {
|
||||
title: 'Viewing Document: ' + req.document._id,
|
||||
editorTheme: config.options.editorTheme,
|
||||
docString: bson.toString(req.document)
|
||||
docString: bson.toString(req.document),
|
||||
};
|
||||
|
||||
res.render('document', ctx);
|
||||
};
|
||||
|
||||
exp.checkValid = function(req, res) {
|
||||
var doc = req.body.document;
|
||||
try {
|
||||
bson.toBSON(doc);
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
return res.send('Invalid');
|
||||
}
|
||||
|
||||
res.send('Valid');
|
||||
};
|
||||
|
||||
exp.addDocument = function(req, res) {
|
||||
var doc = req.body.document;
|
||||
@@ -46,7 +57,6 @@ var routes = function(config) {
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
exp.updateDocument = function(req, res) {
|
||||
var doc = req.body.document;
|
||||
|
||||
@@ -79,7 +89,6 @@ var routes = function(config) {
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
exp.deleteDocument = function(req, res) {
|
||||
req.collection.remove(req.document, {safe: true}, function(err) {
|
||||
if (err) {
|
||||
|
||||
34
node_modules/mongo-express/routes/index.js
generated
vendored
34
node_modules/mongo-express/routes/index.js
generated
vendored
@@ -1,34 +1,34 @@
|
||||
'use strict';
|
||||
|
||||
//Add routes from other files
|
||||
var
|
||||
database = require('./database'),
|
||||
collection = require('./collection'),
|
||||
document = require('./document');
|
||||
var collectionRoute = require('./collection');
|
||||
var databaseRoute = require('./database');
|
||||
var documentRoute = require('./document');
|
||||
|
||||
var routes = function(config) {
|
||||
var exp = {};
|
||||
|
||||
exp.viewDatabase = database(config).viewDatabase;
|
||||
exp.updateCollections = database(config).updateCollections;
|
||||
exp.updateCollections = databaseRoute(config).updateCollections;
|
||||
exp.viewDatabase = databaseRoute(config).viewDatabase;
|
||||
|
||||
exp.viewCollection = collection(config).viewCollection;
|
||||
exp.addCollection = collection(config).addCollection;
|
||||
exp.deleteCollection = collection(config).deleteCollection;
|
||||
exp.renameCollection = collection(config).renameCollection;
|
||||
exp.exportCollection = collection(config).exportCollection;
|
||||
|
||||
exp.viewDocument = document(config).viewDocument;
|
||||
exp.updateDocument = document(config).updateDocument;
|
||||
exp.deleteDocument = document(config).deleteDocument;
|
||||
exp.addDocument = document(config).addDocument;
|
||||
exp.addCollection = collectionRoute(config).addCollection;
|
||||
exp.deleteCollection = collectionRoute(config).deleteCollection;
|
||||
exp.exportColArray = collectionRoute(config).exportColArray;
|
||||
exp.exportCollection = collectionRoute(config).exportCollection;
|
||||
exp.renameCollection = collectionRoute(config).renameCollection;
|
||||
exp.viewCollection = collectionRoute(config).viewCollection;
|
||||
|
||||
exp.addDocument = documentRoute(config).addDocument;
|
||||
exp.checkValid = documentRoute(config).checkValid;
|
||||
exp.deleteDocument = documentRoute(config).deleteDocument;
|
||||
exp.updateDocument = documentRoute(config).updateDocument;
|
||||
exp.viewDocument = documentRoute(config).viewDocument;
|
||||
|
||||
//Homepage route
|
||||
exp.index = function(req, res) {
|
||||
var ctx = {
|
||||
title: 'Mongo Express',
|
||||
info: false
|
||||
info: false,
|
||||
};
|
||||
|
||||
if (typeof req.adminDb === 'undefined') {
|
||||
|
||||
Reference in New Issue
Block a user