separated electron routing into separate file

This commit is contained in:
azivner 2017-11-30 20:51:35 -05:00
parent 7bdf269095
commit 471821ebe5
6 changed files with 46 additions and 41 deletions

34
app.js
View file

@ -72,38 +72,4 @@ require('./services/sync');
// triggers backup timer
require('./services/backup');
if (utils.isElectron()) {
const ipcMain = require('electron').ipcMain;
ipcMain.on('server-request', (event, arg) => {
const req = {};
req.url = arg.url;
req.method = arg.method;
req.body = arg.data;
req.headers = arg.headers;
const res = {
statusCode: 200
};
res.setHeader = function() {
};
res.status = function(statusCode) {
res.statusCode = statusCode;
};
res.send = function(obj) {
event.sender.send('server-response', {
requestId: arg.requestId,
statusCode: res.statusCode,
body: obj
});
};
return app._router.handle(req, res, () => {});
});
}
module.exports = app;

View file

@ -17,6 +17,7 @@ const config = require('../services/config');
const log = require('../services/log');
const app_info = require('../services/app_info');
const messaging = require('../services/messaging');
const utils = require('../services/utils');
const port = normalizePort(config['Network']['port'] || '3000');
app.set('port', port);
@ -54,6 +55,11 @@ httpServer.on('listening', onListening);
messaging.init(httpServer);
if (utils.isElectron()) {
const electronRouting = require('../routes/electron');
electronRouting(app);
}
/**
* Normalize a port into a number, string, or false.
*/

View file

@ -6,14 +6,14 @@ const auth = require('../../services/auth');
const options = require('../../services/options');
const migration = require('../../services/migration');
router.get('', auth.checkApiAuthWithoutMigration, async (req, res, next) => {
router.get('', auth.checkApiAuthForMigrationPage, async (req, res, next) => {
res.send({
db_version: parseInt(await options.getOption('db_version')),
app_db_version: migration.APP_DB_VERSION
});
});
router.post('', auth.checkApiAuthWithoutMigration, async (req, res, next) => {
router.post('', auth.checkApiAuthForMigrationPage, async (req, res, next) => {
const migrations = await migration.migrate();
res.send({

33
routes/electron.js Normal file
View file

@ -0,0 +1,33 @@
const ipcMain = require('electron').ipcMain;
function init(app) {
ipcMain.on('server-request', (event, arg) => {
const req = {};
req.url = arg.url;
req.method = arg.method;
req.body = arg.data;
req.headers = arg.headers;
const res = {
statusCode: 200
};
res.setHeader = function() {};
res.status = function(statusCode) {
res.statusCode = statusCode;
};
res.send = function(obj) {
event.sender.send('server-response', {
requestId: arg.requestId,
statusCode: res.statusCode,
body: obj
});
};
return app._router.handle(req, res, () => {});
});
}
module.exports = init;

View file

@ -4,7 +4,7 @@ const express = require('express');
const router = express.Router();
const auth = require('../services/auth');
router.get('', auth.checkAuthWithoutMigration, (req, res, next) => {
router.get('', auth.checkAuthForMigrationPage, (req, res, next) => {
res.render('migration', {});
});

View file

@ -15,7 +15,7 @@ async function checkAuth(req, res, next) {
}
}
async function checkAuthWithoutMigration(req, res, next) {
async function checkAuthForMigrationPage(req, res, next) {
if (!req.session.loggedIn && !utils.isElectron()) {
res.redirect("login");
}
@ -36,7 +36,7 @@ async function checkApiAuth(req, res, next) {
}
}
async function checkApiAuthWithoutMigration(req, res, next) {
async function checkApiAuthForMigrationPage(req, res, next) {
if (!req.session.loggedIn && !utils.isElectron()) {
res.status(401).send("Not authorized");
}
@ -47,7 +47,7 @@ async function checkApiAuthWithoutMigration(req, res, next) {
module.exports = {
checkAuth,
checkAuthWithoutMigration,
checkAuthForMigrationPage,
checkApiAuth,
checkApiAuthWithoutMigration
checkApiAuthForMigrationPage
};