Browse Source

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

pull/2087/head
Andrew Kingston 5 years ago
parent
commit
59bfba4331
  1. 11
      packages/client/src/store/app.js
  2. 15
      packages/client/src/store/auth.js

11
packages/client/src/store/app.js

@ -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

15
packages/client/src/store/auth.js

@ -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 {

Loading…
Cancel
Save