RevisionsCopyRequestedEventHandler.ts 780 B

12345678910111213141516171819202122
  1. import { DomainEventHandlerInterface, RevisionsCopyRequestedEvent } from '@standardnotes/domain-events'
  2. import { Logger } from 'winston'
  3. import { CopyRevisions } from '../UseCase/CopyRevisions/CopyRevisions'
  4. export class RevisionsCopyRequestedEventHandler implements DomainEventHandlerInterface {
  5. constructor(
  6. private copyRevisions: CopyRevisions,
  7. private logger: Logger,
  8. ) {}
  9. async handle(event: RevisionsCopyRequestedEvent): Promise<void> {
  10. const result = await this.copyRevisions.execute({
  11. newItemUuid: event.payload.newItemUuid,
  12. originalItemUuid: event.payload.originalItemUuid,
  13. roleNames: event.payload.roleNames,
  14. })
  15. if (result.isFailed()) {
  16. this.logger.error(`Could not copy revisions: ${result.getError()}`)
  17. }
  18. }
  19. }