From 3b8f18093ead2a988b2b19d1e8f25db6eaeaaee8 Mon Sep 17 00:00:00 2001 From: Blake Matthes Date: Wed, 19 Mar 2025 17:12:27 -0500 Subject: [PATCH] refactor(stores): added in axios --- frontend/src/lib/store/sessionStore.ts | 8 +++++++- frontend/src/lib/store/useGetRoles.ts | 12 +++--------- frontend/src/lib/store/useModuleStore.ts | 11 +++-------- 3 files changed, 13 insertions(+), 18 deletions(-) diff --git a/frontend/src/lib/store/sessionStore.ts b/frontend/src/lib/store/sessionStore.ts index 5d8d425..669320e 100644 --- a/frontend/src/lib/store/sessionStore.ts +++ b/frontend/src/lib/store/sessionStore.ts @@ -1,4 +1,5 @@ import {User} from "@/types/users"; +import axios from "axios"; import {create} from "zustand"; export type SessionState = { @@ -16,9 +17,14 @@ export const useSessionStore = create((set) => { user: null, // User is NOT stored in localStorage token: storedToken || null, - setSession: (user, token) => { + setSession: async (user: any, token) => { if (token) { localStorage.setItem("auth_token", token); + const response = await axios.get("/api/auth/getuseraccess", { + headers: {Authorization: `Bearer ${token}`}, + }); + const data = response.data; //await response.json(); + user = {...user, roles: data.data}; } else { localStorage.removeItem("auth_token"); } diff --git a/frontend/src/lib/store/useGetRoles.ts b/frontend/src/lib/store/useGetRoles.ts index 33db34e..14dd474 100644 --- a/frontend/src/lib/store/useGetRoles.ts +++ b/frontend/src/lib/store/useGetRoles.ts @@ -1,6 +1,7 @@ import {create} from "zustand"; import {useSessionStore} from "./sessionStore"; import {Modules} from "@/types/modules"; +import axios from "axios"; interface SettingState { userRoles: Modules[]; @@ -19,15 +20,8 @@ export const useGetUserRoles = create()((set) => ({ try { //const response = await axios.get<{data: Setting[]}>(`${process.env.NEXT_PUBLIC_URL}/api/settings/client`); const {token} = useSessionStore(); - const response = await fetch(`/api/auth/getuseraccess`, { - method: "GET", - headers: { - "Content-Type": "application/json", - Authentication: `Beaer ${token}`, - // You can add other headers here if necessary - }, - }); - const data: FetchModulesResponse = await response.json(); + const response = await axios.get("/api/auth/getuseraccess", {headers: {Authorization: `Bearer ${token}`}}); + const data: FetchModulesResponse = response.data; //await response.json(); //console.log(data); set({userRoles: data.data}); } catch (error) { diff --git a/frontend/src/lib/store/useModuleStore.ts b/frontend/src/lib/store/useModuleStore.ts index 2ed296a..7cea4bc 100644 --- a/frontend/src/lib/store/useModuleStore.ts +++ b/frontend/src/lib/store/useModuleStore.ts @@ -1,4 +1,5 @@ import {Modules} from "@/types/modules"; +import axios from "axios"; import {create} from "zustand"; interface SettingState { @@ -17,14 +18,8 @@ export const useModuleStore = create()((set) => ({ fetchModules: async () => { try { //const response = await axios.get<{data: Setting[]}>(`${process.env.NEXT_PUBLIC_URL}/api/settings/client`); - const response = await fetch(`/api/server/modules`, { - method: "GET", - headers: { - "Content-Type": "application/json", - // You can add other headers here if necessary - }, - }); - const data: FetchModulesResponse = await response.json(); + const response = await axios.get(`/api/server/modules`, {}); + const data: FetchModulesResponse = response.data; //await response.json(); //console.log(data); set({modules: data.data}); } catch (error) {