RevisionsOwnershipUpdateRequestedEventHandler.ts 949 B

12345678910111213141516171819202122232425
  1. /* istanbul ignore file */
  2. import { Uuid } from '@standardnotes/domain-core'
  3. import { DomainEventHandlerInterface, RevisionsOwnershipUpdateRequestedEvent } from '@standardnotes/domain-events'
  4. import { RevisionRepositoryInterface } from '../Revision/RevisionRepositoryInterface'
  5. export class RevisionsOwnershipUpdateRequestedEventHandler implements DomainEventHandlerInterface {
  6. constructor(private revisionRepository: RevisionRepositoryInterface) {}
  7. async handle(event: RevisionsOwnershipUpdateRequestedEvent): Promise<void> {
  8. const userUuidOrError = Uuid.create(event.payload.userUuid)
  9. if (userUuidOrError.isFailed()) {
  10. return
  11. }
  12. const userUuid = userUuidOrError.getValue()
  13. const itemUuidOrError = Uuid.create(event.payload.itemUuid)
  14. if (itemUuidOrError.isFailed()) {
  15. return
  16. }
  17. const itemUuid = itemUuidOrError.getValue()
  18. await this.revisionRepository.updateUserUuid(itemUuid, userUuid)
  19. }
  20. }