Fix error with refreshing app package so that page reload on logout can be prevented

This commit is contained in:
Andrew Kingston 2021-07-25 13:43:07 +01:00
parent e74d9a7312
commit 95d05c8a8e
2 changed files with 23 additions and 3 deletions

View File

@ -6,8 +6,15 @@ const createAppStore = () => {
// Fetches the app definition including screens, layouts and theme
const fetchAppDefinition = async () => {
const appDefinition = await API.fetchAppPackage(get(store).appId)
store.set(appDefinition)
const appId = get(store)?.appId
if (!appId) {
throw "Cannot fetch app definition without app ID set"
}
const appDefinition = await API.fetchAppPackage(appId)
store.set({
...appDefinition,
appId: appDefinition?.application?.appId,
})
}
// Sets the initial app ID

View File

@ -1,9 +1,20 @@
import * as API from "../api"
import { writable } from "svelte/store"
import { initialise } from "./initialise"
import { routeStore } from "./routes"
const createAuthStore = () => {
const store = writable(null)
const goToDefaultRoute = () => {
// Setting the active route forces an update of the active screen ID,
// even if we're on the same URL
routeStore.actions.setActiveRoute("/")
// Navigating updates the URL to reflect this route
routeStore.actions.navigate("/")
}
// Fetches the user object if someone is logged in and has reloaded the page
const fetchUser = async () => {
const user = await API.fetchSelf()
@ -11,8 +22,10 @@ const createAuthStore = () => {
}
const logOut = async () => {
store.set(null)
window.document.cookie = `budibase:auth=; budibase:currentapp=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;`
window.location.reload()
await initialise()
goToDefaultRoute()
}
return {