DomainEventFactoryInterface.ts 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. import {
  2. DuplicateItemSyncedEvent,
  3. EmailRequestedEvent,
  4. ItemDumpedEvent,
  5. ItemRemovedFromSharedVaultEvent,
  6. ItemRevisionCreationRequestedEvent,
  7. MessageSentToUserEvent,
  8. NotificationAddedForUserEvent,
  9. RevisionsCopyRequestedEvent,
  10. SharedVaultRemovedEvent,
  11. TransitionStatusUpdatedEvent,
  12. UserAddedToSharedVaultEvent,
  13. UserDesignatedAsSurvivorInSharedVaultEvent,
  14. UserInvitedToSharedVaultEvent,
  15. UserRemovedFromSharedVaultEvent,
  16. WebSocketMessageRequestedEvent,
  17. } from '@standardnotes/domain-events'
  18. export interface DomainEventFactoryInterface {
  19. createWebSocketMessageRequestedEvent(dto: { userUuid: string; message: string }): WebSocketMessageRequestedEvent
  20. createUserInvitedToSharedVaultEvent(dto: {
  21. invite: {
  22. uuid: string
  23. shared_vault_uuid: string
  24. user_uuid: string
  25. sender_uuid: string
  26. encrypted_message: string
  27. permission: string
  28. created_at_timestamp: number
  29. updated_at_timestamp: number
  30. }
  31. }): UserInvitedToSharedVaultEvent
  32. createMessageSentToUserEvent(dto: {
  33. message: {
  34. uuid: string
  35. recipient_uuid: string
  36. sender_uuid: string
  37. encrypted_message: string
  38. replaceability_identifier: string | null
  39. created_at_timestamp: number
  40. updated_at_timestamp: number
  41. }
  42. }): MessageSentToUserEvent
  43. createNotificationAddedForUserEvent(dto: {
  44. notification: {
  45. uuid: string
  46. user_uuid: string
  47. type: string
  48. payload: string
  49. created_at_timestamp: number
  50. updated_at_timestamp: number
  51. }
  52. }): NotificationAddedForUserEvent
  53. createTransitionStatusUpdatedEvent(dto: {
  54. userUuid: string
  55. transitionType: 'items' | 'revisions'
  56. transitionTimestamp: number
  57. status: string
  58. }): TransitionStatusUpdatedEvent
  59. createEmailRequestedEvent(dto: {
  60. userEmail: string
  61. messageIdentifier: string
  62. level: string
  63. body: string
  64. subject: string
  65. sender?: string
  66. attachments?: Array<{
  67. filePath: string
  68. fileName: string
  69. attachmentFileName: string
  70. attachmentContentType: string
  71. }>
  72. }): EmailRequestedEvent
  73. createDuplicateItemSyncedEvent(dto: {
  74. itemUuid: string
  75. userUuid: string
  76. roleNames: string[]
  77. }): DuplicateItemSyncedEvent
  78. createItemRevisionCreationRequested(dto: {
  79. itemUuid: string
  80. userUuid: string
  81. roleNames: string[]
  82. }): ItemRevisionCreationRequestedEvent
  83. createItemDumpedEvent(dto: { fileDumpPath: string; userUuid: string; roleNames: string[] }): ItemDumpedEvent
  84. createRevisionsCopyRequestedEvent(
  85. userUuid: string,
  86. dto: { originalItemUuid: string; newItemUuid: string; roleNames: string[] },
  87. ): RevisionsCopyRequestedEvent
  88. createUserAddedToSharedVaultEvent(dto: {
  89. sharedVaultUuid: string
  90. userUuid: string
  91. permission: string
  92. createdAt: number
  93. updatedAt: number
  94. }): UserAddedToSharedVaultEvent
  95. createUserRemovedFromSharedVaultEvent(dto: {
  96. sharedVaultUuid: string
  97. userUuid: string
  98. }): UserRemovedFromSharedVaultEvent
  99. createItemRemovedFromSharedVaultEvent(dto: {
  100. sharedVaultUuid: string
  101. itemUuid: string
  102. userUuid: string
  103. }): ItemRemovedFromSharedVaultEvent
  104. createSharedVaultRemovedEvent(dto: { sharedVaultUuid: string; vaultOwnerUuid: string }): SharedVaultRemovedEvent
  105. createUserDesignatedAsSurvivorInSharedVaultEvent(dto: {
  106. sharedVaultUuid: string
  107. userUuid: string
  108. timestamp: number
  109. }): UserDesignatedAsSurvivorInSharedVaultEvent
  110. }