fix: add can_view_cloud_data to login and profile API responses
- Add can_view_cloud_data field to auth login response - Add can_view_cloud_data field to agent profile response - Fetch latest user permissions from /agent/profile on agent layout mount - Update localStorage with latest can_view_cloud_data value
This commit is contained in:
@@ -9,6 +9,7 @@ import TeamSwitcher from '@/components/app-sidebar/team-switcher.vue'
|
||||
import LanguageChange from '@/components/language-change.vue'
|
||||
import ThemePopover from '@/components/custom-theme/theme-popover.vue'
|
||||
import ToggleTheme from '@/components/toggle-theme.vue'
|
||||
import api from '@/services/api'
|
||||
|
||||
const router = useRouter()
|
||||
const { t } = useI18n()
|
||||
@@ -21,7 +22,7 @@ const user = reactive({
|
||||
can_view_cloud_data: false,
|
||||
})
|
||||
|
||||
onMounted(() => {
|
||||
onMounted(async () => {
|
||||
const storedUser = localStorage.getItem('user')
|
||||
if (storedUser) {
|
||||
try {
|
||||
@@ -36,6 +37,26 @@ onMounted(() => {
|
||||
console.error('Failed to parse user from localStorage', e)
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
const data = await api.get<any>('/agent/profile')
|
||||
if (data) {
|
||||
user.name = data.username || user.name
|
||||
user.email = data.email || user.email
|
||||
user.avatar = data.avatar || user.avatar
|
||||
user.can_view_cloud_data = data.can_view_cloud_data || false
|
||||
const storedUser = localStorage.getItem('user')
|
||||
if (storedUser) {
|
||||
const parsed = JSON.parse(storedUser)
|
||||
parsed.can_view_cloud_data = data.can_view_cloud_data || false
|
||||
parsed.username = data.username || parsed.username
|
||||
localStorage.setItem('user', JSON.stringify(parsed))
|
||||
}
|
||||
}
|
||||
}
|
||||
catch {
|
||||
// ignore
|
||||
}
|
||||
})
|
||||
|
||||
const teams = [
|
||||
|
||||
Reference in New Issue
Block a user