diff --git a/plugins/auth-init.client.ts b/plugins/auth-init.client.ts index 68affde..6eedbe0 100644 --- a/plugins/auth-init.client.ts +++ b/plugins/auth-init.client.ts @@ -1,4 +1,9 @@ export default defineNuxtPlugin(async () => { const auth = useAuthStore() - await auth.init() + + console.log("Auth init") + + await auth.initStore() + + }) \ No newline at end of file diff --git a/stores/auth.ts b/stores/auth.ts index 864d6e0..052a66d 100644 --- a/stores/auth.ts +++ b/stores/auth.ts @@ -11,28 +11,11 @@ export const useAuthStore = defineStore("auth", { activeTenant: null as any, activeTenantData: null as any, loading: true as boolean, + notLoggedIn: true, }), actions: { - async init(token) { - await this.fetchMe(token) - - const tempStore = useTempStore() - - if(this.profile.temp_config) tempStore.setStoredTempConfig(this.profile.temp_config) - - if(useCapacitor().getIsNative()) { - navigateTo("/mobile") - } else { - navigateTo("/") - } - }, - - async login(email: string, password: string) { - const { token } = await useNuxtApp().$api("/auth/login", { - method: "POST", - body: { email, password } - }) + async persist(token) { if(useCapacitor().getIsNative()) { console.log("On Native") await Preferences.set({ @@ -46,10 +29,54 @@ export const useAuthStore = defineStore("auth", { useCookie("token").value = token // persistieren } + }, + + async initStore() { + console.log("Auth initStore") + await this.fetchMe() + + const tempStore = useTempStore() + + if(this.profile.temp_config) tempStore.setStoredTempConfig(this.profile.temp_config) + if(this.activeTenant > 0) { + this.loading = false + if(useCapacitor().getIsNative()) { + navigateTo("/mobile") + } else { + navigateTo("/") + } + } + }, + + async init(token=null) { + console.log("Auth init") + await this.fetchMe(token) + + const tempStore = useTempStore() + + if(this.profile.temp_config) tempStore.setStoredTempConfig(this.profile.temp_config) + if(this.activeTenant > 0) { + this.loading = false + if(useCapacitor().getIsNative()) { + navigateTo("/mobile") + } else { + navigateTo("/") + } + } + }, + + async login(email: string, password: string) { + console.log("Auth login") + const { token } = await useNuxtApp().$api("/auth/login", { + method: "POST", + body: { email, password } + }) + console.log(token) await this.fetchMe(token) }, async logout() { + console.log("Auth logout") try { await useNuxtApp().$api("/auth/logout", { method: "POST" }) } catch (e) { @@ -71,6 +98,7 @@ export const useAuthStore = defineStore("auth", { }, async fetchMe(jwt= null) { + console.log("Auth fetchMe") try { const me = await useNuxtApp().$api("/api/me", { headers: { Authorization: `Bearer ${jwt}`, @@ -92,7 +120,6 @@ export const useAuthStore = defineStore("auth", { if(me.activeTenant > 0) { this.activeTenant = me.activeTenant this.activeTenantData = me.tenants.find(i => i.id === me.activeTenant) - this.loading = false } else { @@ -105,6 +132,7 @@ export const useAuthStore = defineStore("auth", { }, async switchTenant(tenant_id: string) { + console.log("Auth switchTenant") this.loading = true const res = await useNuxtApp().$api("/api/tenant/switch", { method: "POST", @@ -124,11 +152,6 @@ export const useAuthStore = defineStore("auth", { } await this.init(token) - if(useCapacitor().getIsNative()) { - navigateTo("/mobile") - } else { - navigateTo("/") - } }, hasPermission(key: string) {