2023-12-19 18:57:31 +01:00
|
|
|
import {fetchAllWorkspaces} from "~/stores/workspaces.js";
|
2024-01-25 05:12:45 +01:00
|
|
|
import {opnFetch} from "~/composables/useOpnApi.js";
|
2023-12-19 13:46:55 +01:00
|
|
|
|
2023-12-16 19:21:03 +01:00
|
|
|
export default defineNuxtRouteMiddleware(async(to, from) => {
|
|
|
|
|
const authStore = useAuthStore()
|
|
|
|
|
authStore.initStore(useCookie('token').value, useCookie('admin_token').value)
|
|
|
|
|
|
|
|
|
|
if (authStore.token && !authStore.user) {
|
2023-12-19 18:57:31 +01:00
|
|
|
const workspaceStore = useWorkspacesStore()
|
2024-01-25 05:12:45 +01:00
|
|
|
|
|
|
|
|
// Load user data and workspaces
|
|
|
|
|
const [userDataResponse, workspacesResponse] = await Promise.all([useOpnApi('user'), fetchAllWorkspaces()]);
|
|
|
|
|
authStore.setUser(userDataResponse.data.value)
|
|
|
|
|
workspaceStore.save(workspacesResponse.data.value)
|
2023-12-16 19:21:03 +01:00
|
|
|
}
|
|
|
|
|
})
|