From 4b9bb6157aeac3b382020814d8f7097cc133738c Mon Sep 17 00:00:00 2001 From: Nic D Date: Thu, 5 Feb 2026 13:23:43 -0500 Subject: [PATCH] fix(auth): change logout behavior, now sends success code when logout request is processed --- src/layouts/components/main-layout-left-drawer.vue | 8 +++----- src/modules/auth/composables/use-auth-api.ts | 6 ++++-- src/modules/auth/services/services-auth.ts | 4 ++-- src/modules/timesheets/components/expense-dialog-form.vue | 2 ++ src/stores/auth-store.ts | 8 ++------ 5 files changed, 13 insertions(+), 15 deletions(-) diff --git a/src/layouts/components/main-layout-left-drawer.vue b/src/layouts/components/main-layout-left-drawer.vue index 498d4cf..61cd63b 100644 --- a/src/layouts/components/main-layout-left-drawer.vue +++ b/src/layouts/components/main-layout-left-drawer.vue @@ -9,6 +9,7 @@ import { useUiStore } from 'src/stores/ui-store'; import { RouteNames } from 'src/router/router-constants'; import { ModuleNames, type UserModuleAccess } from 'src/modules/shared/models/user.models'; +import { useAuthApi } from 'src/modules/auth/composables/use-auth-api'; const DRAWER_BUTTONS: { i18n_key: string, icon: string, route: RouteNames, required_module?: UserModuleAccess }[] = [ { i18n_key: 'nav_bar.home', icon: "home", route: RouteNames.DASHBOARD, required_module: ModuleNames.DASHBOARD }, @@ -21,6 +22,7 @@ const q = useQuasar(); const auth_store = useAuthStore(); + const authApi = useAuthApi(); const ui_store = useUiStore(); const router = useRouter(); const is_mini = ref(true); @@ -34,11 +36,7 @@ }; const handleLogout = () => { - auth_store.logout(); - - router.push({ name: 'login' }).catch(err => { - console.error('could not log you out: ', err); - }) + authApi.logout(); }; onMounted(() => { diff --git a/src/modules/auth/composables/use-auth-api.ts b/src/modules/auth/composables/use-auth-api.ts index 531c3a5..1cea1e2 100644 --- a/src/modules/auth/composables/use-auth-api.ts +++ b/src/modules/auth/composables/use-auth-api.ts @@ -11,8 +11,10 @@ export const useAuthApi = () => { authStore.oidcLogin(); }; - const logout = () => { - authStore.logout(); + const logout = async () => { + authStore.user = undefined; + await authStore.logout(); + window.location.href = "https://auth.targo.ca/application/o/montargo/end-session/"; }; return { diff --git a/src/modules/auth/services/services-auth.ts b/src/modules/auth/services/services-auth.ts index 5caaa4f..5dfc2e2 100644 --- a/src/modules/auth/services/services-auth.ts +++ b/src/modules/auth/services/services-auth.ts @@ -8,9 +8,9 @@ export const AuthService = { //TODO: OIDC customer sign-in, eventually }, - logout: () => { + logout: async () => { // TODO: logout logic - api.post('/auth/logout') + await api.post('/auth/logout'); }, refreshToken: () => { diff --git a/src/modules/timesheets/components/expense-dialog-form.vue b/src/modules/timesheets/components/expense-dialog-form.vue index 8324b65..197b938 100644 --- a/src/modules/timesheets/components/expense-dialog-form.vue +++ b/src/modules/timesheets/components/expense-dialog-form.vue @@ -258,6 +258,8 @@ dense stack-label label-slot + type="file" + accept="image/*" >