better approach to missing privileges

This commit is contained in:
Henry Jameson 2025-06-18 17:49:22 +03:00
commit 70c89b0cb9
7 changed files with 9 additions and 9 deletions

View file

@ -29,7 +29,7 @@ const Announcement = {
currentUser: state => state.users.currentUser currentUser: state => state.users.currentUser
}), }),
canEditAnnouncement () { canEditAnnouncement () {
return this.currentUser && this.currentUser.privileges?.includes('announcements_manage_announcements') return this.currentUser && this.currentUser.privileges.includes('announcements_manage_announcements')
}, },
content () { content () {
return this.announcement.content return this.announcement.content

View file

@ -16,7 +16,7 @@ const Interactions = {
return { return {
allowFollowingMove: this.$store.state.users.currentUser.allow_following_move, allowFollowingMove: this.$store.state.users.currentUser.allow_following_move,
filterMode: tabModeDict.mentions, filterMode: tabModeDict.mentions,
canSeeReports: this.$store.state.users.currentUser.privileges?.includes('reports_manage_reports') canSeeReports: this.$store.state.users.currentUser.privileges.includes('reports_manage_reports')
} }
}, },
methods: { methods: {

View file

@ -59,7 +59,7 @@ const ModerationTools = {
return this.tagsSet.has(tagName) return this.tagsSet.has(tagName)
}, },
privileged (privilege) { privileged (privilege) {
return this.$store.state.users.currentUser.privileges?.includes(privilege) return this.$store.state.users.currentUser.privileges.includes(privilege)
}, },
toggleTag (tag) { toggleTag (tag) {
const store = this.$store const store = this.$store

View file

@ -204,7 +204,7 @@ export const BUTTONS = [{
if ({ status, loggedIn, currentUser }) { if ({ status, loggedIn, currentUser }) {
return loggedIn && ( return loggedIn && (
status.user.id === currentUser.id || status.user.id === currentUser.id ||
currentUser.privileges?.includes('messages_delete') currentUser.privileges.includes('messages_delete')
) )
}, },
confirm: ({ getters }) => getters.mergedConfig.modalOnDelete, confirm: ({ getters }) => getters.mergedConfig.modalOnDelete,

View file

@ -135,9 +135,9 @@ export default {
showModerationMenu () { showModerationMenu () {
const privileges = this.loggedIn.privileges const privileges = this.loggedIn.privileges
return this.loggedIn.role === 'admin' || return this.loggedIn.role === 'admin' ||
privileges?.includes('users_manage_activation_state') || privileges.includes('users_manage_activation_state') ||
privileges?.includes('users_delete')|| privileges.includes('users_delete')||
privileges?.includes('users_manage_tags') privileges.includes('users_manage_tags')
}, },
hasNote () { hasNote () {
return this.relationship.note return this.relationship.note

View file

@ -129,7 +129,7 @@ export const parseUser = (data) => {
output.birthday = data.pleroma.birthday output.birthday = data.pleroma.birthday
if (data.pleroma.privileges) { if (data.pleroma.privileges) {
output.privileges = data.pleroma.privileges output.privileges = data.pleroma.privileges ?? []
} else if (data.pleroma.is_admin) { } else if (data.pleroma.is_admin) {
output.privileges = [ output.privileges = [
'users_read', 'users_read',

View file

@ -25,7 +25,7 @@ export const useAnnouncementsStore = defineStore('announcements', {
} }
const currentUser = window.vuex.state.users.currentUser const currentUser = window.vuex.state.users.currentUser
const isAdmin = currentUser && currentUser.privileges?.includes('announcements_manage_announcements') const isAdmin = currentUser && currentUser.privileges.includes('announcements_manage_announcements')
const getAnnouncements = async () => { const getAnnouncements = async () => {
if (!isAdmin) { if (!isAdmin) {