Merge branch 'devCorrected' into 'beta'

Changed Auth

See merge request fedeo/software!31
This commit is contained in:
2025-11-09 19:28:08 +00:00
2 changed files with 54 additions and 26 deletions

View File

@@ -1,4 +1,9 @@
export default defineNuxtPlugin(async () => { export default defineNuxtPlugin(async () => {
const auth = useAuthStore() const auth = useAuthStore()
await auth.init()
console.log("Auth init")
await auth.initStore()
}) })

View File

@@ -11,28 +11,11 @@ export const useAuthStore = defineStore("auth", {
activeTenant: null as any, activeTenant: null as any,
activeTenantData: null as any, activeTenantData: null as any,
loading: true as boolean, loading: true as boolean,
notLoggedIn: true,
}), }),
actions: { actions: {
async init(token) { async persist(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 }
})
if(useCapacitor().getIsNative()) { if(useCapacitor().getIsNative()) {
console.log("On Native") console.log("On Native")
await Preferences.set({ await Preferences.set({
@@ -46,10 +29,54 @@ export const useAuthStore = defineStore("auth", {
useCookie("token").value = token // persistieren 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) await this.fetchMe(token)
}, },
async logout() { async logout() {
console.log("Auth logout")
try { try {
await useNuxtApp().$api("/auth/logout", { method: "POST" }) await useNuxtApp().$api("/auth/logout", { method: "POST" })
} catch (e) { } catch (e) {
@@ -71,6 +98,7 @@ export const useAuthStore = defineStore("auth", {
}, },
async fetchMe(jwt= null) { async fetchMe(jwt= null) {
console.log("Auth fetchMe")
try { try {
const me = await useNuxtApp().$api("/api/me", { const me = await useNuxtApp().$api("/api/me", {
headers: { Authorization: `Bearer ${jwt}`, headers: { Authorization: `Bearer ${jwt}`,
@@ -92,7 +120,6 @@ export const useAuthStore = defineStore("auth", {
if(me.activeTenant > 0) { if(me.activeTenant > 0) {
this.activeTenant = me.activeTenant this.activeTenant = me.activeTenant
this.activeTenantData = me.tenants.find(i => i.id === me.activeTenant) this.activeTenantData = me.tenants.find(i => i.id === me.activeTenant)
this.loading = false
} else { } else {
@@ -105,6 +132,7 @@ export const useAuthStore = defineStore("auth", {
}, },
async switchTenant(tenant_id: string) { async switchTenant(tenant_id: string) {
console.log("Auth switchTenant")
this.loading = true this.loading = true
const res = await useNuxtApp().$api("/api/tenant/switch", { const res = await useNuxtApp().$api("/api/tenant/switch", {
method: "POST", method: "POST",
@@ -124,11 +152,6 @@ export const useAuthStore = defineStore("auth", {
} }
await this.init(token) await this.init(token)
if(useCapacitor().getIsNative()) {
navigateTo("/mobile")
} else {
navigateTo("/")
}
}, },
hasPermission(key: string) { hasPermission(key: string) {