email-component-diagram.puml 972 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. @startuml
  2. !include theme.puml
  3. title Transactional Email Handling
  4. cloud "Vendure Server" as VS
  5. cloud "Email Templates" as ET
  6. node Event
  7. note right of Event
  8. OrderStateTransitionEvent
  9. AccountCreatedEvent
  10. EmailAddressVerifiedEvent
  11. etc.
  12. end note
  13. package EmailEventHandlers {
  14. [OrderCompletedHandler]
  15. [AccountCreatedHandler]
  16. }
  17. node EmailContext
  18. note right of EmailContext
  19. new EmailContext({
  20. type: 'order-confirmation',
  21. recipient: 'user@example.com',
  22. data: { ... }
  23. })
  24. end note
  25. node GeneratedEmail
  26. note right of GeneratedEmail
  27. new GeneratedEmail({
  28. ...EmailContext,
  29. body: 'Dear Joe Smith...',
  30. )
  31. end note
  32. VS --> Event
  33. Event -> OrderCompletedHandler
  34. Event --> AccountCreatedHandler
  35. OrderCompletedHandler --> EmailContext
  36. AccountCreatedHandler --> EmailContext
  37. EmailContext --> [EmailGenerator]
  38. [EmailGenerator] -left- ET
  39. [EmailGenerator] --> GeneratedEmail
  40. GeneratedEmail --> [EmailTransport]
  41. @enduml