Решение проблемы скачивания файлов в режиме "Удаленная библиотека"
(запрашивался не тот файл из-за несовпадения bookId)
This commit is contained in:
@@ -354,7 +354,7 @@ class WebWorker {
|
||||
}
|
||||
}
|
||||
|
||||
async restoreBook(bookId, bookPath, downFileName) {
|
||||
async restoreBook(bookUid, bookPath, downFileName) {
|
||||
const db = this.db;
|
||||
|
||||
let extractedFile = '';
|
||||
@@ -364,7 +364,7 @@ class WebWorker {
|
||||
extractedFile = await this.extractBook(bookPath);
|
||||
hash = await utils.getFileHash(extractedFile, 'sha256', 'hex');
|
||||
} else {
|
||||
hash = await this.remoteLib.downloadBook(bookId);
|
||||
hash = await this.remoteLib.downloadBook(bookUid);
|
||||
}
|
||||
|
||||
const link = `${this.config.filesPathStatic}/${hash}`;
|
||||
@@ -402,7 +402,7 @@ class WebWorker {
|
||||
return link;
|
||||
}
|
||||
|
||||
async getBookLink(bookId) {
|
||||
async getBookLink(bookUid) {
|
||||
this.checkMyState();
|
||||
|
||||
try {
|
||||
@@ -410,11 +410,11 @@ class WebWorker {
|
||||
let link = '';
|
||||
|
||||
//найдем bookPath и downFileName
|
||||
let rows = await db.select({table: 'book', where: `@@id(${db.esc(bookId)})`});
|
||||
let rows = await db.select({table: 'book', where: `@@hash('_uid', ${db.esc(bookUid)})`});
|
||||
if (!rows.length)
|
||||
throw new Error('404 Файл не найден');
|
||||
|
||||
const book = rows[0];
|
||||
const book = rows[0];
|
||||
let downFileName = book.file;
|
||||
const author = book.author.split(',');
|
||||
const at = [author[0], book.title];
|
||||
@@ -443,7 +443,7 @@ class WebWorker {
|
||||
}
|
||||
|
||||
if (!link) {
|
||||
link = await this.restoreBook(bookId, bookPath, downFileName)
|
||||
link = await this.restoreBook(bookUid, bookPath, downFileName)
|
||||
}
|
||||
|
||||
if (!link)
|
||||
@@ -458,13 +458,13 @@ class WebWorker {
|
||||
}
|
||||
}
|
||||
|
||||
async getBookInfo(bookId) {
|
||||
async getBookInfo(bookUid) {
|
||||
this.checkMyState();
|
||||
|
||||
try {
|
||||
const db = this.db;
|
||||
|
||||
let bookInfo = await this.getBookLink(bookId);
|
||||
let bookInfo = await this.getBookLink(bookUid);
|
||||
const hash = path.basename(bookInfo.link);
|
||||
const bookFile = `${this.config.filesDir}/${hash}`;
|
||||
const bookFileInfo = `${bookFile}.i.json`;
|
||||
@@ -472,7 +472,9 @@ class WebWorker {
|
||||
const restoreBookInfo = async(info) => {
|
||||
const result = {};
|
||||
|
||||
const rows = await db.select({table: 'book', where: `@@id(${db.esc(bookId)})`});
|
||||
let rows = await db.select({table: 'book', where: `@@hash('_uid', ${db.esc(bookUid)})`});
|
||||
if (!rows.length)
|
||||
throw new Error('404 Файл не найден');
|
||||
const book = rows[0];
|
||||
|
||||
result.book = book;
|
||||
|
||||
Reference in New Issue
Block a user