Add support for reporting total disk usage
This commit is contained in:
parent
ba54f11eb0
commit
08f40ba204
@ -686,7 +686,8 @@
|
||||
},
|
||||
"urbackup": {
|
||||
"ok" : "Ok",
|
||||
"errored": "Errored",
|
||||
"noRecent": "Out of Date"
|
||||
"errored": "Errors",
|
||||
"noRecent": "Out of Date",
|
||||
"totalUsed": "Used Storage"
|
||||
}
|
||||
}
|
||||
|
||||
@ -34,6 +34,7 @@ export default function Component({ service }) {
|
||||
<Block label="urbackup.ok" value={t("common.number", { value: parseInt(statusData.ok, 10) })} />
|
||||
<Block label="urbackup.errored" value={t("common.number", { value: parseInt(statusData.errored, 10) })} />
|
||||
<Block label="urbackup.noRecent" value={t("common.number", { value: parseInt(statusData.noRecent, 10) })} />
|
||||
{urbackupData.diskUsage && <Block label="urbackup.totalUsed" value={t("common.bbytes", {value: parseFloat(statusData.totalUsage, 10)})} />}
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
||||
@ -17,8 +17,14 @@ export default async function urbackupProxyHandler(req, res) {
|
||||
await (async () => {
|
||||
try {
|
||||
const allClients = await server.getStatus({includeRemoved: false});
|
||||
let diskUsage = false
|
||||
if(serviceWidget.diskUsage)
|
||||
{
|
||||
diskUsage = await server.getUsage();
|
||||
}
|
||||
res.status(200).send({
|
||||
data: allClients,
|
||||
clientStatuses: allClients,
|
||||
diskUsage,
|
||||
maxDays: serviceWidget.maxDays
|
||||
});
|
||||
} catch (error) {
|
||||
|
||||
@ -37,13 +37,13 @@ function determineClientStatus(client, maxDays){
|
||||
return status;
|
||||
}
|
||||
|
||||
export default function determineStatuses(clientStatuses) {
|
||||
export default function determineStatuses(urbackupData) {
|
||||
let ok = 0;
|
||||
let errored = 0;
|
||||
let noRecent = 0;
|
||||
let result;
|
||||
clientStatuses.data.forEach((client) => {
|
||||
result = determineClientStatus(client, clientStatuses.maxDays);
|
||||
urbackupData.clientStatuses.forEach((client) => {
|
||||
result = determineClientStatus(client, urbackupData.maxDays);
|
||||
switch (result)
|
||||
{
|
||||
case Status.ok:
|
||||
@ -60,7 +60,17 @@ export default function determineStatuses(clientStatuses) {
|
||||
}
|
||||
});
|
||||
|
||||
return {ok, errored, noRecent};
|
||||
let totalUsage = false;
|
||||
|
||||
// calculate total disk space if provided
|
||||
if (urbackupData.diskUsage){
|
||||
totalUsage = 0.0;
|
||||
urbackupData.diskUsage.forEach((client) => {
|
||||
totalUsage += client.used;
|
||||
});
|
||||
}
|
||||
|
||||
return {ok, errored, noRecent, totalUsage};
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user