mirror of
https://github.com/stolksdorf/homebrewery.git
synced 2025-12-13 16:15:56 +00:00
Split off app into own file
This commit is contained in:
@@ -2,5 +2,6 @@
|
|||||||
"host" : "localhost:8000",
|
"host" : "localhost:8000",
|
||||||
"login_path" : "localhost:8000/dev_login",
|
"login_path" : "localhost:8000/dev_login",
|
||||||
"secret" : "secretsecret",
|
"secret" : "secretsecret",
|
||||||
"admin_key" : "adminadmin"
|
"admin_key" : "adminadmin",
|
||||||
|
"log_level" : "info"
|
||||||
}
|
}
|
||||||
@@ -25,6 +25,7 @@
|
|||||||
"express": "^4.13.3",
|
"express": "^4.13.3",
|
||||||
"jwt-simple": "^0.5.1",
|
"jwt-simple": "^0.5.1",
|
||||||
"lodash": "^4.17.3",
|
"lodash": "^4.17.3",
|
||||||
|
"loglevel": "^1.4.1",
|
||||||
"marked": "^0.3.5",
|
"marked": "^0.3.5",
|
||||||
"moment": "^2.11.0",
|
"moment": "^2.11.0",
|
||||||
"mongoose": "^4.3.3",
|
"mongoose": "^4.3.3",
|
||||||
|
|||||||
64
server.js
64
server.js
@@ -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')
|
const config = require('nconf')
|
||||||
.argv()
|
.argv()
|
||||||
.env({ lowerCase: true })
|
.env({ lowerCase: true })
|
||||||
.file('environment', { file: `config/${process.env.NODE_ENV}.json` })
|
.file('environment', { file: `config/${process.env.NODE_ENV}.json` })
|
||||||
.file('defaults', { file: 'config/default.json' });
|
.file('defaults', { file: 'config/default.json' });
|
||||||
|
|
||||||
|
const log = require('loglevel');
|
||||||
|
log.setLevel(config.get('log_level'));
|
||||||
|
|
||||||
//DB
|
//DB
|
||||||
require('./server/db.js').connect();
|
require('./server/db.js').connect();
|
||||||
|
|
||||||
//Middleware
|
//Server
|
||||||
const mw = require('./server/middleware.js');
|
const app = require('./server/app.js');
|
||||||
app.use(mw.account);
|
|
||||||
app.use(mw.admin);
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
app.use((req, res, next) => {
|
||||||
|
log.debug('---------------------------');
|
||||||
|
log.debug(req.method, req.path);
|
||||||
|
|
||||||
//Routes
|
if (req.params) {
|
||||||
app.use(require('./server/brew.api.js'));
|
log.debug('req params', req.params);
|
||||||
app.use(require('./server/interface.routes.js'));
|
}
|
||||||
|
if (req.query) {
|
||||||
|
log.debug('req query', req.query);
|
||||||
|
}
|
||||||
|
|
||||||
setTimeout(()=>{
|
next();
|
||||||
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);
|
|
||||||
|
|
||||||
const PORT = process.env.PORT || 8000;
|
const PORT = process.env.PORT || 8000;
|
||||||
app.listen(PORT);
|
const httpServer = app.listen(PORT, () => {
|
||||||
console.log(`server on port:${PORT}`);
|
log.info(`server on port:${PORT}`);
|
||||||
|
});
|
||||||
module.exports = app;
|
|
||||||
24
server/app.js
Normal file
24
server/app.js
Normal 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;
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
|
const log = require('loglevel');
|
||||||
const mongoose = require('mongoose');
|
const mongoose = require('mongoose');
|
||||||
mongoose.Promise = Promise;
|
mongoose.Promise = Promise;
|
||||||
|
|
||||||
@@ -7,17 +8,17 @@ module.exports = {
|
|||||||
connect : ()=>{
|
connect : ()=>{
|
||||||
return new Promise((resolve, reject)=>{
|
return new Promise((resolve, reject)=>{
|
||||||
if(mongoose.connection.readyState == 1){
|
if(mongoose.connection.readyState == 1){
|
||||||
console.log('already connected');
|
log.info('DB already connected');
|
||||||
return resolve();
|
return resolve();
|
||||||
}
|
}
|
||||||
mongoose.connect(dbPath,
|
mongoose.connect(dbPath,
|
||||||
(err) => {
|
(err) => {
|
||||||
if(err){
|
if(err){
|
||||||
console.log('Error : Could not connect to a Mongo Database.');
|
log.info('Error : Could not connect to a Mongo Database.');
|
||||||
console.log(' If you are running locally, make sure mongodb.exe is running.');
|
log.info(' If you are running locally, make sure mongodb.exe is running.');
|
||||||
return reject(err);
|
return reject(err);
|
||||||
}
|
}
|
||||||
console.log('mongo connected.');
|
log.info('DB connected.');
|
||||||
return resolve();
|
return resolve();
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -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 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';
|
||||||
|
|
||||||
|
before('Await DB', ()=>{
|
||||||
describe(apiPath, () => {
|
return BrewDB.connect()
|
||||||
|
});
|
||||||
|
|
||||||
describe('POST', () => {
|
describe('POST', () => {
|
||||||
it('creates a new brew', () => {
|
it('creates a new brew', () => {
|
||||||
@@ -18,7 +22,7 @@ describe(apiPath, () => {
|
|||||||
.expect(200)
|
.expect(200)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
const brew = res.body;
|
const brew = res.body;
|
||||||
should.exist(brew);
|
//should.exist(brew);
|
||||||
brew.should.have.property('editId').that.is.a('string');
|
brew.should.have.property('editId').that.is.a('string');
|
||||||
brew.should.have.property('shareId').that.is.a('string');
|
brew.should.have.property('shareId').that.is.a('string');
|
||||||
brew.should.have.property('text').that.is.a('string');
|
brew.should.have.property('text').that.is.a('string');
|
||||||
|
|||||||
@@ -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 BrewDB = require('db.js');
|
||||||
const BrewData = require('../server/brew.data.js');
|
const BrewData = require('brew.data.js');
|
||||||
|
|
||||||
|
|
||||||
describe('BrewDB', () => {
|
describe('BrewDB', () => {
|
||||||
before('Await DB', ()=>{
|
before('Await DB', ()=>{
|
||||||
return BrewDB.connect().catch()
|
return BrewDB.connect()
|
||||||
});
|
});
|
||||||
|
|
||||||
it('generates ID on save', () => {
|
it('generates ID on save', () => {
|
||||||
return BrewData.create({
|
return BrewData.create({
|
||||||
text : "Brew Text"
|
text : "Brew Text"
|
||||||
}).then((brew) => {
|
}).then((brew) => {
|
||||||
should.exist(brew);
|
//should.exist(brew);
|
||||||
brew.should.have.property('editId').that.is.a('string');
|
brew.should.have.property('editId').that.is.a('string');
|
||||||
brew.should.have.property('shareId').that.is.a('string');
|
brew.should.have.property('shareId').that.is.a('string');
|
||||||
brew.should.have.property('text').that.is.a('string');
|
brew.should.have.property('text').that.is.a('string');
|
||||||
|
|||||||
@@ -1,23 +1,9 @@
|
|||||||
require('app-module-path').addPath('./server');
|
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 should = require('chai').use(require('chai-as-promised')).should();
|
||||||
|
const log = require('loglevel');
|
||||||
|
log.setLevel('trace');
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
config: config,
|
should: should
|
||||||
should: should,
|
|
||||||
clearCache: () => {
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
return resolve();
|
|
||||||
});
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user