diff --git a/apps/web/src/app/organizations/members/components/member-dialog/member-dialog.component.ts b/apps/web/src/app/organizations/members/components/member-dialog/member-dialog.component.ts index 15926756bf..18a004555d 100644 --- a/apps/web/src/app/organizations/members/components/member-dialog/member-dialog.component.ts +++ b/apps/web/src/app/organizations/members/components/member-dialog/member-dialog.component.ts @@ -175,15 +175,20 @@ export class MemberDialogComponent implements OnInit, OnDestroy { } this.isRevoked = userDetails.status === OrganizationUserStatusType.Revoked; const assignedCollectionsPermissions = { - manageAssignedCollections: userDetails.permissions.manageAssignedCollections, editAssignedCollections: userDetails.permissions.editAssignedCollections, deleteAssignedCollections: userDetails.permissions.deleteAssignedCollections, + manageAssignedCollections: + userDetails.permissions.editAssignedCollections && + userDetails.permissions.deleteAssignedCollections, }; const allCollectionsPermissions = { - manageAllCollections: userDetails.permissions.manageAllCollections, createNewCollections: userDetails.permissions.createNewCollections, editAnyCollection: userDetails.permissions.editAnyCollection, deleteAnyCollection: userDetails.permissions.deleteAnyCollection, + manageAllCollections: + userDetails.permissions.createNewCollections && + userDetails.permissions.editAnyCollection && + userDetails.permissions.deleteAnyCollection, }; if (userDetails.type === OrganizationUserType.Custom) { this.permissionsGroup.patchValue({ @@ -255,15 +260,11 @@ export class MemberDialogComponent implements OnInit, OnDestroy { managePolicies: this.permissionsGroup.value.managePolicies, manageUsers: this.permissionsGroup.value.manageUsers, manageResetPassword: this.permissionsGroup.value.manageResetPassword, - manageAllCollections: - this.permissionsGroup.value.manageAllCollectionsGroup.manageAllCollections, createNewCollections: this.permissionsGroup.value.manageAllCollectionsGroup.createNewCollections, editAnyCollection: this.permissionsGroup.value.manageAllCollectionsGroup.editAnyCollection, deleteAnyCollection: this.permissionsGroup.value.manageAllCollectionsGroup.deleteAnyCollection, - manageAssignedCollections: - this.permissionsGroup.value.manageAssignedCollectionsGroup.manageAssignedCollections, editAssignedCollections: this.permissionsGroup.value.manageAssignedCollectionsGroup.editAssignedCollections, deleteAssignedCollections: diff --git a/libs/common/src/models/api/permissions.api.ts b/libs/common/src/models/api/permissions.api.ts index d25fa00a9d..bac4d2ce11 100644 --- a/libs/common/src/models/api/permissions.api.ts +++ b/libs/common/src/models/api/permissions.api.ts @@ -4,19 +4,9 @@ export class PermissionsApi extends BaseResponse { accessEventLogs: boolean; accessImportExport: boolean; accessReports: boolean; - /** - * @deprecated Sep 29 2021: This permission has been split out to `createNewCollections`, `editAnyCollection`, and - * `deleteAnyCollection`. It exists here for backwards compatibility with Server versions <= 1.43.0 - */ - manageAllCollections: boolean; createNewCollections: boolean; editAnyCollection: boolean; deleteAnyCollection: boolean; - /** - * @deprecated Sep 29 2021: This permission has been split out to `editAssignedCollections` and - * `deleteAssignedCollections`. It exists here for backwards compatibility with Server versions <= 1.43.0 - */ - manageAssignedCollections: boolean; editAssignedCollections: boolean; deleteAssignedCollections: boolean; manageCiphers: boolean; @@ -36,10 +26,6 @@ export class PermissionsApi extends BaseResponse { this.accessImportExport = this.getResponseProperty("AccessImportExport"); this.accessReports = this.getResponseProperty("AccessReports"); - // For backwards compatibility with Server <= 1.43.0 - this.manageAllCollections = this.getResponseProperty("ManageAllCollections"); - this.manageAssignedCollections = this.getResponseProperty("ManageAssignedCollections"); - this.createNewCollections = this.getResponseProperty("CreateNewCollections"); this.editAnyCollection = this.getResponseProperty("EditAnyCollection"); this.deleteAnyCollection = this.getResponseProperty("DeleteAnyCollection"); diff --git a/libs/common/src/models/domain/organization.ts b/libs/common/src/models/domain/organization.ts index befdd3425b..52d1d8887a 100644 --- a/libs/common/src/models/domain/organization.ts +++ b/libs/common/src/models/domain/organization.ts @@ -131,16 +131,11 @@ export class Organization { } get canCreateNewCollections() { - return ( - this.isManager || - (this.permissions.createNewCollections ?? this.permissions.manageAllCollections) - ); + return this.isManager || this.permissions.createNewCollections; } get canEditAnyCollection() { - return ( - this.isAdmin || (this.permissions.editAnyCollection ?? this.permissions.manageAllCollections) - ); + return this.isAdmin || this.permissions.editAnyCollection; } get canUseAdminCollections() { @@ -148,10 +143,7 @@ export class Organization { } get canDeleteAnyCollection() { - return ( - this.isAdmin || - (this.permissions.deleteAnyCollection ?? this.permissions.manageAllCollections) - ); + return this.isAdmin || this.permissions.deleteAnyCollection; } get canViewAllCollections() { @@ -159,17 +151,11 @@ export class Organization { } get canEditAssignedCollections() { - return ( - this.isManager || - (this.permissions.editAssignedCollections ?? this.permissions.manageAssignedCollections) - ); + return this.isManager || this.permissions.editAssignedCollections; } get canDeleteAssignedCollections() { - return ( - this.isManager || - (this.permissions.deleteAssignedCollections ?? this.permissions.manageAssignedCollections) - ); + return this.isManager || this.permissions.deleteAssignedCollections; } get canViewAssignedCollections() {