diff --git a/src/Frontend/src/components/AutoRefreshDataView.vue b/src/Frontend/src/components/AutoRefreshDataView.vue index 2fb2757a1..477ee2bc0 100644 --- a/src/Frontend/src/components/AutoRefreshDataView.vue +++ b/src/Frontend/src/components/AutoRefreshDataView.vue @@ -3,7 +3,7 @@ import { onMounted, onUnmounted, ref, watch } from "vue"; import ItemsPerPage from "@/components/ItemsPerPage.vue"; import PaginationStrip from "@/components/PaginationStrip.vue"; import type DataViewPageModel from "./DataViewPageModel"; -import { useServiceControlStore } from "@/stores/ServiceControlStore"; +import serviceControlClient from "@/components/serviceControlClient"; const props = withDefaults( defineProps<{ @@ -20,8 +20,6 @@ const props = withDefaults( let refreshTimer: number | undefined; const viewModel = defineModel>({ required: true }); -const store = useServiceControlStore(); - const pageNumber = ref(1); const itemsPerPage = ref(props.itemsPerPage); @@ -37,7 +35,7 @@ watch(itemsPerPage, () => loadData()); watch(pageNumber, () => loadData()); async function loadData() { - const [response, data] = await store.fetchTypedFromServiceControl(`${props.apiUrl}?page=${pageNumber.value}&per_page=${itemsPerPage.value}`); + const [response, data] = await serviceControlClient.fetchTypedFromServiceControl(`${props.apiUrl}?page=${pageNumber.value}&per_page=${itemsPerPage.value}`); if (response.ok) { viewModel.value.totalCount = parseInt(response.headers.get("Total-Count") ?? "0"); viewModel.value.data = data; diff --git a/src/Frontend/src/components/BackendChecksNotifications.vue b/src/Frontend/src/components/BackendChecksNotifications.vue index d04a147fd..2273a3b91 100644 --- a/src/Frontend/src/components/BackendChecksNotifications.vue +++ b/src/Frontend/src/components/BackendChecksNotifications.vue @@ -7,22 +7,15 @@ import { useShowToast } from "@/composables/toast"; import { TYPE } from "vue-toastification"; import useConnectionsAndStatsAutoRefresh from "@/composables/useConnectionsAndStatsAutoRefresh"; import useEnvironmentAndVersionsAutoRefresh from "@/composables/useEnvironmentAndVersionsAutoRefresh"; -import { useServiceControlStore } from "@/stores/ServiceControlStore"; -import { storeToRefs } from "pinia"; -import { useMonitoringStore } from "@/stores/MonitoringStore"; +import serviceControlClient from "@/components/serviceControlClient"; +import monitoringClient from "./monitoring/monitoringClient"; const router = useRouter(); - const { store: connectionStore } = useConnectionsAndStatsAutoRefresh(); const connectionState = connectionStore.connectionState; const monitoringConnectionState = connectionStore.monitoringConnectionState; const { store: environmentStore } = useEnvironmentAndVersionsAutoRefresh(); const environment = environmentStore.environment; -const serviceControlStore = useServiceControlStore(); -const monitoringStore = useMonitoringStore(); -const { serviceControlUrl } = storeToRefs(serviceControlStore); -const { monitoringUrl, isMonitoringDisabled } = storeToRefs(monitoringStore); - const primaryConnectionFailure = computed(() => connectionState.unableToConnect); const monitoringConnectionFailure = computed(() => monitoringConnectionState.unableToConnect); @@ -31,16 +24,16 @@ watch(primaryConnectionFailure, (newValue, oldValue) => { if (newValue !== oldValue && !(oldValue === null && newValue === false)) { const connectionUrl = router.resolve(routeLinks.configuration.connections.link).href; if (newValue) { - useShowToast(TYPE.ERROR, "Error", `Could not connect to ServiceControl at ${serviceControlUrl.value}. View connection settings`); + useShowToast(TYPE.ERROR, "Error", `Could not connect to ServiceControl at ${serviceControlClient.url}. View connection settings`); } else { - useShowToast(TYPE.SUCCESS, "Success", `Connection to ServiceControl was successful at ${serviceControlUrl.value}.`); + useShowToast(TYPE.SUCCESS, "Success", `Connection to ServiceControl was successful at ${serviceControlClient.url}.`); } } }); watch(monitoringConnectionFailure, (newValue, oldValue) => { // Only watch the state change if monitoring is enabled - if (isMonitoringDisabled.value) { + if (monitoringClient.isMonitoringDisabled) { return; } @@ -48,9 +41,9 @@ watch(monitoringConnectionFailure, (newValue, oldValue) => { if (newValue !== oldValue && !(oldValue === null && newValue === false)) { const connectionUrl = router.resolve(routeLinks.configuration.connections.link).href; if (newValue) { - useShowToast(TYPE.ERROR, "Error", `Could not connect to the ServiceControl Monitoring service at ${monitoringUrl.value}. View connection settings`); + useShowToast(TYPE.ERROR, "Error", `Could not connect to the ServiceControl Monitoring service at ${monitoringClient.url}. View connection settings`); } else { - useShowToast(TYPE.SUCCESS, "Success", `Connection to ServiceControl Monitoring service was successful at ${monitoringUrl.value}.`); + useShowToast(TYPE.SUCCESS, "Success", `Connection to ServiceControl Monitoring service was successful at ${monitoringClient.url}.`); } } }); diff --git a/src/Frontend/src/components/PageFooter.vue b/src/Frontend/src/components/PageFooter.vue index b6f5a40d6..ecb826af4 100644 --- a/src/Frontend/src/components/PageFooter.vue +++ b/src/Frontend/src/components/PageFooter.vue @@ -6,11 +6,11 @@ import FAIcon from "@/components/FAIcon.vue"; import { faArrowTurnUp, faPlus } from "@fortawesome/free-solid-svg-icons"; import useConnectionsAndStatsAutoRefresh from "@/composables/useConnectionsAndStatsAutoRefresh"; import useEnvironmentAndVersionsAutoRefresh from "@/composables/useEnvironmentAndVersionsAutoRefresh"; -import { useServiceControlStore } from "@/stores/ServiceControlStore"; +import serviceControlClient from "@/components/serviceControlClient"; import { storeToRefs } from "pinia"; import { useConfigurationStore } from "@/stores/ConfigurationStore"; import { useLicenseStore } from "@/stores/LicenseStore"; -import { useMonitoringStore } from "@/stores/MonitoringStore"; +import monitoringClient from "./monitoring/monitoringClient"; const { store: connectionStore } = useConnectionsAndStatsAutoRefresh(); const connectionState = connectionStore.connectionState; @@ -18,23 +18,16 @@ const monitoringConnectionState = connectionStore.monitoringConnectionState; const { store: environmentAndVersionsStore } = useEnvironmentAndVersionsAutoRefresh(); const newVersions = environmentAndVersionsStore.newVersions; const environment = environmentAndVersionsStore.environment; -const serviceControlStore = useServiceControlStore(); -const monitoringStore = useMonitoringStore(); -const { serviceControlUrl } = storeToRefs(serviceControlStore); -const { monitoringUrl } = storeToRefs(monitoringStore); const licenseStore = useLicenseStore(); const { licenseStatus, license } = licenseStore; - -const isMonitoringEnabled = computed(() => { - return monitoringUrl.value !== "!" && monitoringUrl.value !== "" && monitoringUrl.value !== null && monitoringUrl.value !== undefined; -}); +const isMonitoringEnabled = monitoringClient.isMonitoringEnabled; const scAddressTooltip = computed(() => { - return `ServiceControl URL ${serviceControlUrl.value}`; + return `ServiceControl URL ${serviceControlClient.url}`; }); const scMonitoringAddressTooltip = computed(() => { - return `Monitoring URL ${monitoringUrl.value}`; + return `Monitoring URL ${monitoringClient.url}`; }); const configurationStore = useConfigurationStore(); diff --git a/src/Frontend/src/components/PageHeader.vue b/src/Frontend/src/components/PageHeader.vue index 0e46ff00a..e059894b2 100644 --- a/src/Frontend/src/components/PageHeader.vue +++ b/src/Frontend/src/components/PageHeader.vue @@ -12,17 +12,15 @@ import DashboardMenuItem from "@/components/dashboard/DashboardMenuItem.vue"; import FeedbackButton from "@/components/FeedbackButton.vue"; import ThroughputMenuItem from "@/views/throughputreport/ThroughputMenuItem.vue"; import AuditMenuItem from "./audit/AuditMenuItem.vue"; -import { useMonitoringStore } from "@/stores/MonitoringStore"; -import { storeToRefs } from "pinia"; +import monitoringClient from "@/components/monitoring/monitoringClient"; -const monitoringStore = useMonitoringStore(); -const { isMonitoringEnabled } = storeToRefs(monitoringStore); +const isMonitoringEnabled = monitoringClient.isMonitoringEnabled; // prettier-ignore const menuItems = computed( () => [ DashboardMenuItem, HeartbeatsMenuItem, - ...(isMonitoringEnabled.value ? [MonitoringMenuItem] : []), + ...(isMonitoringEnabled ? [MonitoringMenuItem] : []), AuditMenuItem, FailedMessagesMenuItem, CustomChecksMenuItem, diff --git a/src/Frontend/src/components/ServiceControlAvailable.vue b/src/Frontend/src/components/ServiceControlAvailable.vue index 04aef2ff2..b40c6dc31 100644 --- a/src/Frontend/src/components/ServiceControlAvailable.vue +++ b/src/Frontend/src/components/ServiceControlAvailable.vue @@ -2,13 +2,10 @@ import ConditionalRender from "@/components/ConditionalRender.vue"; import routeLinks from "@/router/routeLinks"; import useConnectionsAndStatsAutoRefresh from "@/composables/useConnectionsAndStatsAutoRefresh"; -import { useServiceControlStore } from "@/stores/ServiceControlStore"; -import { storeToRefs } from "pinia"; +import serviceControlClient from "@/components/serviceControlClient"; const { store: connectionStore } = useConnectionsAndStatsAutoRefresh(); const connectionState = connectionStore.connectionState; -const serviceControlStore = useServiceControlStore(); -const { serviceControlUrl } = storeToRefs(serviceControlStore);