diff --git a/src/components/forms/auth/LoginEmployeeForm.vue b/src/components/forms/auth/LoginEmployeeForm.vue index 7d63a477..68760221 100644 --- a/src/components/forms/auth/LoginEmployeeForm.vue +++ b/src/components/forms/auth/LoginEmployeeForm.vue @@ -10,6 +10,7 @@ import LoadButtonWhileAwait from "@/components/request/LoadButtonWhileAwait.vue" import { SessionUser } from "@/components/session/token/SessionUser.vue"; import TwoFactorVerify from "@/components/forms/auth/TwoFactorVerify.vue"; import { isPasskeySupported, authenticateWithPasskey } from "@/services/PasskeyAuthService.js"; +import { clearEdgeGatewayWorkspaceCache } from "@/services/edgeGateways.js"; const employees = ref([]); const { t } = useI18n(); @@ -52,6 +53,7 @@ const login = async () => { } // Save the token in the local storage + clearEdgeGatewayWorkspaceCache(); localStorage.setItem('token', data.token); // Redirect to the dashboard window.location.href = '/admin'; @@ -72,6 +74,7 @@ const loginWithPasskey = async () => { const result = await authenticateWithPasskey('employee', null, recaptchaToken); if (result.token) { + clearEdgeGatewayWorkspaceCache(); localStorage.setItem('token', result.token); window.location.href = '/admin'; return; diff --git a/src/components/forms/auth/LoginForm.vue b/src/components/forms/auth/LoginForm.vue index 4ce2fa4d..0d4a5875 100644 --- a/src/components/forms/auth/LoginForm.vue +++ b/src/components/forms/auth/LoginForm.vue @@ -9,6 +9,7 @@ import { parseError, clearErrors, addError, getError } from "@/components/reques import LoadButtonWhileAwait from "@/components/request/LoadButtonWhileAwait.vue"; import { isPasskeySupported, authenticateWithPasskey } from "@/services/PasskeyAuthService.js"; import TwoFactorVerify from "@/components/forms/auth/TwoFactorVerify.vue"; +import { clearEdgeGatewayWorkspaceCache } from "@/services/edgeGateways.js"; const { t } = useI18n(); @@ -68,6 +69,7 @@ const login = async () => { } // Save the token in the local storage + clearEdgeGatewayWorkspaceCache(); localStorage.setItem('token', data.token); // Set the success message successMessage.value = "Du er nu logget ind!" @@ -103,6 +105,7 @@ const loginWithPasskey = async () => { const result = await authenticateWithPasskey('user', customerNum, recaptchaToken); console.log('Passkey authentication result:', result); if (result.token) { + clearEdgeGatewayWorkspaceCache(); localStorage.setItem('token', result.token); successMessage.value = "Du er nu logget ind!"; setTimeout(() => { diff --git a/src/components/forms/auth/SubuserLoginForm.vue b/src/components/forms/auth/SubuserLoginForm.vue index 47177d06..344c83fa 100644 --- a/src/components/forms/auth/SubuserLoginForm.vue +++ b/src/components/forms/auth/SubuserLoginForm.vue @@ -9,6 +9,7 @@ import { SessionUser } from "@/components/session/token/SessionUser.vue"; import { isPasskeySupported, authenticateWithPasskey } from "@/services/PasskeyAuthService.js"; import { getSubuserPasswordPolicyError } from "@/services/subuserPasswordPolicy.js"; import TwoFactorVerify from "@/components/forms/auth/TwoFactorVerify.vue"; +import { clearEdgeGatewayWorkspaceCache } from "@/services/edgeGateways.js"; const { t } = useI18n(); @@ -69,6 +70,7 @@ const login = async () => { // Save the session token if (data.session) { + clearEdgeGatewayWorkspaceCache(); localStorage.setItem('token', data.session); localStorage.setItem('is_subuser', 'true'); window.location.reload(); @@ -97,6 +99,7 @@ const loginWithPasskey = async () => { // Subuser login returns 'session' token, user login returns 'token' const sessionToken = result.session || result.token; if (sessionToken) { + clearEdgeGatewayWorkspaceCache(); localStorage.setItem('token', sessionToken); localStorage.setItem('is_subuser', 'true'); // Reload the page to update the UI diff --git a/src/components/forms/auth/TwoFactorVerify.vue b/src/components/forms/auth/TwoFactorVerify.vue index 403083a6..4bedd8a8 100644 --- a/src/components/forms/auth/TwoFactorVerify.vue +++ b/src/components/forms/auth/TwoFactorVerify.vue @@ -5,6 +5,7 @@ import { useI18n } from 'vue-i18n'; import { verify2FA } from "@/services/TwoFactorAuthService.js"; import { parseError, getError, clearErrors } from "@/components/request/HandleGlobalError.vue"; import LoadButtonWhileAwait from "@/components/request/LoadButtonWhileAwait.vue"; +import { clearEdgeGatewayWorkspaceCache } from "@/services/edgeGateways.js"; const { t } = useI18n(); const router = useRouter(); @@ -43,9 +44,11 @@ const verify = async () => { // Handle the response based on user type if (props.userType === 'subuser' && result.session) { + clearEdgeGatewayWorkspaceCache(); localStorage.setItem('token', result.session); localStorage.setItem('is_subuser', 'true'); } else if (result.token) { + clearEdgeGatewayWorkspaceCache(); localStorage.setItem('token', result.token); localStorage.removeItem('is_subuser'); } diff --git a/src/components/session/Session.vue b/src/components/session/Session.vue index 0701de3a..1e04184d 100644 --- a/src/components/session/Session.vue +++ b/src/components/session/Session.vue @@ -2,6 +2,7 @@ import { ref } from 'vue' import axios from 'axios' import {API_URL} from "@/config.js"; +import { clearEdgeGatewayWorkspaceCache } from "@/services/edgeGateways.js"; export const currentDepartment = ref(null); export const selectDepartment = (department) => { @@ -31,6 +32,7 @@ export const exitSession = () => { } }); + clearEdgeGatewayWorkspaceCache(); localStorage.removeItem('token'); return result; }; diff --git a/src/components/session/token/SessionUser.vue b/src/components/session/token/SessionUser.vue index 452b0017..1f06f0a4 100644 --- a/src/components/session/token/SessionUser.vue +++ b/src/components/session/token/SessionUser.vue @@ -687,6 +687,7 @@ export const SessionUser = { * @param {number|null} customerNumber - The billing_customer_number to select, or null to clear */ selectGrant: (customerNumber) => { + clearEdgeGatewayWorkspaceCache(); if (customerNumber === null) { localStorage.removeItem("selected_customer_number"); SessionUser.subuser.selectedGrantCustomerNumber.value = null; diff --git a/src/components/session/token/superUserObject.vue b/src/components/session/token/superUserObject.vue index fff829dd..b114b053 100644 --- a/src/components/session/token/superUserObject.vue +++ b/src/components/session/token/superUserObject.vue @@ -1,6 +1,7 @@