Fixing app count in user page.

This commit is contained in:
mike12345567 2025-02-24 15:34:30 +00:00
parent 84a1ccfc4c
commit f5a7e5bf49
2 changed files with 12 additions and 1 deletions

View File

@ -128,7 +128,7 @@
$auth.user?.email === user.email
? false
: true,
apps: [...new Set(Object.keys(user.roles))],
apps: sdk.users.userAppAccessList(user, $groups),
access: role.sortOrder,
}
})

View File

@ -4,6 +4,7 @@ import {
SEPARATOR,
User,
InternalTable,
UserGroup,
} from "@budibase/types"
import { getProdAppID } from "./applications"
import * as _ from "lodash/fp"
@ -129,3 +130,13 @@ export function containsUserID(value: string | undefined): boolean {
}
return value.includes(`${DocumentType.USER}${SEPARATOR}`)
}
export function userAppAccessList(user: User, groups?: UserGroup[]) {
const userGroups =
groups?.filter(group => group.users?.find(u => u._id === user._id)) || []
const userGroupApps = userGroups.flatMap(userGroup =>
Object.keys(userGroup.roles || {})
)
const fullList = [...Object.keys(user.roles), ...userGroupApps]
return [...new Set(fullList)]
}