Работа над api reader, worker
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
const log = require('../core/getLogger').getLog();
|
||||
const BaseController = require('./BaseController');
|
||||
const log = require('../core/getLogger').getLog();
|
||||
const _ = require('lodash');
|
||||
|
||||
class MiscController extends BaseController {
|
||||
|
||||
39
server/controllers/ReaderController.js
Normal file
39
server/controllers/ReaderController.js
Normal file
@@ -0,0 +1,39 @@
|
||||
const BaseController = require('./BaseController');
|
||||
const ReaderWorker = require('../core/ReaderWorker');
|
||||
const workerState = require('../core/workerState');
|
||||
//const log = require('../core/getLogger').getLog();
|
||||
//const _ = require('lodash');
|
||||
|
||||
class ReaderController extends BaseController {
|
||||
constructor(connPool, config) {
|
||||
super(connPool, config);
|
||||
this.readerWorker = new ReaderWorker(config);
|
||||
}
|
||||
|
||||
async loadBook(req, res) {
|
||||
const request = req.body;
|
||||
let error = '';
|
||||
try {
|
||||
if (!request.type || !(request.type == 'url' || request.type == 'file'))
|
||||
throw new Error(`key 'type' is wrong`);
|
||||
|
||||
if (request.type == 'file')
|
||||
throw new Error(`file loading is not supported yet`);
|
||||
|
||||
if (request.type == 'url') {
|
||||
if (!request.url)
|
||||
throw new Error(`key 'url' is empty`);
|
||||
const workerId = this.readerWorker.loadBookUrl(request.url);
|
||||
const state = workerState.getState(workerId);
|
||||
return (state ? state : {});
|
||||
}
|
||||
} catch (e) {
|
||||
error = e.message;
|
||||
}
|
||||
//bad request
|
||||
res.status(400).send({error});
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = ReaderController;
|
||||
23
server/controllers/WorkerController.js
Normal file
23
server/controllers/WorkerController.js
Normal file
@@ -0,0 +1,23 @@
|
||||
const BaseController = require('./BaseController');
|
||||
const workerState = require('../core/workerState');
|
||||
|
||||
class WorkerController extends BaseController {
|
||||
async getState(req, res) {
|
||||
const request = req.body;
|
||||
let error = '';
|
||||
try {
|
||||
if (!request.workerId)
|
||||
throw new Error(`key 'workerId' is wrong`);
|
||||
|
||||
const state = workerState.getState(request.workerId);
|
||||
return (state ? state : {});
|
||||
} catch (e) {
|
||||
error = e.message;
|
||||
}
|
||||
//bad request
|
||||
res.status(400).send({error});
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = WorkerController;
|
||||
@@ -1,3 +1,5 @@
|
||||
module.exports = {
|
||||
MiscController: require('./MiscController'),
|
||||
ReaderController: require('./ReaderController'),
|
||||
WorkerController: require('./WorkerController'),
|
||||
}
|
||||
Reference in New Issue
Block a user