Add configurable number of days since last backup before a client is considered out-of-date
This commit is contained in:
parent
f0a2e8c847
commit
c64a641962
@ -27,7 +27,7 @@ export default function Component({ service }) {
|
||||
);
|
||||
}
|
||||
|
||||
const statusData = determineStatuses(urbackupData);
|
||||
const statusData = determineStatuses(urbackupData, widget);
|
||||
|
||||
return (
|
||||
<Container service={service}>
|
||||
|
||||
@ -18,7 +18,8 @@ await (async () => {
|
||||
try {
|
||||
const allClients = await server.getStatus({includeRemoved: false});
|
||||
res.status(200).send({
|
||||
data: allClients
|
||||
data: allClients,
|
||||
maxDays: serviceWidget.maxDays
|
||||
});
|
||||
} catch (error) {
|
||||
res.status(500).json({ error: "Something Broke" })
|
||||
|
||||
@ -4,8 +4,9 @@ const Status = Object.freeze({
|
||||
noRecent: Symbol("No Recent Backups")
|
||||
});
|
||||
|
||||
function hasRecentBackups(client){
|
||||
const diffTime = 7*24*60*60 // 7 days
|
||||
function hasRecentBackups(client, maxDays){
|
||||
const days = maxDays || 3;
|
||||
const diffTime = days*24*60*60 // 7 days
|
||||
const recentFile = (client.lastbackup > (Date.now() / 1000 - diffTime));
|
||||
const recentImage = (client.lastbackup_image > (Date.now() / 1000 - diffTime));
|
||||
return (recentFile && recentImage);
|
||||
@ -15,9 +16,9 @@ function recentBackupsOk(client){
|
||||
return (client.file_ok && client.image_ok);
|
||||
}
|
||||
|
||||
function determineClientStatus(client){
|
||||
function determineClientStatus(client, maxDays){
|
||||
let status;
|
||||
if (hasRecentBackups(client))
|
||||
if (hasRecentBackups(client, maxDays))
|
||||
{
|
||||
if (recentBackupsOk(client))
|
||||
{
|
||||
@ -42,7 +43,7 @@ export default function determineStatuses(clientStatuses) {
|
||||
let noRecent = 0;
|
||||
let result;
|
||||
clientStatuses.data.forEach((client) => {
|
||||
result = determineClientStatus(client);
|
||||
result = determineClientStatus(client, clientStatuses.maxDays);
|
||||
switch (result)
|
||||
{
|
||||
case Status.ok:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user