Files
windmill/frontend/src/lib/refreshUser.ts
T
Diego Imbert fd326f6b24 Fix superadmins frontend issue (#7712)
* Fix superadmins bug

* simpler
2026-01-28 12:35:00 +00:00

26 lines
874 B
TypeScript

import { get } from 'svelte/store'
import { CancelablePromise, UserService, type GlobalUserInfo } from '$lib/gen'
import { superadmin, devopsRole } from './stores.js'
let promise: CancelablePromise<GlobalUserInfo> | null = null
async function _refreshSuperadmin(): Promise<void> {
let shouldFetch = get(superadmin) == undefined || get(devopsRole) == undefined
if (!shouldFetch) return undefined
promise?.cancel()
promise = UserService.globalWhoami()
try {
const me = await promise
superadmin.set(me.super_admin ? me.email : false)
devopsRole.set(me.devops || me.super_admin ? me.email : false)
} catch (error) {
superadmin.set(false)
devopsRole.set(false)
console.error('error refreshing superadmin/devops role', error)
}
promise = null
}
export const refreshSuperadmin = Object.assign(_refreshSuperadmin, {
cancel: () => promise?.cancel() as void
})