chore(mock): fixes permissions for mock server

This commit is contained in:
Jacob Overgaard
2025-01-20 14:46:18 +01:00
parent 0e06c47ed7
commit 081858f627
3 changed files with 15 additions and 9 deletions

View File

@@ -9,7 +9,6 @@ export const data: Array<UmbMockUserGroupModel> = [
name: 'Administrators',
alias: 'admin',
icon: 'icon-medal',
documentStartNode: { id: 'all-property-editors-document-id' },
fallbackPermissions: [
'Umb.Document.Read',
'Umb.Document.Create',
@@ -27,13 +26,7 @@ export const data: Array<UmbMockUserGroupModel> = [
'Umb.Document.PublicAccess',
'Umb.Document.Rollback',
],
permissions: [
{
$type: 'DocumentPermissionPresentationModel',
verbs: ['Umb.Document.Rollback'],
document: { id: 'simple-document-id' },
},
],
permissions: [],
sections: [
UMB_CONTENT_SECTION_ALIAS,
'Umb.Section.Media',

View File

@@ -50,6 +50,16 @@ export class UmbUserGroupMockDB extends UmbEntityMockDbBase<UmbMockUserGroupMode
return uniqueArray;
}
getFallbackPermissions(userGroupIds: Array<{ id: string }>): string[] {
const fallbackPermissions = this.data
.filter((userGroup) => userGroupIds.map((reference) => reference.id).includes(userGroup.id))
.map((userGroup) => (userGroup.fallbackPermissions?.length ? userGroup.fallbackPermissions : []))
.flat();
// Remove duplicates
return Array.from(new Set(fallbackPermissions));
}
getAllowedSections(userGroupIds: Array<{ id: string }>): string[] {
const sections = this.data
.filter((userGroup) => userGroupIds.map((reference) => reference.id).includes(userGroup.id))

View File

@@ -64,6 +64,9 @@ class UmbUserMockDB extends UmbEntityMockDbBase<UmbMockUserModel> {
getCurrentUser(): CurrentUserResponseModel {
const firstUser = this.data[0];
const permissions = firstUser.userGroupIds?.length ? umbUserGroupMockDb.getPermissions(firstUser.userGroupIds) : [];
const fallbackPermissions = firstUser.userGroupIds?.length
? umbUserGroupMockDb.getFallbackPermissions(firstUser.userGroupIds)
: [];
const allowedSections = firstUser.userGroupIds?.length
? umbUserGroupMockDb.getAllowedSections(firstUser.userGroupIds)
: [];
@@ -82,7 +85,7 @@ class UmbUserMockDB extends UmbEntityMockDbBase<UmbMockUserModel> {
mediaStartNodeIds: firstUser.mediaStartNodeIds,
hasDocumentRootAccess: firstUser.hasDocumentRootAccess,
hasMediaRootAccess: firstUser.hasMediaRootAccess,
fallbackPermissions: [],
fallbackPermissions,
permissions,
allowedSections,
isAdmin: firstUser.isAdmin,