From 82a02ef339c214fe25cdb93cfb765bf3c8a0bd71 Mon Sep 17 00:00:00 2001 From: Book Pauk Date: Sat, 16 Jul 2022 20:48:50 +0700 Subject: [PATCH] =?UTF-8?q?=D0=A3=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=B1=D0=BE=D0=BB=D0=B5=D0=B5=20=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D1=83=D0=B6=D0=BD=D0=BE=D0=B9=20=D1=84=D1=83=D0=BD=D0=BA=D1=86?= =?UTF-8?q?=D0=B8=D0=BE=D0=BD=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D1=81=D1=82?= =?UTF-8?q?=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/api/reader.js | 27 +---------------------- server/controllers/ReaderController.js | 18 --------------- server/controllers/WebSocketController.js | 11 --------- server/core/Reader/ReaderWorker.js | 24 -------------------- server/routes.js | 3 +-- 5 files changed, 2 insertions(+), 81 deletions(-) diff --git a/client/api/reader.js b/client/api/reader.js index 4ae05dae..d0f97622 100644 --- a/client/api/reader.js +++ b/client/api/reader.js @@ -120,32 +120,7 @@ class Reader { estSize = response.headers['content-length']; } } catch (e) { - //восстановим при необходимости файл на сервере из удаленного облака - let response = null - - try { - response = await wsc.message(await wsc.send({action: 'reader-restore-cached-file', path: url})); - } catch (e) { - console.error(e); - //если с WebSocket проблема, работаем по http - response = await api.post('/restore-cached-file', {path: url}); - response = response.data; - } - if (response.state == 'error') { - throw new Error(response.error); - } - - const workerId = response.workerId; - if (!workerId) - throw new Error('Неверный ответ api'); - - response = await this.getWorkerStateFinish(workerId); - if (response.state == 'error') { - throw new Error(response.error); - } - if (response.size && estSize < 0) { - estSize = response.size; - } + // } return estSize; diff --git a/server/controllers/ReaderController.js b/server/controllers/ReaderController.js index 0dea8925..84c3f188 100644 --- a/server/controllers/ReaderController.js +++ b/server/controllers/ReaderController.js @@ -68,24 +68,6 @@ class ReaderController extends BaseController { res.status(400).send({error}); return false; } - - async restoreCachedFile(req, res) { - const request = req.body; - let error = ''; - try { - if (!request.path) - throw new Error(`key 'path' is empty`); - - const workerId = this.readerWorker.restoreCachedFile(request.path); - const state = this.workerState.getState(workerId); - return (state ? state : {}); - } catch (e) { - error = e.message; - } - //bad request - res.status(400).send({error}); - return false; - } } module.exports = ReaderController; diff --git a/server/controllers/WebSocketController.js b/server/controllers/WebSocketController.js index add0a3a8..8dc67a1c 100644 --- a/server/controllers/WebSocketController.js +++ b/server/controllers/WebSocketController.js @@ -70,8 +70,6 @@ class WebSocketController { await this.workerGetState(req, ws); break; case 'worker-get-state-finish': await this.workerGetStateFinish(req, ws); break; - case 'reader-restore-cached-file': - await this.readerRestoreCachedFile(req, ws); break; case 'reader-storage': await this.readerStorageDo(req, ws); break; case 'upload-file-buf': @@ -157,15 +155,6 @@ class WebSocketController { } } - async readerRestoreCachedFile(req, ws) { - if (!req.path) - throw new Error(`key 'path' is empty`); - - const workerId = this.readerWorker.restoreCachedFile(req.path); - const state = this.workerState.getState(workerId); - this.send((state ? state : {}), req, ws); - } - async readerStorageDo(req, ws) { if (!req.body) throw new Error(`key 'body' is empty`); diff --git a/server/core/Reader/ReaderWorker.js b/server/core/Reader/ReaderWorker.js index 6941d82e..6672e6ce 100644 --- a/server/core/Reader/ReaderWorker.js +++ b/server/core/Reader/ReaderWorker.js @@ -247,30 +247,6 @@ class ReaderWorker { return targetName; } - restoreCachedFile(filename) { - const workerId = this.workerState.generateWorkerId(); - const wState = this.workerState.getControl(workerId); - wState.set({state: 'start'}); - - (async() => { - try { - wState.set({state: 'download', step: 1, totalSteps: 1, path: filename, progress: 0}); - - const targetName = await this.restoreRemoteFile(filename); - const stat = await fs.stat(targetName); - - const basename = path.basename(filename); - wState.finish({path: `/tmp/${basename}`, size: stat.size, progress: 100}); - } catch (e) { - if (e.message.indexOf('404') < 0) - log(LM_ERR, e.stack); - wState.set({state: 'error', error: e.message}); - } - })(); - - return workerId; - } - async cleanDir(dir, remoteDir, maxSize, moveToRemote) { if (!this.remoteSent) this.remoteSent = {}; diff --git a/server/routes.js b/server/routes.js index 22cb9141..484b763c 100644 --- a/server/routes.js +++ b/server/routes.js @@ -5,7 +5,7 @@ const express = require('express'); const multer = require('multer'); const ReaderWorker = require('./core/Reader/ReaderWorker');//singleton -const log = new (require('../AppLogger'))().log;//singleton +const log = new (require('./core/AppLogger'))().log;//singleton const c = require('./controllers'); const utils = require('./core/utils'); @@ -45,7 +45,6 @@ function initRoutes(app, wss, config) { ['POST', '/api/reader/load-book', reader.loadBook.bind(reader), [aAll], {}], ['POST', '/api/reader/storage', reader.storage.bind(reader), [aAll], {}], ['POST', '/api/reader/upload-file', [upload.single('file'), reader.uploadFile.bind(reader)], [aAll], {}], - ['POST', '/api/reader/restore-cached-file', reader.restoreCachedFile.bind(reader), [aAll], {}], ['POST', '/api/worker/get-state', worker.getState.bind(worker), [aAll], {}], ];