1
0
mirror of https://github.com/stolksdorf/homebrewery.git synced 2025-12-13 03:35:56 +00:00

Split off app into own file

This commit is contained in:
Scott Tolksdorf
2017-01-06 01:30:15 -05:00
parent 66ca09b36d
commit 174c2973f7
8 changed files with 71 additions and 76 deletions

View File

@@ -2,5 +2,6 @@
"host" : "localhost:8000",
"login_path" : "localhost:8000/dev_login",
"secret" : "secretsecret",
"admin_key" : "adminadmin"
"admin_key" : "adminadmin",
"log_level" : "info"
}

View File

@@ -25,6 +25,7 @@
"express": "^4.13.3",
"jwt-simple": "^0.5.1",
"lodash": "^4.17.3",
"loglevel": "^1.4.1",
"marked": "^0.3.5",
"moment": "^2.11.0",
"mongoose": "^4.3.3",

View File

@@ -1,57 +1,35 @@
const express = require("express");
const app = express();
app.use(express.static(__dirname + '/build'));''
app.use(require('body-parser').json({limit: '25mb'}));
app.use(require('cookie-parser')());
const config = require('nconf')
.argv()
.env({ lowerCase: true })
.file('environment', { file: `config/${process.env.NODE_ENV}.json` })
.file('defaults', { file: 'config/default.json' });
const log = require('loglevel');
log.setLevel(config.get('log_level'));
//DB
require('./server/db.js').connect();
//Middleware
const mw = require('./server/middleware.js');
app.use(mw.account);
app.use(mw.admin);
//Server
const app = require('./server/app.js');
/*
app.use((req, res, next) => {
log.debug('---------------------------');
log.debug(req.method, req.path);
//Routes
app.use(require('./server/brew.api.js'));
app.use(require('./server/interface.routes.js'));
if (req.params) {
log.debug('req params', req.params);
}
if (req.query) {
log.debug('req query', req.query);
}
setTimeout(()=>{
var test = require('./server/brew.data.js');
test.create({text : 'test'})
.then((brew) => {
console.log(brew);
})
.catch(console.log);
test.get({})
.then((brew) => {
console.log(brew);
})
.catch(console.log);
}, 1000);
//app.use(require('./server/admin.api.js'));
//Error Handler
app.use(require('./server/error.js').expressHandler);
next();
});
*/
const PORT = process.env.PORT || 8000;
app.listen(PORT);
console.log(`server on port:${PORT}`);
module.exports = app;
const httpServer = app.listen(PORT, () => {
log.info(`server on port:${PORT}`);
});

24
server/app.js Normal file
View File

@@ -0,0 +1,24 @@
const express = require("express");
const app = express();
app.use(express.static(__dirname + '/build'));
app.use(require('body-parser').json({limit: '25mb'}));
app.use(require('cookie-parser')());
//Middleware
const mw = require('./middleware.js');
app.use(mw.account);
app.use(mw.admin);
//Routes
app.use(require('./brew.api.js'));
app.use(require('./interface.routes.js'));
//app.use(require('./admin.api.js'));
//Error Handler
app.use(require('./error.js').expressHandler);
module.exports = app;

View File

@@ -1,3 +1,4 @@
const log = require('loglevel');
const mongoose = require('mongoose');
mongoose.Promise = Promise;
@@ -7,17 +8,17 @@ module.exports = {
connect : ()=>{
return new Promise((resolve, reject)=>{
if(mongoose.connection.readyState == 1){
console.log('already connected');
log.info('DB already connected');
return resolve();
}
mongoose.connect(dbPath,
(err) => {
if(err){
console.log('Error : Could not connect to a Mongo Database.');
console.log(' If you are running locally, make sure mongodb.exe is running.');
log.info('Error : Could not connect to a Mongo Database.');
log.info(' If you are running locally, make sure mongodb.exe is running.');
return reject(err);
}
console.log('mongo connected.');
log.info('DB connected.');
return resolve();
}
);

View File

@@ -1,12 +1,16 @@
const should = require('chai').use(require('chai-as-promised')).should();
const testing = require('./test.init.js');
const request = require('supertest-as-promised');
const app = require('../server.js');
const app = require('app.js');
const BrewDB = require('db.js');
const apiPath = '/api/brew';
describe('/api/brew', () => {
const apiPath = '/api/brew';
describe(apiPath, () => {
before('Await DB', ()=>{
return BrewDB.connect()
});
describe('POST', () => {
it('creates a new brew', () => {
@@ -18,7 +22,7 @@ describe(apiPath, () => {
.expect(200)
.then((res) => {
const brew = res.body;
should.exist(brew);
//should.exist(brew);
brew.should.have.property('editId').that.is.a('string');
brew.should.have.property('shareId').that.is.a('string');
brew.should.have.property('text').that.is.a('string');

View File

@@ -1,19 +1,19 @@
const should = require('chai').use(require('chai-as-promised')).should();
const testing = require('./test.init.js');
const BrewDB = require('../server/db.js');
const BrewData = require('../server/brew.data.js');
const BrewDB = require('db.js');
const BrewData = require('brew.data.js');
describe('BrewDB', () => {
before('Await DB', ()=>{
return BrewDB.connect().catch()
return BrewDB.connect()
});
it('generates ID on save', () => {
return BrewData.create({
text : "Brew Text"
}).then((brew) => {
should.exist(brew);
//should.exist(brew);
brew.should.have.property('editId').that.is.a('string');
brew.should.have.property('shareId').that.is.a('string');
brew.should.have.property('text').that.is.a('string');

View File

@@ -1,23 +1,9 @@
require('app-module-path').addPath('./server');
// initialize config
const config = require('nconf')
.argv()
.env({ lowerCase: true })
.file('testing', { file: `./config/testing.json` })
.file('environment', { file: `../config/${process.env.NODE_ENV}.json` })
.file('defaults', { file: '../config/default.json' });
const should = require('chai').use(require('chai-as-promised')).should();
const log = require('loglevel');
log.setLevel('trace');
module.exports = {
config: config,
should: should,
clearCache: () => {
return new Promise((resolve, reject) => {
return resolve();
});
},
should: should
};