UserRemovedFromSharedVaultEventHandler.ts 806 B

12345678910111213141516171819202122
  1. import { DomainEventHandlerInterface, UserRemovedFromSharedVaultEvent } from '@standardnotes/domain-events'
  2. import { Logger } from 'winston'
  3. import { RemoveSharedVaultUser } from '../UseCase/RemoveSharedVaultUser/RemoveSharedVaultUser'
  4. export class UserRemovedFromSharedVaultEventHandler implements DomainEventHandlerInterface {
  5. constructor(
  6. private removeSharedVaultUser: RemoveSharedVaultUser,
  7. private logger: Logger,
  8. ) {}
  9. async handle(event: UserRemovedFromSharedVaultEvent): Promise<void> {
  10. const result = await this.removeSharedVaultUser.execute({
  11. userUuid: event.payload.userUuid,
  12. sharedVaultUuid: event.payload.sharedVaultUuid,
  13. })
  14. if (result.isFailed()) {
  15. this.logger.error(`Failed to remove user from shared vault: ${result.getError()}`)
  16. }
  17. }
  18. }