From 6b2389cdc3da6d522f9ce0ba3ddff3ef1e99674f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karol=20S=C3=B3jko?= Date: Wed, 26 Jul 2023 12:39:14 +0200 Subject: [PATCH] fix(syncing-serve): removing other users from shared vault --- .../RemoveUserFromSharedVault.spec.ts | 5 +++-- .../RemoveUserFromSharedVault/RemoveUserFromSharedVault.ts | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/syncing-server/src/Domain/UseCase/SharedVaults/RemoveUserFromSharedVault/RemoveUserFromSharedVault.spec.ts b/packages/syncing-server/src/Domain/UseCase/SharedVaults/RemoveUserFromSharedVault/RemoveUserFromSharedVault.spec.ts index 5320d568d..f53710613 100644 --- a/packages/syncing-server/src/Domain/UseCase/SharedVaults/RemoveUserFromSharedVault/RemoveUserFromSharedVault.spec.ts +++ b/packages/syncing-server/src/Domain/UseCase/SharedVaults/RemoveUserFromSharedVault/RemoveUserFromSharedVault.spec.ts @@ -45,12 +45,13 @@ describe('RemoveUserFromSharedVault', () => { it('should remove user from shared vault', async () => { const useCase = createUseCase() - await useCase.execute({ + const result = await useCase.execute({ originatorUuid: '00000000-0000-0000-0000-000000000000', sharedVaultUuid: '00000000-0000-0000-0000-000000000000', userUuid: '00000000-0000-0000-0000-000000000001', }) + expect(result.isFailed()).toBeFalsy() expect(sharedVaultUserRepository.remove).toHaveBeenCalledWith(sharedVaultUser) }) @@ -99,7 +100,7 @@ describe('RemoveUserFromSharedVault', () => { }) expect(result.isFailed()).toBe(true) - expect(result.getError()).toBe('Only owner can remove users from shared vault') + expect(result.getError()).toBe('Only owner can remove other users from shared vault') }) it('should remove shared vault user if user is owner and is being force removed', async () => { diff --git a/packages/syncing-server/src/Domain/UseCase/SharedVaults/RemoveUserFromSharedVault/RemoveUserFromSharedVault.ts b/packages/syncing-server/src/Domain/UseCase/SharedVaults/RemoveUserFromSharedVault/RemoveUserFromSharedVault.ts index d21fb46fc..f567e0d30 100644 --- a/packages/syncing-server/src/Domain/UseCase/SharedVaults/RemoveUserFromSharedVault/RemoveUserFromSharedVault.ts +++ b/packages/syncing-server/src/Domain/UseCase/SharedVaults/RemoveUserFromSharedVault/RemoveUserFromSharedVault.ts @@ -37,8 +37,9 @@ export class RemoveUserFromSharedVault implements UseCaseInterface { } const originatorIsOwner = sharedVault.props.userUuid.equals(originatorUuid) - if (!originatorIsOwner) { - return Result.fail('Only owner can remove users from shared vault') + const removingSomeoneElseWhenNotOwner = !originatorIsOwner && userUuid !== originatorUuid + if (removingSomeoneElseWhenNotOwner) { + return Result.fail('Only owner can remove other users from shared vault') } const removingOwner = sharedVault.props.userUuid.equals(userUuid)