Fix: refresh btn duplicates sizeSum

This commit is contained in:
Christoph Wiechert
2017-07-13 21:32:24 +02:00
parent 6268dcf62a
commit 7371f56862

View File

@@ -1,6 +1,6 @@
<template lang="pug"> <template lang="pug">
.download-app .download-app
a.btn.btn-sm.btn-info.btn-new-session(@click='login()', title='Refresh') a.btn.btn-sm.btn-info.btn-new-session(@click='login()', title='Refresh', v-if="loggedIn")
i.fa.fa-fw.fa-refresh i.fa.fa-fw.fa-refresh
.alert.alert-danger(v-show="error") .alert.alert-danger(v-show="error")
@@ -95,10 +95,10 @@
if(xhr.status === 200) { if(xhr.status === 200) {
try { try {
this.db = JSON.parse(xhr.responseText); this.db = JSON.parse(xhr.responseText);
this.expandDb();
this.loggedIn = true; this.loggedIn = true;
this.error = ''; this.error = '';
this.passwordWrong = false; this.passwordWrong = false;
this.expandDb();
} }
catch(e) { catch(e) {
this.error = e.toString(); this.error = e.toString();
@@ -112,8 +112,9 @@
}, },
expandDb() { expandDb() {
this.sizeSum = 0;
Object.keys(this.db).forEach(sid => { Object.keys(this.db).forEach(sid => {
const sum = { const bucketSum = {
firstExpire: Number.MAX_SAFE_INTEGER, firstExpire: Number.MAX_SAFE_INTEGER,
lastDownload: 0, lastDownload: 0,
created: Number.MAX_SAFE_INTEGER, created: Number.MAX_SAFE_INTEGER,
@@ -121,27 +122,27 @@
size: 0 size: 0
}; };
this.db[sid].forEach(file => { this.db[sid].forEach(file => {
sum.size += file.size; bucketSum.size += file.size;
if(file.metadata._password) { if(file.metadata._password) {
sum.password = true; bucketSum.password = true;
} }
if(+file.metadata.createdAt < sum.created) { if(+file.metadata.createdAt < bucketSum.created) {
sum.created = +file.metadata.createdAt; bucketSum.created = +file.metadata.createdAt;
} }
if(file.metadata.lastDownload && +file.metadata.lastDownload > sum.lastDownload) { if(file.metadata.lastDownload && +file.metadata.lastDownload > bucketSum.lastDownload) {
sum.lastDownload = +file.metadata.lastDownload; bucketSum.lastDownload = +file.metadata.lastDownload;
} }
if(file.metadata.retention === 'one-time') { if(file.metadata.retention === 'one-time') {
sum.firstExpire = 'one-time'; bucketSum.firstExpire = 'one-time';
file.expireDate = file.metadata.retention; file.expireDate = file.metadata.retention;
} }
else { else {
file.expireDate = +file.metadata.createdAt + (+file.metadata.retention * 1000); file.expireDate = +file.metadata.createdAt + (+file.metadata.retention * 1000);
if(sum.firstExpire > file.expireDate) sum.firstExpire = file.expireDate; if(bucketSum.firstExpire > file.expireDate) bucketSum.firstExpire = file.expireDate;
} }
}); });
this.sizeSum += sum.size; this.sizeSum += bucketSum.size;
this.$set(this.sum, sid, sum); this.$set(this.sum, sid, bucketSum);
}); });
}, },