Merge branch 'beta' into 'main'
Beta See merge request fedeo/software!32
This commit is contained in:
@@ -3,26 +3,4 @@ version: "3"
|
||||
services:
|
||||
web:
|
||||
image: reg.federspiel.software/fedeo/software:beta
|
||||
restart: always
|
||||
# networks:
|
||||
# - traefik
|
||||
environment:
|
||||
NUXT_PUBLIC_API_BASE: "https://backend.fedeo.io"
|
||||
# labels:
|
||||
# - "traefik.enable=true"
|
||||
# - "traefik.docker.network=traefik"
|
||||
# - "traefik.port=3000"
|
||||
# # Middlewares
|
||||
# - "traefik.http.middlewares.spaces-frontend-redirect-web-secure.redirectscheme.scheme=https"
|
||||
# # Web Entrypoint
|
||||
# - "traefik.http.routers.spaces-frontend.middlewares=spaces-frontend-redirect-web-secure"
|
||||
# - "traefik.http.routers.spaces-frontend.rule=Host(`app.spaces.software`)"
|
||||
# - "traefik.http.routers.spaces-frontend.entrypoints=web"
|
||||
# # Web Secure Entrypoint
|
||||
# - "traefik.http.routers.spaces-frontend-secure.rule=Host(`app.spaces.software`)"
|
||||
# - "traefik.http.routers.spaces-frontend-secure.entrypoints=web-secured" #
|
||||
# - "traefik.http.routers.spaces-frontend-secure.tls.certresolver=mytlschallenge"
|
||||
|
||||
#networks:
|
||||
# traefik:
|
||||
# external: true
|
||||
restart: always
|
||||
@@ -1,4 +1,9 @@
|
||||
export default defineNuxtPlugin(async () => {
|
||||
const auth = useAuthStore()
|
||||
await auth.init()
|
||||
|
||||
console.log("Auth init")
|
||||
|
||||
await auth.initStore()
|
||||
|
||||
|
||||
})
|
||||
@@ -11,41 +11,72 @@ export const useAuthStore = defineStore("auth", {
|
||||
activeTenant: null as any,
|
||||
activeTenantData: null as any,
|
||||
loading: true as boolean,
|
||||
notLoggedIn: true,
|
||||
}),
|
||||
|
||||
actions: {
|
||||
async init(token) {
|
||||
async persist(token) {
|
||||
if(useCapacitor().getIsNative()) {
|
||||
console.log("On Native")
|
||||
await Preferences.set({
|
||||
key:"token",
|
||||
value: token,
|
||||
})
|
||||
useCookie("token").value = token // persistieren
|
||||
|
||||
} else {
|
||||
console.log("On Web")
|
||||
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(useCapacitor().getIsNative()) {
|
||||
navigateTo("/mobile")
|
||||
} else {
|
||||
navigateTo("/")
|
||||
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 }
|
||||
})
|
||||
if(useCapacitor().getIsNative()) {
|
||||
await Preferences.set({
|
||||
key:"token",
|
||||
value: token,
|
||||
})
|
||||
} else {
|
||||
useCookie("token").value = token // persistieren
|
||||
|
||||
}
|
||||
console.log(token)
|
||||
await this.fetchMe(token)
|
||||
},
|
||||
|
||||
async logout() {
|
||||
console.log("Auth logout")
|
||||
try {
|
||||
await useNuxtApp().$api("/auth/logout", { method: "POST" })
|
||||
} catch (e) {
|
||||
@@ -67,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}`,
|
||||
@@ -88,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 {
|
||||
|
||||
@@ -101,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",
|
||||
@@ -120,11 +152,6 @@ export const useAuthStore = defineStore("auth", {
|
||||
|
||||
}
|
||||
await this.init(token)
|
||||
if(useCapacitor().getIsNative()) {
|
||||
navigateTo("/mobile")
|
||||
} else {
|
||||
navigateTo("/")
|
||||
}
|
||||
},
|
||||
|
||||
hasPermission(key: string) {
|
||||
|
||||
Reference in New Issue
Block a user