Add support for reporting total disk usage
This commit is contained in:
parent
ba54f11eb0
commit
08f40ba204
@ -686,7 +686,8 @@
|
|||||||
},
|
},
|
||||||
"urbackup": {
|
"urbackup": {
|
||||||
"ok" : "Ok",
|
"ok" : "Ok",
|
||||||
"errored": "Errored",
|
"errored": "Errors",
|
||||||
"noRecent": "Out of Date"
|
"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.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.errored" value={t("common.number", { value: parseInt(statusData.errored, 10) })} />
|
||||||
<Block label="urbackup.noRecent" value={t("common.number", { value: parseInt(statusData.noRecent, 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>
|
</Container>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,8 +17,14 @@ export default async function urbackupProxyHandler(req, res) {
|
|||||||
await (async () => {
|
await (async () => {
|
||||||
try {
|
try {
|
||||||
const allClients = await server.getStatus({includeRemoved: false});
|
const allClients = await server.getStatus({includeRemoved: false});
|
||||||
|
let diskUsage = false
|
||||||
|
if(serviceWidget.diskUsage)
|
||||||
|
{
|
||||||
|
diskUsage = await server.getUsage();
|
||||||
|
}
|
||||||
res.status(200).send({
|
res.status(200).send({
|
||||||
data: allClients,
|
clientStatuses: allClients,
|
||||||
|
diskUsage,
|
||||||
maxDays: serviceWidget.maxDays
|
maxDays: serviceWidget.maxDays
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
@ -37,13 +37,13 @@ function determineClientStatus(client, maxDays){
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function determineStatuses(clientStatuses) {
|
export default function determineStatuses(urbackupData) {
|
||||||
let ok = 0;
|
let ok = 0;
|
||||||
let errored = 0;
|
let errored = 0;
|
||||||
let noRecent = 0;
|
let noRecent = 0;
|
||||||
let result;
|
let result;
|
||||||
clientStatuses.data.forEach((client) => {
|
urbackupData.clientStatuses.forEach((client) => {
|
||||||
result = determineClientStatus(client, clientStatuses.maxDays);
|
result = determineClientStatus(client, urbackupData.maxDays);
|
||||||
switch (result)
|
switch (result)
|
||||||
{
|
{
|
||||||
case Status.ok:
|
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