1
0
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:
Aiko Mastboom 2013-05-11 22:36:32 +02:00
parent 9cc59398e8
commit 39aa157f6d
3 changed files with 30 additions and 16 deletions

View File

@ -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;
};

View File

@ -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
View 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
};
};