diff --git a/src/components/host/HostBadge.js b/src/components/host/HostBadge.js index ec389772ab45bc90e74a045bd8501e19cec2065f..70c6507e14bec57d0060b63cebdcc40779781982 100644 --- a/src/components/host/HostBadge.js +++ b/src/components/host/HostBadge.js @@ -2,12 +2,12 @@ import React from "react"; import { IconBadge } from "@ess-ics/ce-ui-common"; import { HostStatusIcon } from "./HostStatusIcon"; -export function HostBadge({ host, ...rest }) { +export function HostBadge({ host, status, ...rest }) { return ( <IconBadge - icon={<HostStatusIcon hostStatus={host.status} />} - title={host.netBoxHost?.fqdn} - subtitle={host.netBoxHost?.network || "---"} + icon={<HostStatusIcon hostStatus={status} />} + title={host.fqdn} + subtitle={host.network || "---"} {...rest} /> ); diff --git a/src/views/host/details/HostDetailsContainer.js b/src/views/host/details/HostDetailsContainer.js index 6baeffa1b7367d3fb9157f610dffba982ca50ca3..5fa8a528a76f937ab55725f268045d83e9ccc25a 100644 --- a/src/views/host/details/HostDetailsContainer.js +++ b/src/views/host/details/HostDetailsContainer.js @@ -36,10 +36,12 @@ export function HostDetailsContainer({ hostId, hostFqdn }) { useEffect(() => { if (fetchError || statusError) { - const message = fetchError.message + const message = fetchError?.message ? fetchError.message : statusError.message; - const status = fetchError.status ? fetchError.status : statusError.status; + const status = fetchError?.status + ? fetchError.status + : statusError?.status; onFetchEntityError(message, status, setError); } }, [fetchError, statusError]); diff --git a/src/views/host/details/HostDetailsTable.js b/src/views/host/details/HostDetailsTable.js index 08a7b33f97fe68d6b5edcd5516ee8123b6bbf886..2dc8d4e1a57be1238afa857b85dce5f8c273d4a3 100644 --- a/src/views/host/details/HostDetailsTable.js +++ b/src/views/host/details/HostDetailsTable.js @@ -19,20 +19,10 @@ const Tags = ({ tags }) => ( ); const getTableData = (host) => ({ - "device type": host?.netBoxHost?.vm - ? "Virtual machine" - : host?.netBoxHost?.deviceType, - description: host?.netBoxHost?.description ? ( - host.netBoxHost.description - ) : ( - <EmptyValue /> - ), - scope: host?.netBoxHost?.scope, - tags: host?.netBoxHost?.tags ? ( - <Tags tags={host?.netBoxHost?.tags} /> - ) : ( - <EmptyValue /> - ) + "device type": host.vm ? "Virtual machine" : host.deviceType, + description: host.description ? host.description : <EmptyValue />, + scope: host.scope, + tags: host.tags ? <Tags tags={host.tags} /> : <EmptyValue /> }); export const HostDetailsTable = ({ host }) => ( diff --git a/src/views/host/details/HostDetailsView.js b/src/views/host/details/HostDetailsView.js index b2d00a2668ec7fd19cea655da9cdc3d89ce621d9..75e81bbbd0b2afe98bba5dc06e98d9c022e92e82 100644 --- a/src/views/host/details/HostDetailsView.js +++ b/src/views/host/details/HostDetailsView.js @@ -23,14 +23,14 @@ import { HostJobsSection } from "./HostJobsSection"; import { HostIocSection } from "./HostIocSection"; import env from "../../../config/env"; -export function HostDetailsView({ hostId, host }) { +export function HostDetailsView({ hostId, host, status }) { const { setTitle } = useContext(GlobalAppBarContext); const navigate = useNavigate(); const [urlState, setUrlState] = useUrlState(); useEffect(() => { - if (host && host.netBoxHost) { - setTitle(applicationTitle("Host Details: " + host.netBoxHost.name)); + if (host && host.name) { + setTitle(applicationTitle("Host Details: " + host.name)); } }, [host, setTitle]); @@ -63,8 +63,11 @@ export function HostDetailsView({ hostId, host }) { </Box> {host ? ( <> - <AlertBannerList alerts={host.alerts ?? []} /> - <HostBadge host={host} /> + <AlertBannerList alerts={status.alerts ?? []} /> + <HostBadge + host={host} + status={status} + /> <Stack gap={2}> <HostIocSection hostId={hostId} @@ -113,7 +116,7 @@ export function HostDetailsView({ hostId, host }) { Host log stream </Typography> <LokiPanel - hostName={host.netBoxHost.name} + hostName={host.name} isSyslog isDeployed /> @@ -124,24 +127,24 @@ export function HostDetailsView({ hostId, host }) { "Host Configuration": ( <ExternalLink href={ - host?.netBoxHost.vm - ? `${env.NETBOX_ADDRESS}/virtualization/virtual-machines/${host?.netBoxHost.id}` - : `${env.NETBOX_ADDRESS}/dcim/devices/${host?.netBoxHost.id}` + host.vm + ? `${env.NETBOX_ADDRESS}/virtualization/virtual-machines/${host.hostId}` + : `${env.NETBOX_ADDRESS}/dcim/devices/${host.hostId}` } aria-label="Host Configuration" > {" "} - {host?.netBoxHost.vm - ? `${env.NETBOX_ADDRESS}/virtualization/virtual-machines/${host?.netBoxHost.id}` - : `${env.NETBOX_ADDRESS}/dcim/devices/${host?.netBoxHost.id}`} + {host.vm + ? `${env.NETBOX_ADDRESS}/virtualization/virtual-machines/${host.hostId}` + : `${env.NETBOX_ADDRESS}/dcim/devices/${host.hostId}`} </ExternalLink> ), "Host Metrics": ( <ExternalLink - href={`https://grafana.tn.esss.lu.se/d/5zJT23xWz/node-exporter-full?orgId=1&var-node=${host?.netBoxHost.fqdn}`} + href={`https://grafana.tn.esss.lu.se/d/5zJT23xWz/node-exporter-full?orgId=1&var-node=${host.fqdn}`} aria-label="Host Metrics" > - {`https://grafana.tn.esss.lu.se/d/5zJT23xWz/node-exporter-full?orgId=1&var-node=${host?.netBoxHost.fqdn}`} + {`https://grafana.tn.esss.lu.se/d/5zJT23xWz/node-exporter-full?orgId=1&var-node=${host.fqdn}`} </ExternalLink> ) }}