From 6df9f0d6da71f7a1210334ca9dfd7d83d6b22b51 Mon Sep 17 00:00:00 2001 From: EgleH Date: Wed, 8 Feb 2023 13:29:04 +0100 Subject: [PATCH] Bug/sp user check before sp delete (#198) * fix bug where you could not delete carriers and speech * remove activeSP from localstore after delete --------- Co-authored-by: EgleHelms --- src/containers/internal/views/carriers/index.tsx | 7 +++---- .../internal/views/settings/service-provider-settings.tsx | 2 ++ src/containers/internal/views/speech-services/index.tsx | 7 +++---- src/store/localStore.ts | 4 ++++ 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/containers/internal/views/carriers/index.tsx b/src/containers/internal/views/carriers/index.tsx index 01c58f5..e4c808b 100644 --- a/src/containers/internal/views/carriers/index.tsx +++ b/src/containers/internal/views/carriers/index.tsx @@ -49,7 +49,8 @@ export const Carriers = () => { const carriersFiltered = useMemo(() => { setAccountSid(getAccountFilter()); - if (user?.scope === USER_ACCOUNT) { + if (user?.account_sid && user?.scope === USER_ACCOUNT) { + setAccountSid(user?.account_sid); return carriers; } @@ -119,9 +120,7 @@ export const Carriers = () => { useEffect(() => { setLocation(); - if (accountSid) { - setApiUrl(`Accounts/${accountSid}/VoipCarriers`); - } else if (currentServiceProvider) { + if (currentServiceProvider) { setApiUrl( `ServiceProviders/${currentServiceProvider.service_provider_sid}/VoipCarriers` ); diff --git a/src/containers/internal/views/settings/service-provider-settings.tsx b/src/containers/internal/views/settings/service-provider-settings.tsx index 782ff99..f559109 100644 --- a/src/containers/internal/views/settings/service-provider-settings.tsx +++ b/src/containers/internal/views/settings/service-provider-settings.tsx @@ -14,6 +14,7 @@ import { Modal } from "src/components"; import { Checkzone, LocalLimits } from "src/components/forms"; import { withSelectState } from "src/utils"; import type { Limit, ServiceProvider } from "src/api/types"; +import { removeActiveSP } from "src/store/localStore"; export type ServiceProviderSettingsProps = { serviceProviders: ServiceProvider[]; @@ -94,6 +95,7 @@ export const ServiceProviderSettings = ({ {currentServiceProvider.name} ); + removeActiveSP(); }) .catch((error) => { toastError(error.msg); diff --git a/src/containers/internal/views/speech-services/index.tsx b/src/containers/internal/views/speech-services/index.tsx index ea8bda8..bd981d6 100644 --- a/src/containers/internal/views/speech-services/index.tsx +++ b/src/containers/internal/views/speech-services/index.tsx @@ -39,7 +39,8 @@ export const SpeechServices = () => { const credentialsFiltered = useMemo(() => { setAccountSid(getAccountFilter()); - if (user?.scope === USER_ACCOUNT) { + if (user?.account_sid && user?.scope === USER_ACCOUNT) { + setAccountSid(user?.account_sid); return credentials; } @@ -86,9 +87,7 @@ export const SpeechServices = () => { useEffect(() => { setLocation(); - if (accountSid) { - setApiUrl(`Accounts/${accountSid}/SpeechCredentials`); - } else if (currentServiceProvider) { + if (currentServiceProvider) { setApiUrl( `ServiceProviders/${currentServiceProvider?.service_provider_sid}/SpeechCredentials` ); diff --git a/src/store/localStore.ts b/src/store/localStore.ts index 9f9cc4c..799cf56 100644 --- a/src/store/localStore.ts +++ b/src/store/localStore.ts @@ -14,6 +14,10 @@ export const setActiveSP = (sid: string) => { localStorage.setItem(storeActiveSP, sid); }; +export const removeActiveSP = () => { + localStorage.removeItem(storeActiveSP); +}; + /** * The key used to store active Filter in localStorage */