Download un-sync fix, playback history

This commit is contained in:
exttex
2020-09-02 14:39:43 +02:00
parent 96db2c3753
commit a77d8437bd
8 changed files with 106 additions and 28 deletions

View File

@ -163,9 +163,11 @@ class Downloads {
if (index == -1) {
this.downloads = [];
await new Promise((res, rej) => {
this.db.remove({state: 0}, {}, (e) => {});
this.db.remove({state: 0}, {multi: true}, (e) => {});
res();
})
});
if (this.qucb) this.qucb();
return;
}
@ -176,6 +178,8 @@ class Downloads {
res();
});
this.downloads.splice(index, 1);
if (this.qucb) this.qucb();
}
}

View File

@ -193,6 +193,17 @@ app.get('/albums/:id', async (req, res) => {
res.send(albums);
})
//Get tracks from listening history
app.get('/history', async (req, res) => {
let data = await deezer.callApi('deezer.pageProfile', {
nb: 200,
tab: "history",
user_id: deezer.userId.toString()
});
let tracks = data.results.TAB.history.data.map((t) => new Track(t));
res.send(tracks);
});
//Search, q as query parameter
app.get('/search', async (req, res) => {
let data = await deezer.callApi('deezer.pageSearch', {query: req.query.q, nb: 100});
@ -496,27 +507,24 @@ async function createServer(electron = false, ecb) {
downloads: downloads.downloads
});
});
//Emit download progress updates
setInterval(() => {
sockets.forEach((s) => {
if (!downloads.download) {
s.emit('download', null);
return;
}
s.emit('download', {
id: downloads.download.id,
size: downloads.download.size,
downloaded: downloads.download.downloaded,
track: downloads.download.track,
path: downloads.download.path
});
});
}, 500);
});
await downloads.load();
//Emit download progress updates
setInterval(() => {
sockets.forEach((s) => {
if (!downloads.download) {
s.emit('download', null);
return;
}
s.emit('download', {
id: downloads.download.id,
size: downloads.download.size,
downloaded: downloads.download.downloaded,
track: downloads.download.track,
path: downloads.download.path
});
});
}, 350);
//Start server
server.on('error', (e) => {