mirror of
/repos/Prototyper.git
synced 2025-12-30 06:31:32 +01:00
refactoring backend so it can be tested
This commit is contained in:
parent
9cc59398e8
commit
39aa157f6d
17
routes.js
17
routes.js
@ -1,5 +1,3 @@
|
||||
var ShareJS = require('share');
|
||||
var mongoData = require('./mongodata.js');
|
||||
var responder = require('./responder.js');
|
||||
var preview = require('./preview.js');
|
||||
var importer = require('./importer.js');
|
||||
@ -7,19 +5,8 @@ var importer = require('./importer.js');
|
||||
var path = require('path');
|
||||
var fs = require('fs');
|
||||
|
||||
module.exports = function (app, db, config) {
|
||||
module.exports = function (app, mongoDataInstance, model, config) {
|
||||
|
||||
// share wraps express app with http.Server
|
||||
if (config
|
||||
&& config.share
|
||||
&& config.share.db
|
||||
&& config.share.db.type == 'mongo') {
|
||||
config.share.db.client = db;
|
||||
}
|
||||
var server = ShareJS.server.attach(app, config.share);
|
||||
var model = app.model;
|
||||
|
||||
var mongoDataInstance = mongoData(db, model, config);
|
||||
var route;
|
||||
route = config.api.data + '/:collection/:guid/:attribute.:ext(css|less|js|html)';
|
||||
app.get(route,
|
||||
@ -357,5 +344,5 @@ module.exports = function (app, db, config) {
|
||||
});
|
||||
});
|
||||
|
||||
return server;
|
||||
return app;
|
||||
};
|
||||
|
||||
11
server.js
11
server.js
@ -2,6 +2,8 @@ var connect = require('connect');
|
||||
var express = require('express');
|
||||
var MongoClient = require('mongodb').MongoClient;
|
||||
var addRoutes = require('./routes.js');
|
||||
var addShare = require('./share.js');
|
||||
var mongoData = require('./mongodata.js');
|
||||
|
||||
process.title = "Prototyper";
|
||||
|
||||
@ -71,7 +73,14 @@ MongoClient.connect(config.mongo.server, config.mongo.options, function connecti
|
||||
config.errors && console.log('ERR connection to database', err);
|
||||
return process.exit(1);
|
||||
}
|
||||
var server = addRoutes(app, db, config);
|
||||
var share = addShare(app, db, config);
|
||||
var model = share.model;
|
||||
var server = share.server;
|
||||
|
||||
var mongoDataInstance = mongoData(db, model, config);
|
||||
|
||||
app = addRoutes(app, mongoDataInstance, model, config);
|
||||
|
||||
server.on('error', function (err) {
|
||||
config.error && console.log('server error',err);
|
||||
});
|
||||
|
||||
18
share.js
Normal file
18
share.js
Normal file
@ -0,0 +1,18 @@
|
||||
var ShareJS = require('share');
|
||||
|
||||
module.exports = function( app, db, config) {
|
||||
// share wraps express app with http.Server
|
||||
if (config
|
||||
&& config.share
|
||||
&& config.share.db
|
||||
&& config.share.db.type == 'mongo') {
|
||||
config.share.db.client = db;
|
||||
}
|
||||
var server = ShareJS.server.attach(app, config.share);
|
||||
var model = app.model;
|
||||
|
||||
return {
|
||||
server: server,
|
||||
model: model
|
||||
};
|
||||
};
|
||||
Loading…
x
Reference in New Issue
Block a user