Added verification to server & drive cards for missing fields (#1022)
Co-authored-by: Benjamin Perez <benjamin@bexsoft.net> Co-authored-by: Daniel Valdivia <18384552+dvaldivia@users.noreply.github.com>
This commit is contained in:
@@ -115,19 +115,19 @@ const DriveInfoCard = ({ classes, drive }: ICardProps) => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
title={drive.endpoint}
|
title={drive.endpoint || ""}
|
||||||
subheader={
|
subheader={
|
||||||
<Grid item xs={12} className={classes.stateContainer}>
|
<Grid item xs={12} className={classes.stateContainer}>
|
||||||
<span className={classes.infoValue}>
|
<span className={classes.infoValue}>
|
||||||
<strong>Capacity:</strong>{" "}
|
<strong>Capacity:</strong>{" "}
|
||||||
{niceBytes(drive.totalSpace.toString())}
|
{niceBytes(drive.totalSpace ? drive.totalSpace.toString() : "0")}
|
||||||
</span>
|
</span>
|
||||||
<span className={classes.infoValue}>
|
<span className={classes.infoValue}>
|
||||||
<strong>Used:</strong> {niceBytes(drive.usedSpace.toString())}
|
<strong>Used:</strong> {niceBytes(drive.usedSpace ? drive.usedSpace.toString() : "0")}
|
||||||
</span>
|
</span>
|
||||||
<span className={classes.infoValue}>
|
<span className={classes.infoValue}>
|
||||||
<strong>Available:</strong>{" "}
|
<strong>Available:</strong>{" "}
|
||||||
{niceBytes(drive.availableSpace.toString())}
|
{niceBytes(drive.availableSpace ? drive.availableSpace.toString() : "0")}
|
||||||
</span>
|
</span>
|
||||||
</Grid>
|
</Grid>
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -104,10 +104,10 @@ const ServerInfoCard = ({ classes, server }: ICardProps) => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const networkKeys = Object.keys(get(server, "network", []));
|
const networkKeys = Object.keys(get(server, "network", {}));
|
||||||
|
|
||||||
const networkTotal = networkKeys.length;
|
const networkTotal = networkKeys.length;
|
||||||
const totalDrives = server.drives.length;
|
const totalDrives = server.drives ? server.drives.length : 0;
|
||||||
|
|
||||||
const activeNetwork = networkKeys.reduce((acc: number, currValue: string) => {
|
const activeNetwork = networkKeys.reduce((acc: number, currValue: string) => {
|
||||||
const item = server.network[currValue];
|
const item = server.network[currValue];
|
||||||
@@ -117,9 +117,9 @@ const ServerInfoCard = ({ classes, server }: ICardProps) => {
|
|||||||
return acc;
|
return acc;
|
||||||
}, 0);
|
}, 0);
|
||||||
|
|
||||||
const activeDisks = server.drives.filter(
|
const activeDisks = server.drives ? server.drives.filter(
|
||||||
(element) => element.state === "ok"
|
(element) => element.state === "ok"
|
||||||
).length;
|
).length : 0;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Card>
|
<Card>
|
||||||
@@ -137,7 +137,7 @@ const ServerInfoCard = ({ classes, server }: ICardProps) => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
title={server.endpoint}
|
title={server.endpoint || ""}
|
||||||
subheader={
|
subheader={
|
||||||
<Grid item xs={12} className={classes.stateContainer}>
|
<Grid item xs={12} className={classes.stateContainer}>
|
||||||
<span className={classes.infoValue}>
|
<span className={classes.infoValue}>
|
||||||
@@ -165,7 +165,7 @@ const ServerInfoCard = ({ classes, server }: ICardProps) => {
|
|||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
<span className={classes.infoValue}>
|
<span className={classes.infoValue}>
|
||||||
<strong>Uptime:</strong> {niceDays(server.uptime)}
|
<strong>Uptime:</strong> {server.uptime ? niceDays(server.uptime) : "N/A"}
|
||||||
</span>
|
</span>
|
||||||
</Grid>
|
</Grid>
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user