@eventcatalog/core 0.2.15 → 0.2.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +41 -41
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/config.json +3 -3
  5. package/.next/cache/eslint/.cache_1bay4w0 +1 -1
  6. package/.next/cache/webpack/client-production/0.pack +0 -0
  7. package/.next/cache/webpack/client-production/index.pack +0 -0
  8. package/.next/cache/webpack/server-production/0.pack +0 -0
  9. package/.next/cache/webpack/server-production/index.pack +0 -0
  10. package/.next/prerender-manifest.json +1 -1
  11. package/.next/routes-manifest.json +1 -1
  12. package/.next/server/chunks/29.js +139 -99
  13. package/.next/server/chunks/484.js +27 -19
  14. package/.next/server/chunks/565.js +38 -22
  15. package/.next/server/chunks/8.js +5 -2
  16. package/.next/server/pages/404.html +1 -1
  17. package/.next/server/pages/500.html +1 -1
  18. package/.next/server/pages/domains/Orders/events/OrderComplete/logs.html +1 -1
  19. package/.next/server/pages/domains/Orders/events/OrderComplete/logs.json +1 -1
  20. package/.next/server/pages/domains/Orders/events/OrderComplete.html +3 -3
  21. package/.next/server/pages/domains/Orders/events/OrderComplete.json +1 -1
  22. package/.next/server/pages/domains/Orders/events/OrderConfirmed/logs.html +1 -1
  23. package/.next/server/pages/domains/Orders/events/OrderConfirmed.html +3 -3
  24. package/.next/server/pages/domains/Orders/events/OrderConfirmed.json +1 -1
  25. package/.next/server/pages/domains/Orders/events/OrderRequested/logs.html +1 -1
  26. package/.next/server/pages/domains/Orders/events/OrderRequested/logs.json +1 -1
  27. package/.next/server/pages/domains/Orders/events/OrderRequested.html +3 -3
  28. package/.next/server/pages/domains/Orders/events/OrderRequested.json +1 -1
  29. package/.next/server/pages/domains/Orders/services/Orders Service.html +2 -2
  30. package/.next/server/pages/domains/Orders/services/Orders Service.json +1 -1
  31. package/.next/server/pages/domains/Orders.html +2 -2
  32. package/.next/server/pages/domains/Orders.json +1 -1
  33. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/logs.html +1 -1
  34. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/logs.json +1 -1
  35. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.1.html +4 -4
  36. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.1.json +1 -1
  37. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.2.html +4 -4
  38. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.2.json +1 -1
  39. package/.next/server/pages/domains/Shopping/events/AddedItemToCart.html +3 -3
  40. package/.next/server/pages/domains/Shopping/events/AddedItemToCart.json +1 -1
  41. package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart/logs.html +1 -1
  42. package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart/logs.json +1 -1
  43. package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart.html +3 -3
  44. package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart.json +1 -1
  45. package/.next/server/pages/domains/Shopping.html +2 -2
  46. package/.next/server/pages/domains/Shopping.json +1 -1
  47. package/.next/server/pages/domains.html +2 -2
  48. package/.next/server/pages/domains.js +1 -1
  49. package/.next/server/pages/domains.json +1 -1
  50. package/.next/server/pages/events/PaymentProcessed/logs.html +1 -1
  51. package/.next/server/pages/events/PaymentProcessed.html +3 -3
  52. package/.next/server/pages/events/PaymentProcessed.json +1 -1
  53. package/.next/server/pages/events/ShipmentDelivered/logs.html +1 -1
  54. package/.next/server/pages/events/ShipmentDelivered/logs.json +1 -1
  55. package/.next/server/pages/events/ShipmentDelivered.html +3 -3
  56. package/.next/server/pages/events/ShipmentDelivered.json +1 -1
  57. package/.next/server/pages/events/ShipmentDispatched/logs.html +1 -1
  58. package/.next/server/pages/events/ShipmentDispatched.html +3 -3
  59. package/.next/server/pages/events/ShipmentDispatched.json +1 -1
  60. package/.next/server/pages/events/ShipmentPrepared/logs.html +1 -1
  61. package/.next/server/pages/events/ShipmentPrepared.html +2 -2
  62. package/.next/server/pages/events/ShipmentPrepared.json +1 -1
  63. package/.next/server/pages/events.html +2 -2
  64. package/.next/server/pages/events.js +1 -1
  65. package/.next/server/pages/index.html +1 -1
  66. package/.next/server/pages/overview.html +1 -1
  67. package/.next/server/pages/services/Orders Service.html +1 -1
  68. package/.next/server/pages/services/Payment Service.html +2 -2
  69. package/.next/server/pages/services/Payment Service.json +1 -1
  70. package/.next/server/pages/services/Shipping Service.html +2 -2
  71. package/.next/server/pages/services/Shipping Service.json +1 -1
  72. package/.next/server/pages/services.html +2 -2
  73. package/.next/server/pages/services.js +1 -1
  74. package/.next/server/pages/users/dboyne.html +2 -2
  75. package/.next/server/pages/users/dboyne.json +1 -1
  76. package/.next/server/pages/users/mSmith.html +2 -2
  77. package/.next/server/pages/users/mSmith.json +1 -1
  78. package/.next/server/pages/visualiser.html +2 -2
  79. package/.next/server/pages/visualiser.js +3 -1
  80. package/.next/server/pages/visualiser.json +1 -1
  81. package/.next/static/chunks/109-1211e7bfa1e1d0c0.js +1 -0
  82. package/.next/static/chunks/178-689815db08dbcdce.js +1 -0
  83. package/.next/static/chunks/963-71aa3fc2dd1c8d77.js +1 -0
  84. package/.next/static/chunks/pages/_app-a03c2dba159b0e27.js +1 -0
  85. package/.next/static/chunks/pages/{domains-6ab78cb1bc2f4200.js → domains-5a0da9c88592073e.js} +1 -1
  86. package/.next/static/chunks/pages/events-e97a3ef06776ce78.js +1 -0
  87. package/.next/static/chunks/pages/services-ec933b7dc15f409b.js +1 -0
  88. package/.next/static/chunks/pages/users/[id]-cff60f8e33023b26.js +1 -0
  89. package/{out/_next/static/chunks/webpack-82801035c43004aa.js → .next/static/chunks/webpack-6d71b9b42478969c.js} +1 -1
  90. package/.next/static/css/{996136b57250cdf7.css → f35070e1edc71e18.css} +1 -1
  91. package/.next/static/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/_buildManifest.js +1 -1
  92. package/.next/static/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/_middlewareManifest.js +0 -0
  93. package/.next/static/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/_ssgManifest.js +0 -0
  94. package/.next/trace +65 -65
  95. package/CHANGELOG.md +18 -0
  96. package/components/Mdx/NodeGraph/GraphElements.tsx +41 -12
  97. package/components/Mdx/NodeGraph/__tests__/__snapshots__/GraphElements.spec.ts.snap +0 -462
  98. package/hooks/EventCatalog.tsx +7 -1
  99. package/lib/__tests__/domains.spec.ts +69 -9
  100. package/lib/__tests__/events.spec.ts +23 -4
  101. package/lib/domains.ts +23 -11
  102. package/lib/events.ts +26 -16
  103. package/lib/graphs.ts +24 -17
  104. package/lib/services.ts +12 -2
  105. package/out/404/index.html +1 -1
  106. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/domains/Orders/events/OrderComplete/logs.json +1 -0
  107. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/domains/Orders/events/OrderComplete.json +1 -0
  108. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/domains/Orders/events/OrderConfirmed/logs.json +0 -0
  109. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/domains/Orders/events/OrderConfirmed.json +1 -1
  110. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/domains/Orders/events/OrderRequested/logs.json +1 -0
  111. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/domains/Orders/events/OrderRequested.json +1 -0
  112. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/domains/Orders/services/Orders Service.json +1 -1
  113. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/domains/Orders.json +1 -0
  114. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/domains/Shopping/events/AddedItemToCart/logs.json +1 -1
  115. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/domains/Shopping/events/AddedItemToCart/v/0.0.1.json +1 -0
  116. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/domains/Shopping/events/AddedItemToCart/v/0.0.2.json +1 -0
  117. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/domains/Shopping/events/AddedItemToCart.json +1 -0
  118. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/domains/Shopping/events/RemovedItemFromCart/logs.json +1 -0
  119. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/domains/Shopping/events/RemovedItemFromCart.json +1 -0
  120. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/domains/Shopping.json +1 -0
  121. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/domains.json +1 -0
  122. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/events/PaymentProcessed/logs.json +0 -0
  123. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/events/PaymentProcessed.json +1 -1
  124. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/events/ShipmentDelivered/logs.json +1 -1
  125. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/events/ShipmentDelivered.json +1 -0
  126. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/events/ShipmentDispatched/logs.json +0 -0
  127. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/events/ShipmentDispatched.json +1 -1
  128. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/events/ShipmentPrepared/logs.json +0 -0
  129. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/events/ShipmentPrepared.json +1 -1
  130. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/events.json +0 -0
  131. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/overview.json +0 -0
  132. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/services/Orders Service.json +0 -0
  133. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/services/Payment Service.json +1 -1
  134. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/services/Shipping Service.json +1 -1
  135. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/services.json +0 -0
  136. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/users/dboyne.json +1 -0
  137. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/users/mSmith.json +1 -0
  138. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/visualiser.json +1 -0
  139. package/out/_next/static/chunks/109-1211e7bfa1e1d0c0.js +1 -0
  140. package/out/_next/static/chunks/178-689815db08dbcdce.js +1 -0
  141. package/out/_next/static/chunks/963-71aa3fc2dd1c8d77.js +1 -0
  142. package/out/_next/static/chunks/pages/_app-a03c2dba159b0e27.js +1 -0
  143. package/out/_next/static/chunks/pages/{domains-6ab78cb1bc2f4200.js → domains-5a0da9c88592073e.js} +1 -1
  144. package/out/_next/static/chunks/pages/events-e97a3ef06776ce78.js +1 -0
  145. package/out/_next/static/chunks/pages/services-ec933b7dc15f409b.js +1 -0
  146. package/out/_next/static/chunks/pages/users/[id]-cff60f8e33023b26.js +1 -0
  147. package/{.next/static/chunks/webpack-82801035c43004aa.js → out/_next/static/chunks/webpack-6d71b9b42478969c.js} +1 -1
  148. package/out/_next/static/css/{996136b57250cdf7.css → f35070e1edc71e18.css} +1 -1
  149. package/out/_next/static/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/_buildManifest.js +1 -1
  150. package/out/_next/static/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/_middlewareManifest.js +0 -0
  151. package/out/_next/static/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/_ssgManifest.js +0 -0
  152. package/out/domains/Orders/events/OrderComplete/index.html +3 -3
  153. package/out/domains/Orders/events/OrderComplete/logs/index.html +1 -1
  154. package/out/domains/Orders/events/OrderConfirmed/index.html +3 -3
  155. package/out/domains/Orders/events/OrderConfirmed/logs/index.html +1 -1
  156. package/out/domains/Orders/events/OrderRequested/index.html +3 -3
  157. package/out/domains/Orders/events/OrderRequested/logs/index.html +1 -1
  158. package/out/domains/Orders/index.html +2 -2
  159. package/out/domains/Orders/services/Orders Service/index.html +2 -2
  160. package/out/domains/Shopping/events/AddedItemToCart/index.html +3 -3
  161. package/out/domains/Shopping/events/AddedItemToCart/logs/index.html +1 -1
  162. package/out/domains/Shopping/events/AddedItemToCart/v/0.0.1/index.html +4 -4
  163. package/out/domains/Shopping/events/AddedItemToCart/v/0.0.2/index.html +4 -4
  164. package/out/domains/Shopping/events/RemovedItemFromCart/index.html +3 -3
  165. package/out/domains/Shopping/events/RemovedItemFromCart/logs/index.html +1 -1
  166. package/out/domains/Shopping/index.html +2 -2
  167. package/out/domains/index.html +2 -2
  168. package/out/events/PaymentProcessed/index.html +3 -3
  169. package/out/events/PaymentProcessed/logs/index.html +1 -1
  170. package/out/events/ShipmentDelivered/index.html +3 -3
  171. package/out/events/ShipmentDelivered/logs/index.html +1 -1
  172. package/out/events/ShipmentDispatched/index.html +3 -3
  173. package/out/events/ShipmentDispatched/logs/index.html +1 -1
  174. package/out/events/ShipmentPrepared/index.html +2 -2
  175. package/out/events/ShipmentPrepared/logs/index.html +1 -1
  176. package/out/events/index.html +2 -2
  177. package/out/index.html +1 -1
  178. package/out/overview/index.html +1 -1
  179. package/out/services/Orders Service/index.html +1 -1
  180. package/out/services/Payment Service/index.html +2 -2
  181. package/out/services/Shipping Service/index.html +2 -2
  182. package/out/services/index.html +2 -2
  183. package/out/users/dboyne/index.html +2 -2
  184. package/out/users/mSmith/index.html +2 -2
  185. package/out/visualiser/index.html +2 -2
  186. package/package.json +2 -2
  187. package/pages/domains.tsx +1 -1
  188. package/pages/events.tsx +1 -1
  189. package/pages/services.tsx +1 -1
  190. package/pages/visualiser.tsx +1 -1
  191. package/.next/static/chunks/109-d34abdcb3eb2dcd9.js +0 -1
  192. package/.next/static/chunks/178-7604eb85b765379d.js +0 -1
  193. package/.next/static/chunks/963-7d4a030f385440dd.js +0 -1
  194. package/.next/static/chunks/pages/_app-bf15178c205c79ad.js +0 -1
  195. package/.next/static/chunks/pages/events-691363297e733e50.js +0 -1
  196. package/.next/static/chunks/pages/services-0a099323cc1d9712.js +0 -1
  197. package/.next/static/chunks/pages/users/[id]-d1f16749cca85865.js +0 -1
  198. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/domains/Orders/events/OrderComplete/logs.json +0 -1
  199. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/domains/Orders/events/OrderComplete.json +0 -1
  200. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/domains/Orders/events/OrderRequested/logs.json +0 -1
  201. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/domains/Orders/events/OrderRequested.json +0 -1
  202. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/domains/Orders.json +0 -1
  203. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/domains/Shopping/events/AddedItemToCart/v/0.0.1.json +0 -1
  204. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/domains/Shopping/events/AddedItemToCart/v/0.0.2.json +0 -1
  205. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/domains/Shopping/events/AddedItemToCart.json +0 -1
  206. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/domains/Shopping/events/RemovedItemFromCart/logs.json +0 -1
  207. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/domains/Shopping/events/RemovedItemFromCart.json +0 -1
  208. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/domains/Shopping.json +0 -1
  209. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/domains.json +0 -1
  210. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/events/ShipmentDelivered.json +0 -1
  211. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/users/dboyne.json +0 -1
  212. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/users/mSmith.json +0 -1
  213. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/visualiser.json +0 -1
  214. package/out/_next/static/chunks/109-d34abdcb3eb2dcd9.js +0 -1
  215. package/out/_next/static/chunks/178-7604eb85b765379d.js +0 -1
  216. package/out/_next/static/chunks/963-7d4a030f385440dd.js +0 -1
  217. package/out/_next/static/chunks/pages/_app-bf15178c205c79ad.js +0 -1
  218. package/out/_next/static/chunks/pages/events-691363297e733e50.js +0 -1
  219. package/out/_next/static/chunks/pages/services-0a099323cc1d9712.js +0 -1
  220. package/out/_next/static/chunks/pages/users/[id]-d1f16749cca85865.js +0 -1
@@ -91,30 +91,50 @@ describe('domains lib', () => {
91
91
  name: 'UserCreated',
92
92
  version: '0.0.1',
93
93
  summary: 'Holds information about when the user has been created.\n',
94
- domain: null,
94
+ domain: 'User',
95
95
  producerNames: ['Application API'],
96
96
  consumerNames: ['Customer Portal'],
97
97
  owners: ['dboyne', 'mSmith'],
98
98
  externalLinks: [],
99
99
  historicVersions: [],
100
+ producers: [
101
+ {
102
+ name: 'Application API',
103
+ },
104
+ ],
105
+ consumers: [
106
+ {
107
+ name: 'Customer Portal',
108
+ },
109
+ ],
100
110
  },
101
111
  {
102
112
  name: 'UserRemoved',
103
113
  version: '0.0.1',
104
114
  summary: 'Holds information about when the user has been removed.\n',
105
- domain: null,
115
+ domain: 'User',
106
116
  producerNames: ['Application API'],
107
117
  consumerNames: ['Customer Portal'],
108
118
  owners: ['dboyne', 'mSmith'],
109
119
  externalLinks: [],
110
120
  historicVersions: [],
121
+ producers: [
122
+ {
123
+ name: 'Application API',
124
+ },
125
+ ],
126
+ consumers: [
127
+ {
128
+ name: 'Customer Portal',
129
+ },
130
+ ],
111
131
  },
112
132
  ],
113
133
  services: [
114
134
  {
115
135
  name: 'User Service',
116
136
  summary: 'CRUD based API to handle User information\n',
117
- domain: null,
137
+ domain: 'User',
118
138
  owners: ['mSmith'],
119
139
  repository: {
120
140
  language: 'JavaScript',
@@ -154,30 +174,50 @@ describe('domains lib', () => {
154
174
  name: 'UserCreated',
155
175
  version: '0.0.1',
156
176
  summary: 'Holds information about when the user has been created.\n',
157
- domain: null,
177
+ domain: 'User',
158
178
  producerNames: ['Application API'],
159
179
  consumerNames: ['Customer Portal'],
160
180
  owners: ['dboyne', 'mSmith'],
161
181
  externalLinks: [],
162
182
  historicVersions: [],
183
+ producers: [
184
+ {
185
+ name: 'Application API',
186
+ },
187
+ ],
188
+ consumers: [
189
+ {
190
+ name: 'Customer Portal',
191
+ },
192
+ ],
163
193
  },
164
194
  {
165
195
  name: 'UserRemoved',
166
196
  version: '0.0.1',
167
197
  summary: 'Holds information about when the user has been removed.\n',
168
- domain: null,
198
+ domain: 'User',
169
199
  producerNames: ['Application API'],
170
200
  consumerNames: ['Customer Portal'],
171
201
  owners: ['dboyne', 'mSmith'],
172
202
  externalLinks: [],
173
203
  historicVersions: [],
204
+ producers: [
205
+ {
206
+ name: 'Application API',
207
+ },
208
+ ],
209
+ consumers: [
210
+ {
211
+ name: 'Customer Portal',
212
+ },
213
+ ],
174
214
  },
175
215
  ],
176
216
  services: [
177
217
  {
178
218
  name: 'User Service',
179
219
  summary: 'CRUD based API to handle User information\n',
180
- domain: null,
220
+ domain: 'User',
181
221
  owners: ['mSmith'],
182
222
  repository: {
183
223
  language: 'JavaScript',
@@ -220,30 +260,50 @@ describe('domains lib', () => {
220
260
  name: 'UserCreated',
221
261
  version: '0.0.1',
222
262
  summary: 'Holds information about when the user has been created.\n',
223
- domain: null,
263
+ domain: 'User',
224
264
  producerNames: ['Application API'],
225
265
  consumerNames: ['Customer Portal'],
226
266
  owners: ['dboyne', 'mSmith'],
227
267
  externalLinks: [],
228
268
  historicVersions: [],
269
+ producers: [
270
+ {
271
+ name: 'Application API',
272
+ },
273
+ ],
274
+ consumers: [
275
+ {
276
+ name: 'Customer Portal',
277
+ },
278
+ ],
229
279
  },
230
280
  {
231
281
  name: 'UserRemoved',
232
282
  version: '0.0.1',
233
283
  summary: 'Holds information about when the user has been removed.\n',
234
- domain: null,
284
+ domain: 'User',
235
285
  producerNames: ['Application API'],
236
286
  consumerNames: ['Customer Portal'],
237
287
  owners: ['dboyne', 'mSmith'],
238
288
  externalLinks: [],
239
289
  historicVersions: [],
290
+ producers: [
291
+ {
292
+ name: 'Application API',
293
+ },
294
+ ],
295
+ consumers: [
296
+ {
297
+ name: 'Customer Portal',
298
+ },
299
+ ],
240
300
  },
241
301
  ],
242
302
  services: [
243
303
  {
244
304
  name: 'User Service',
245
305
  summary: 'CRUD based API to handle User information\n',
246
- domain: null,
306
+ domain: 'User',
247
307
  owners: ['mSmith'],
248
308
  repository: {
249
309
  language: 'JavaScript',
@@ -34,8 +34,19 @@ describe('events lib', () => {
34
34
  owners: ['dboyne', 'mSmith'],
35
35
  domain: null,
36
36
  historicVersions: [],
37
- consumers: [],
38
- producers: [],
37
+ consumers: [
38
+ {
39
+ name: 'Customer Portal',
40
+ },
41
+ ],
42
+ producers: [
43
+ {
44
+ name: 'Shopping API',
45
+ },
46
+ {
47
+ name: 'Application API',
48
+ },
49
+ ],
39
50
  externalLinks: [],
40
51
  schema: null,
41
52
  examples: [],
@@ -116,8 +127,16 @@ describe('events lib', () => {
116
127
  domain: 'User',
117
128
  historicVersions: [],
118
129
  externalLinks: [],
119
- consumers: [],
120
- producers: [],
130
+ consumers: [
131
+ {
132
+ name: 'Customer Portal',
133
+ },
134
+ ],
135
+ producers: [
136
+ {
137
+ name: 'Application API',
138
+ },
139
+ ],
121
140
  schema: null,
122
141
  examples: [],
123
142
  });
package/lib/domains.ts CHANGED
@@ -1,13 +1,12 @@
1
- import path from 'path';
2
- import fs from 'fs';
3
1
  import type { Event } from '@eventcatalog/types';
4
2
  import { Domain } from '@eventcatalog/types';
3
+ import fs from 'fs';
5
4
  import { serialize } from 'next-mdx-remote/serialize';
5
+ import path from 'path';
6
+ import { getLastModifiedDateOfFile, readMarkdownFile } from '@/lib/file-reader';
7
+ import { MarkdownFile } from '../types/index';
6
8
  import { getAllEventsFromPath } from './events';
7
9
  import { getAllServicesFromPath } from './services';
8
- import { readMarkdownFile, getLastModifiedDateOfFile } from '@/lib/file-reader';
9
-
10
- import { MarkdownFile } from '../types/index';
11
10
 
12
11
  const buildDomain = (domainFrontMatter: any): Domain => {
13
12
  const { name, summary, owners = [], tags = [], externalLinks = [] } = domainFrontMatter;
@@ -30,7 +29,7 @@ export const getAllDomainsByOwnerId = async (ownerId): Promise<Domain[]> => {
30
29
  }));
31
30
  };
32
31
 
33
- export const getAllEventsFromDomains = () => {
32
+ export const getAllEventsFromDomains = (hydrate?: boolean) => {
34
33
  const domainsDir = path.join(process.env.PROJECT_DIR, 'domains');
35
34
 
36
35
  if (!fs.existsSync(domainsDir)) return [];
@@ -43,7 +42,7 @@ export const getAllEventsFromDomains = () => {
43
42
  const domainHasEvents = fs.existsSync(eventsForDomainDir);
44
43
 
45
44
  if (domainHasEvents) {
46
- const domainEvents = getAllEventsFromPath(eventsForDomainDir);
45
+ const domainEvents = getAllEventsFromPath(eventsForDomainDir, hydrate);
47
46
 
48
47
  // Add domains onto events
49
48
  const eventsWithDomain = domainEvents.map((event) => ({ ...event, domain: domainFolder }));
@@ -92,8 +91,15 @@ export const getDomainByName = async ({
92
91
 
93
92
  const mdxSource = await serialize(content);
94
93
 
95
- const eventsForDomain = getAllEventsFromPath(path.join(domainDirectory, 'events'));
96
- const servicesForDomain = getAllServicesFromPath(path.join(domainDirectory, 'services'));
94
+ const eventsForDomain = getAllEventsFromPath(path.join(domainDirectory, 'events'), true).map((event) => ({
95
+ ...event,
96
+ domain: domainName,
97
+ }));
98
+
99
+ const servicesForDomain = getAllServicesFromPath(path.join(domainDirectory, 'services')).map((service) => ({
100
+ ...service,
101
+ domain: domainName,
102
+ }));
97
103
 
98
104
  return {
99
105
  // @ts-ignore
@@ -120,8 +126,14 @@ export const getDomainByPath = async (domainDirectory: string): Promise<{ domain
120
126
 
121
127
  const mdxSource = await serialize(content);
122
128
 
123
- const eventsForDomain = getAllEventsFromPath(path.join(domainDirectory, 'events'));
124
- const servicesForDomain = getAllServicesFromPath(path.join(domainDirectory, 'services'));
129
+ const eventsForDomain = getAllEventsFromPath(path.join(domainDirectory, 'events'), true).map((event) => ({
130
+ ...event,
131
+ domain: domain.name,
132
+ }));
133
+ const servicesForDomain = getAllServicesFromPath(path.join(domainDirectory, 'services')).map((service) => ({
134
+ ...service,
135
+ domain: domain.name,
136
+ }));
125
137
 
126
138
  return {
127
139
  // @ts-ignore
package/lib/events.ts CHANGED
@@ -1,17 +1,14 @@
1
- import fs from 'fs';
2
- import path from 'path';
3
- import { serialize } from 'next-mdx-remote/serialize';
4
- import type { Service, Event } from '@eventcatalog/types';
1
+ import type { Event, Service } from '@eventcatalog/types';
5
2
  import compareVersions from 'compare-versions';
6
3
  import * as Diff from 'diff';
4
+ import fs from 'fs';
5
+ import { serialize } from 'next-mdx-remote/serialize';
6
+ import path from 'path';
7
7
  import { MarkdownFile } from '@/types/index';
8
-
9
- import { extentionToLanguageMap } from './file-reader';
10
-
11
8
  import { getLastModifiedDateOfFile, getSchemaFromDir, readMarkdownFile } from '@/lib/file-reader';
12
-
13
- import { getAllServices, hydrateEventProducersAndConsumers } from './services';
14
9
  import { getAllEventsFromDomains } from './domains';
10
+ import { extentionToLanguageMap } from './file-reader';
11
+ import { getAllServices, hydrateEventProducersAndConsumers } from './services';
15
12
 
16
13
  const parseEventFrontMatterIntoEvent = (eventFrontMatter: any): Event => {
17
14
  const {
@@ -145,24 +142,37 @@ const getEventExamplesFromDir = (pathToExamples) => {
145
142
  return examples;
146
143
  };
147
144
 
148
- export const getEventByPath = (eventDir: string): Event => {
145
+ export const getEventByPath = (eventDir: string, hydrateWithProducersAndConsumers?: boolean): Event => {
149
146
  const { data } = readMarkdownFile(path.join(eventDir, 'index.md'));
150
147
  const historicVersions = versionsForEvents(path.join(eventDir));
148
+
149
+ const event = parseEventFrontMatterIntoEvent(data);
150
+
151
+ if (hydrateWithProducersAndConsumers) {
152
+ const services = getAllServices();
153
+ const consumersAndProducersAsServices = hydrateEventProducersAndConsumers(event, services);
154
+ return {
155
+ ...event,
156
+ historicVersions,
157
+ ...consumersAndProducersAsServices,
158
+ };
159
+ }
160
+
151
161
  return {
152
- ...parseEventFrontMatterIntoEvent(data),
162
+ ...event,
153
163
  historicVersions,
154
164
  };
155
165
  };
156
166
 
157
- export const getAllEventsFromPath = (eventsDir: string): Event[] => {
167
+ export const getAllEventsFromPath = (eventsDir: string, hydrateEvents?: boolean): Event[] => {
158
168
  if (!fs.existsSync(eventsDir)) return [];
159
169
  const folders = fs.readdirSync(eventsDir);
160
- return folders.map((folder) => getEventByPath(path.join(eventsDir, folder)));
170
+ return folders.map((folder) => getEventByPath(path.join(eventsDir, folder), hydrateEvents));
161
171
  };
162
172
 
163
- export const getAllEvents = (): Event[] => {
164
- const allEventsFromDomainFolders = getAllEventsFromDomains();
165
- const eventsWithoutDomains = getAllEventsFromPath(path.join(process.env.PROJECT_DIR, 'events'));
173
+ export const getAllEvents = ({ hydrateEvents }: { hydrateEvents?: boolean } = {}): Event[] => {
174
+ const allEventsFromDomainFolders = getAllEventsFromDomains(hydrateEvents);
175
+ const eventsWithoutDomains = getAllEventsFromPath(path.join(process.env.PROJECT_DIR, 'events'), hydrateEvents);
166
176
 
167
177
  const events = [...eventsWithoutDomains, ...allEventsFromDomainFolders];
168
178
  const sortedEvents = events.sort((a, b) => a.name.localeCompare(b.name));
package/lib/graphs.ts CHANGED
@@ -5,7 +5,10 @@ const MAX_LENGTH_FOR_NODES = '50';
5
5
  const { publicRuntimeConfig: { basePath = '' } = {} } = getConfig();
6
6
 
7
7
  const truncateNode = (value) => (value.length > MAX_LENGTH_FOR_NODES ? `${value.substring(0, MAX_LENGTH_FOR_NODES)}...` : value);
8
- const generateLink = (value, type) => (basePath !== '' ? `${basePath}/${type}/${value}` : `/${type}/${value}`);
8
+ const generateLink = (value, type, domain?) => {
9
+ const url = `/${domain ? `domains/${domain}/` : ''}${type}/${value}`;
10
+ return basePath ? `${basePath}${url}` : url;
11
+ };
9
12
 
10
13
  /**
11
14
  * Build Mermaid graph output
@@ -32,24 +35,24 @@ click ${centerNode.id} href "${centerNode.link}" "Go to ${centerNode.name}" _sel
32
35
  * @returns {string} Mermaid Graph
33
36
  */
34
37
  export const buildMermaidFlowChartForEvent = (
35
- { name: eventName, producerNames, consumerNames }: Event,
38
+ { name: eventName, producerNames, consumerNames, producers = [], consumers = [], domain }: Event,
36
39
  rootNodeColor = '#2563eb'
37
40
  ) => {
38
41
  // Transforms services & event into a graph model
39
42
  const leftNodes = producerNames.map(truncateNode).map((node) => ({
40
43
  id: node.replace(/ /g, '_'),
41
44
  name: node,
42
- link: generateLink(node, 'services'),
45
+ link: generateLink(node, 'services', producers.find((producer) => producer.name === node)?.domain),
43
46
  }));
44
47
  const rightNodes = consumerNames.map(truncateNode).map((node) => ({
45
48
  id: node.replace(/ /g, '_'),
46
49
  name: node,
47
- link: generateLink(node, 'services'),
50
+ link: generateLink(node, 'services', consumers.find((consumer) => consumer.name === node)?.domain),
48
51
  }));
49
52
  const centerNode = {
50
53
  id: truncateNode(eventName.replace(/ /g, '_')),
51
54
  name: eventName,
52
- link: generateLink(eventName, 'events'),
55
+ link: generateLink(eventName, 'events', domain),
53
56
  };
54
57
 
55
58
  return buildMermaid(centerNode, leftNodes, rightNodes, rootNodeColor);
@@ -62,24 +65,28 @@ export const buildMermaidFlowChartForEvent = (
62
65
  * @returns {string} Mermaid Graph
63
66
  */
64
67
  export const buildMermaidFlowChartForService = (
65
- { publishes, subscribes, name: serviceName }: Service,
68
+ { publishes, subscribes, name: serviceName, domain }: Service,
66
69
  rootNodeColor = '#2563eb'
67
70
  ) => {
68
71
  // Transforms services & event into a graph model
69
- const leftNodes = subscribes.map(truncateNode).map((node) => ({
70
- id: node.name.replace(/ /g, '_'),
71
- name: node.name,
72
- link: generateLink(node.name, 'events'),
73
- }));
74
- const rightNodes = publishes.map(truncateNode).map((node) => ({
75
- id: node.name.replace(/ /g, '_'),
76
- name: node.name,
77
- link: generateLink(node.name, 'events'),
78
- }));
72
+ const leftNodes = subscribes
73
+ .map((event) => ({ event, truncatedName: truncateNode(event.name) }))
74
+ .map(({ event, truncatedName }) => ({
75
+ id: truncatedName.replace(/ /g, '_'),
76
+ name: truncatedName,
77
+ link: generateLink(event.name, 'events', event.domain),
78
+ }));
79
+ const rightNodes = publishes
80
+ .map((event) => ({ event, truncatedName: truncateNode(event.name) }))
81
+ .map(({ event, truncatedName }) => ({
82
+ id: truncatedName.replace(/ /g, '_'),
83
+ name: truncatedName,
84
+ link: generateLink(event.name, 'events', event.domain),
85
+ }));
79
86
  const centerNode = {
80
87
  id: truncateNode(serviceName.replace(/ /g, '_')),
81
88
  name: serviceName,
82
- link: generateLink(serviceName, 'services'),
89
+ link: generateLink(serviceName, 'services', domain),
83
90
  };
84
91
  return buildMermaid(centerNode, leftNodes, rightNodes, rootNodeColor);
85
92
  };
package/lib/services.ts CHANGED
@@ -96,8 +96,18 @@ export const hydrateEventProducersAndConsumers = (
96
96
  ): { producers: Service[]; consumers: Service[] } => {
97
97
  const findServiceByName = (name) => services.find((service) => service.name === name);
98
98
 
99
- const producers = event.producerNames.map((name) => findServiceByName(name)).filter((service) => !!service);
100
- const consumers = event.consumerNames.map((name) => findServiceByName(name)).filter((service) => !!service);
99
+ const hydratedProducers = event.producerNames.map((name) => findServiceByName(name)).filter((service) => !!service);
100
+ const producersWithNoMarkdown = event.producerNames
101
+ .filter((name) => !hydratedProducers.some((producer) => producer.name === name))
102
+ .map((name) => ({ name }));
103
+
104
+ const hydratedConsumers = event.consumerNames.map((name) => findServiceByName(name)).filter((service) => !!service);
105
+ const consumersWithNoMarkdown = event.consumerNames
106
+ .filter((name) => !hydratedConsumers.some((consumer) => consumer.name === name))
107
+ .map((name) => ({ name }));
108
+
109
+ const producers = hydratedProducers.concat(producersWithNoMarkdown as Service[]);
110
+ const consumers = hydratedConsumers.concat(consumersWithNoMarkdown as Service[]);
101
111
 
102
112
  return {
103
113
  producers: producers.length > 0 ? producers : [],
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta name="viewport" content="width=device-width"/><meta charSet="utf-8"/><meta name="description" content="Discover, Explore and Document your Event Driven Architectures"/><link rel="icon" href="/favicon.ico"/><meta property="og:url" content="https://eventcatalog.dev/"/><meta property="og:type" content="website"/><meta property="og:title" content="EventCatalog"/><meta property="og:description" content="Discover, Explore and Document your Event Driven Architectures"/><meta property="og:image" content="https://eventcatalog.dev/img/opengraph.png"/><meta property="og:image:alt" content="EventCatalog | Discover, Explore and Document your Event Driven Architectures"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="600"/><meta property="og:locale" content="en-GB"/><meta name="author" content="David Boyne"/><title>404: This page could not be found</title><meta name="next-head-count" content="15"/><script src="//unpkg.com/three"></script><script src="//unpkg.com/three/examples/js/renderers/CSS2DRenderer.js"></script><link rel="stylesheet" href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.css"/><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.13.1/styles/atom-one-light.min.css"/><link rel="preload" href="/_next/static/css/996136b57250cdf7.css" as="style"/><link rel="stylesheet" href="/_next/static/css/996136b57250cdf7.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script><script src="/_next/static/chunks/webpack-82801035c43004aa.js" defer=""></script><script src="/_next/static/chunks/framework-d23f68ad701fe0b2.js" defer=""></script><script src="/_next/static/chunks/main-f81c6f6bcf091f94.js" defer=""></script><script src="/_next/static/chunks/pages/_app-bf15178c205c79ad.js" defer=""></script><script src="/_next/static/chunks/pages/_error-5a714c45c50a8db4.js" defer=""></script><script src="/_next/static/C2-6-Fv03yIquGzQw3-oZ/_buildManifest.js" defer=""></script><script src="/_next/static/C2-6-Fv03yIquGzQw3-oZ/_ssgManifest.js" defer=""></script><script src="/_next/static/C2-6-Fv03yIquGzQw3-oZ/_middlewareManifest.js" defer=""></script></head><body><div id="__next" data-reactroot=""><div class="bg-gray-800"><div class="max-w-7xl mx-auto "><div class="relative flex items-center justify-between h-16"><div class="flex-1 flex items-center justify-center sm:items-stretch sm:justify-start"><div class="flex-shrink-0 flex items-center text-white font-bold"><a class="flex items-center" href="/"><img alt="logo" class="text-white w-8 inline-block mr-3" src="/logo.svg"/><span class="text-xl">EventCatalog</span></a></div></div><div class="hidden sm:block sm:ml-6"><div class="flex space-x-4"><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/events/">Events</a><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/services/">Services</a><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/domains/">Domains</a><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/visualiser/">Visualiser</a><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/overview/">3D Node Graph</a></div></div></div></div></div><div style="color:#000;background:#fff;font-family:-apple-system, BlinkMacSystemFont, Roboto, &quot;Segoe UI&quot;, &quot;Fira Sans&quot;, Avenir, &quot;Helvetica Neue&quot;, &quot;Lucida Grande&quot;, sans-serif;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body { margin: 0 }</style><h1 style="display:inline-block;border-right:1px solid rgba(0, 0, 0,.3);margin:0;margin-right:20px;padding:10px 23px 10px 0;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block;text-align:left;line-height:49px;height:49px;vertical-align:middle"><h2 style="font-size:14px;font-weight:normal;line-height:inherit;margin:0;padding:0">This page could not be found<!-- -->.</h2></div></div></div><footer class="bg-gray-800"><div class="max-w-7xl mx-auto py-12 px-4 overflow-hidden sm:px-6 lg:px-8"><nav class="-mx-5 -my-2 flex flex-wrap justify-center" aria-label="Footer"><div class="px-5 py-2"><a href="/events" class="text-base text-gray-500 hover:text-gray-400">Events</a></div><div class="px-5 py-2"><a href="/services" class="text-base text-gray-500 hover:text-gray-400">Services</a></div><div class="px-5 py-2"><a href="/visualiser" class="text-base text-gray-500 hover:text-gray-400">Visualiser</a></div><div class="px-5 py-2"><a href="/overview" class="text-base text-gray-500 hover:text-gray-400">3D Node Graph</a></div><div class="px-5 py-2"><a href="https://github.com/boyney123/eventcatalog-demo/edit/master" class="text-base text-gray-500 hover:text-gray-400">GitHub</a></div></nav><p class="mt-8 text-center text-base text-gray-400">Copyright © <!-- -->2022<!-- --> <!-- -->Your Company<!-- -->. Built with<!-- --> <a class="underline" href="https://eventcatalog.dev" target="_blank" rel="noreferrer">EventCatalog.</a></p></div></footer></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"C2-6-Fv03yIquGzQw3-oZ","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta name="viewport" content="width=device-width"/><meta charSet="utf-8"/><meta name="description" content="Discover, Explore and Document your Event Driven Architectures"/><link rel="icon" href="/favicon.ico"/><meta property="og:url" content="https://eventcatalog.dev/"/><meta property="og:type" content="website"/><meta property="og:title" content="EventCatalog"/><meta property="og:description" content="Discover, Explore and Document your Event Driven Architectures"/><meta property="og:image" content="https://eventcatalog.dev/img/opengraph.png"/><meta property="og:image:alt" content="EventCatalog | Discover, Explore and Document your Event Driven Architectures"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="600"/><meta property="og:locale" content="en-GB"/><meta name="author" content="David Boyne"/><title>404: This page could not be found</title><meta name="next-head-count" content="15"/><script src="//unpkg.com/three"></script><script src="//unpkg.com/three/examples/js/renderers/CSS2DRenderer.js"></script><link rel="stylesheet" href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.css"/><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.13.1/styles/atom-one-light.min.css"/><link rel="preload" href="/_next/static/css/f35070e1edc71e18.css" as="style"/><link rel="stylesheet" href="/_next/static/css/f35070e1edc71e18.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script><script src="/_next/static/chunks/webpack-6d71b9b42478969c.js" defer=""></script><script src="/_next/static/chunks/framework-d23f68ad701fe0b2.js" defer=""></script><script src="/_next/static/chunks/main-f81c6f6bcf091f94.js" defer=""></script><script src="/_next/static/chunks/pages/_app-a03c2dba159b0e27.js" defer=""></script><script src="/_next/static/chunks/pages/_error-5a714c45c50a8db4.js" defer=""></script><script src="/_next/static/j6omi8pQn6TfSrKCsM_pw/_buildManifest.js" defer=""></script><script src="/_next/static/j6omi8pQn6TfSrKCsM_pw/_ssgManifest.js" defer=""></script><script src="/_next/static/j6omi8pQn6TfSrKCsM_pw/_middlewareManifest.js" defer=""></script></head><body><div id="__next" data-reactroot=""><div class="bg-gray-800"><div class="max-w-7xl mx-auto "><div class="relative flex items-center justify-between h-16"><div class="flex-1 flex items-center justify-center sm:items-stretch sm:justify-start"><div class="flex-shrink-0 flex items-center text-white font-bold"><a class="flex items-center" href="/"><img alt="logo" class="text-white w-8 inline-block mr-3" src="/logo.svg"/><span class="text-xl">EventCatalog</span></a></div></div><div class="hidden sm:block sm:ml-6"><div class="flex space-x-4"><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/events/">Events</a><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/services/">Services</a><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/domains/">Domains</a><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/visualiser/">Visualiser</a><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/overview/">3D Node Graph</a></div></div></div></div></div><div style="color:#000;background:#fff;font-family:-apple-system, BlinkMacSystemFont, Roboto, &quot;Segoe UI&quot;, &quot;Fira Sans&quot;, Avenir, &quot;Helvetica Neue&quot;, &quot;Lucida Grande&quot;, sans-serif;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body { margin: 0 }</style><h1 style="display:inline-block;border-right:1px solid rgba(0, 0, 0,.3);margin:0;margin-right:20px;padding:10px 23px 10px 0;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block;text-align:left;line-height:49px;height:49px;vertical-align:middle"><h2 style="font-size:14px;font-weight:normal;line-height:inherit;margin:0;padding:0">This page could not be found<!-- -->.</h2></div></div></div><footer class="bg-gray-800"><div class="max-w-7xl mx-auto py-12 px-4 overflow-hidden sm:px-6 lg:px-8"><nav class="-mx-5 -my-2 flex flex-wrap justify-center" aria-label="Footer"><div class="px-5 py-2"><a href="/events" class="text-base text-gray-500 hover:text-gray-400">Events</a></div><div class="px-5 py-2"><a href="/services" class="text-base text-gray-500 hover:text-gray-400">Services</a></div><div class="px-5 py-2"><a href="/visualiser" class="text-base text-gray-500 hover:text-gray-400">Visualiser</a></div><div class="px-5 py-2"><a href="/overview" class="text-base text-gray-500 hover:text-gray-400">3D Node Graph</a></div><div class="px-5 py-2"><a href="https://github.com/boyney123/eventcatalog-demo/edit/master" class="text-base text-gray-500 hover:text-gray-400">GitHub</a></div></nav><p class="mt-8 text-center text-base text-gray-400">Copyright © <!-- -->2022<!-- --> <!-- -->Your Company<!-- -->. Built with<!-- --> <a class="underline" href="https://eventcatalog.dev" target="_blank" rel="noreferrer">EventCatalog.</a></p></div></footer></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"j6omi8pQn6TfSrKCsM_pw","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
@@ -0,0 +1 @@
1
+ {"pageProps":{"changes":[],"event":{"name":"OrderComplete","version":"0.0.1","summary":"Event represents when an order has been complete. (Delivered and finished)\n","domain":"Orders","producerNames":["Orders Service"],"consumerNames":["Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[],"producers":[{"name":"Orders Service","summary":"Service that handles customer orders\n","domain":"Orders","owners":["dboyne"],"repository":{},"tags":[],"externalLinks":[],"publishes":[{"name":"OrderComplete","version":"0.0.1","summary":"Event represents when an order has been complete. (Delivered and finished)\n","domain":"Orders","producerNames":["Orders Service"],"consumerNames":["Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"OrderConfirmed","version":"0.0.1","summary":"Event represents when an order has been confirmed and ready to be processed (shipped for example)\n","domain":"Orders","producerNames":["Orders Service"],"consumerNames":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]}],"subscribes":[{"name":"PaymentProcessed","version":"0.0.1","summary":"Holds information about the payment that has been processed.\n","domain":null,"producerNames":["Payment Service"],"consumerNames":["Orders Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]}]}],"consumers":[{"name":"Data Lake"}],"historicVersions":[],"schema":{"snippet":"{\n \"$id\": \"https://example.com/OrderRequested.json\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"OrderRequested\",\n \"type\": \"object\",\n \"properties\": {\n \"metadata\": {\n \"type\": \"object\",\n \"properties\": {\n \"correlationId\": {\n \"type\": \"string\",\n \"description\": \"The ID of the user\"\n },\n \"domain\": {\n \"type\": \"string\",\n \"description\": \"The domain of the event\"\n },\n \"service\": {\n \"type\": \"string\",\n \"description\": \"The name of the service that triggered the event\"\n }\n },\n \"required\": [\"correlationId\", \"domain\", \"service\"]\n },\n \"data\": {\n \"type\": \"object\",\n \"properties\": {\n \"userId\": {\n \"type\": \"string\",\n \"description\": \"The ID of the user\"\n },\n \"orderId\": {\n \"type\": \"string\",\n \"description\": \"The ID the users order\"\n }\n }\n }\n }\n}","language":"json","extension":"json"},"examples":[]},"breadCrumbs":[{"name":"Domain","href":"/domains","current":false},{"name":"Orders","href":"/domains/Orders","current":false},{"name":"Events","href":"/events?domain=Orders","current":false},{"name":"OrderComplete","href":"/domains/Orders/events/OrderComplete","current":true},{"name":"Logs","href":"/events/OrderComplete/history","current":true}]},"__N_SSG":true}
@@ -0,0 +1 @@
1
+ {"pageProps":{"event":{"name":"OrderComplete","version":"0.0.1","summary":"Event represents when an order has been complete. (Delivered and finished)\n","domain":"Orders","producerNames":["Orders Service"],"consumerNames":["Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[],"producers":[{"name":"Orders Service","summary":"Service that handles customer orders\n","domain":"Orders","owners":["dboyne"],"repository":{},"tags":[],"externalLinks":[],"publishes":[{"name":"OrderComplete","version":"0.0.1","summary":"Event represents when an order has been complete. (Delivered and finished)\n","domain":"Orders","producerNames":["Orders Service"],"consumerNames":["Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"OrderConfirmed","version":"0.0.1","summary":"Event represents when an order has been confirmed and ready to be processed (shipped for example)\n","domain":"Orders","producerNames":["Orders Service"],"consumerNames":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]}],"subscribes":[{"name":"PaymentProcessed","version":"0.0.1","summary":"Holds information about the payment that has been processed.\n","domain":null,"producerNames":["Payment Service"],"consumerNames":["Orders Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]}]}],"consumers":[{"name":"Data Lake"}],"historicVersions":[],"schema":{"snippet":"{\n \"$id\": \"https://example.com/OrderRequested.json\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"OrderRequested\",\n \"type\": \"object\",\n \"properties\": {\n \"metadata\": {\n \"type\": \"object\",\n \"properties\": {\n \"correlationId\": {\n \"type\": \"string\",\n \"description\": \"The ID of the user\"\n },\n \"domain\": {\n \"type\": \"string\",\n \"description\": \"The domain of the event\"\n },\n \"service\": {\n \"type\": \"string\",\n \"description\": \"The name of the service that triggered the event\"\n }\n },\n \"required\": [\"correlationId\", \"domain\", \"service\"]\n },\n \"data\": {\n \"type\": \"object\",\n \"properties\": {\n \"userId\": {\n \"type\": \"string\",\n \"description\": \"The ID of the user\"\n },\n \"orderId\": {\n \"type\": \"string\",\n \"description\": \"The ID the users order\"\n }\n }\n }\n }\n}","language":"json","extension":"json"},"examples":[]},"eventPath":"/domains/Orders/events/OrderComplete","breadCrumbs":[{"name":"Domain","href":"/domains","current":false},{"name":"Orders","href":"/domains/Orders","current":false},{"name":"Events","href":"/events?domain=Orders","current":false},{"name":"OrderComplete","href":"/domains/Orders/events/OrderComplete","current":true}],"markdown":{"content":"\n<Admonition>When firing this event make sure you set the `correlation-id` in the headers. Our schemas have standard metadata make sure you read and follow it.</Admonition>\n\n### Details\n\nThis event is the final event of the ordering process. It gets raised when the shipment has been delivered.\n\n<NodeGraph title=\"Consumer/Producer Diagram\" />\n\n<Schema />","source":{"compiledSource":"var p=Object.defineProperty,c=Object.defineProperties;var u=Object.getOwnPropertyDescriptors;var r=Object.getOwnPropertySymbols;var i=Object.prototype.hasOwnProperty,d=Object.prototype.propertyIsEnumerable;var s=(e,o,t)=>o in e?p(e,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[o]=t,a=(e,o)=>{for(var t in o||(o={}))i.call(o,t)&&s(e,t,o[t]);if(r)for(var t of r(o))d.call(o,t)&&s(e,t,o[t]);return e},h=(e,o)=>c(e,u(o));var m=(e,o)=>{var t={};for(var n in e)i.call(e,n)&&o.indexOf(n)<0&&(t[n]=e[n]);if(e!=null&&r)for(var n of r(e))o.indexOf(n)<0&&d.call(e,n)&&(t[n]=e[n]);return t};const makeShortcode=e=>function(t){return console.warn(\"Component \"+e+\" was not imported, exported, or provided by MDXProvider as global scope\"),mdx(\"div\",a({},t))},Admonition=makeShortcode(\"Admonition\"),NodeGraph=makeShortcode(\"NodeGraph\"),Schema=makeShortcode(\"Schema\"),layoutProps={},MDXLayout=\"wrapper\";function MDXContent(t){var n=t,{components:e}=n,o=m(n,[\"components\"]);return mdx(MDXLayout,h(a(a({},layoutProps),o),{components:e,mdxType:\"MDXLayout\"}),mdx(Admonition,{mdxType:\"Admonition\"},\"When firing this event make sure you set the `correlation-id` in the headers. Our schemas have standard metadata make sure you read and follow it.\"),mdx(\"h3\",null,\"Details\"),mdx(\"p\",null,\"This event is the final event of the ordering process. It gets raised when the shipment has been delivered.\"),mdx(NodeGraph,{title:\"Consumer/Producer Diagram\",mdxType:\"NodeGraph\"}),mdx(Schema,{mdxType:\"Schema\"}))}MDXContent.isMDXComponent=!0;\n","scope":{}},"lastModifiedDate":"2022/5/6"},"loadedVersion":"latest"},"__N_SSG":true}
@@ -1 +1 @@
1
- {"pageProps":{"event":{"name":"OrderConfirmed","version":"0.0.1","summary":"Event represents when an order has been confirmed and ready to be processed (shipped for example)\n","domain":"Orders","producerNames":["Orders Service"],"consumerNames":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"producers":[{"name":"Orders Service","summary":"Service that handles customer orders\n","domain":"Orders","owners":["dboyne"],"repository":{},"tags":[],"externalLinks":[],"publishes":[{"name":"OrderComplete","version":"0.0.1","summary":"Event represents when an order has been complete. (Delivered and finished)\n","domain":"Orders","producerNames":["Orders Service"],"consumerNames":["Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"OrderConfirmed","version":"0.0.1","summary":"Event represents when an order has been confirmed and ready to be processed (shipped for example)\n","domain":"Orders","producerNames":["Orders Service"],"consumerNames":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]}],"subscribes":[{"name":"PaymentProcessed","version":"0.0.1","summary":"Holds information about the payment that has been processed.\n","domain":null,"producerNames":["Payment Service"],"consumerNames":["Orders Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]}]}],"consumers":[{"name":"Shipping Service","summary":"Event based application that handles processing of shipments, preparing them and dispatching them.\n","domain":null,"owners":["dboyne"],"repository":{"language":"JavaScript","url":"https://github.com/boyney123/pretend-shipping-service"},"tags":[],"externalLinks":[],"publishes":[{"name":"ShipmentDelivered","version":"0.0.1","summary":"Event represents when a shipment has been delivered and received.\n","domain":null,"producerNames":["Shipping Service"],"consumerNames":["Order Service","Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"ShipmentDispatched","version":"0.0.1","summary":"Event represents when a shipment has been dispatched.\n","domain":null,"producerNames":["Shipping Service"],"consumerNames":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"ShipmentPrepared","version":"0.0.1","summary":"Event represents when a shipment has finished being prepared and is ready to be dispatched.\n","domain":null,"producerNames":["Shipping Service"],"consumerNames":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]}],"subscribes":[{"name":"OrderConfirmed","version":"0.0.1","summary":"Event represents when an order has been confirmed and ready to be processed (shipped for example)\n","domain":"Orders","producerNames":["Orders Service"],"consumerNames":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"ShipmentDispatched","version":"0.0.1","summary":"Event represents when a shipment has been dispatched.\n","domain":null,"producerNames":["Shipping Service"],"consumerNames":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"ShipmentPrepared","version":"0.0.1","summary":"Event represents when a shipment has finished being prepared and is ready to be dispatched.\n","domain":null,"producerNames":["Shipping Service"],"consumerNames":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]}]}],"historicVersions":[],"schema":{"snippet":"{\n \"$id\": \"https://example.com/OrderRequested.json\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"OrderRequested\",\n \"type\": \"object\",\n \"properties\": {\n \"metadata\": {\n \"type\": \"object\",\n \"properties\": {\n \"correlationId\": {\n \"type\": \"string\",\n \"description\": \"The ID of the user\"\n },\n \"domain\": {\n \"type\": \"string\",\n \"description\": \"The domain of the event\"\n },\n \"service\": {\n \"type\": \"string\",\n \"description\": \"The name of the service that triggered the event\"\n }\n },\n \"required\": [\"correlationId\", \"domain\", \"service\"]\n },\n \"data\": {\n \"type\": \"object\",\n \"properties\": {\n \"userId\": {\n \"type\": \"string\",\n \"description\": \"The ID of the user\"\n },\n \"orderId\": {\n \"type\": \"string\",\n \"description\": \"The ID the users order\"\n }\n }\n }\n }\n}","language":"json","extension":"json"},"examples":[]},"eventPath":"/domains/Orders/events/OrderConfirmed","breadCrumbs":[{"name":"Domain","href":"/domains","current":false},{"name":"Orders","href":"/domains/Orders","current":false},{"name":"Events","href":"/events?domain=Orders","current":false},{"name":"OrderConfirmed","href":"/domains/Orders/events/OrderConfirmed","current":true}],"markdown":{"content":"\n<Admonition>When firing this event make sure you set the `correlation-id` in the headers. Our schemas have standard metadata make sure you read and follow it.</Admonition>\n\n### Details\n\nThis event is triggered when the customers order has been verified and the stock has been checked. Once this event is triggered we are safe to say it is ready for shipment.\n\n<NodeGraph title=\"Consumer/Producer Diagram\" />\n\n<Schema />","source":{"compiledSource":"var m=Object.defineProperty,p=Object.defineProperties;var u=Object.getOwnPropertyDescriptors;var r=Object.getOwnPropertySymbols;var i=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable;var d=(e,o,t)=>o in e?m(e,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[o]=t,a=(e,o)=>{for(var t in o||(o={}))i.call(o,t)&&d(e,t,o[t]);if(r)for(var t of r(o))s.call(o,t)&&d(e,t,o[t]);return e},h=(e,o)=>p(e,u(o));var c=(e,o)=>{var t={};for(var n in e)i.call(e,n)&&o.indexOf(n)<0&&(t[n]=e[n]);if(e!=null&&r)for(var n of r(e))o.indexOf(n)<0&&s.call(e,n)&&(t[n]=e[n]);return t};const makeShortcode=e=>function(t){return console.warn(\"Component \"+e+\" was not imported, exported, or provided by MDXProvider as global scope\"),mdx(\"div\",a({},t))},Admonition=makeShortcode(\"Admonition\"),NodeGraph=makeShortcode(\"NodeGraph\"),Schema=makeShortcode(\"Schema\"),layoutProps={},MDXLayout=\"wrapper\";function MDXContent(t){var n=t,{components:e}=n,o=c(n,[\"components\"]);return mdx(MDXLayout,h(a(a({},layoutProps),o),{components:e,mdxType:\"MDXLayout\"}),mdx(Admonition,{mdxType:\"Admonition\"},\"When firing this event make sure you set the `correlation-id` in the headers. Our schemas have standard metadata make sure you read and follow it.\"),mdx(\"h3\",null,\"Details\"),mdx(\"p\",null,\"This event is triggered when the customers order has been verified and the stock has been checked. Once this event is triggered we are safe to say it is ready for shipment.\"),mdx(NodeGraph,{title:\"Consumer/Producer Diagram\",mdxType:\"NodeGraph\"}),mdx(Schema,{mdxType:\"Schema\"}))}MDXContent.isMDXComponent=!0;\n","scope":{}},"lastModifiedDate":"2022/5/3"},"loadedVersion":"latest"},"__N_SSG":true}
1
+ {"pageProps":{"event":{"name":"OrderConfirmed","version":"0.0.1","summary":"Event represents when an order has been confirmed and ready to be processed (shipped for example)\n","domain":"Orders","producerNames":["Orders Service"],"consumerNames":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"producers":[{"name":"Orders Service","summary":"Service that handles customer orders\n","domain":"Orders","owners":["dboyne"],"repository":{},"tags":[],"externalLinks":[],"publishes":[{"name":"OrderComplete","version":"0.0.1","summary":"Event represents when an order has been complete. (Delivered and finished)\n","domain":"Orders","producerNames":["Orders Service"],"consumerNames":["Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"OrderConfirmed","version":"0.0.1","summary":"Event represents when an order has been confirmed and ready to be processed (shipped for example)\n","domain":"Orders","producerNames":["Orders Service"],"consumerNames":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]}],"subscribes":[{"name":"PaymentProcessed","version":"0.0.1","summary":"Holds information about the payment that has been processed.\n","domain":null,"producerNames":["Payment Service"],"consumerNames":["Orders Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]}]}],"consumers":[{"name":"Shipping Service","summary":"Event based application that handles processing of shipments, preparing them and dispatching them.\n","domain":null,"owners":["dboyne"],"repository":{"language":"JavaScript","url":"https://github.com/boyney123/pretend-shipping-service"},"tags":[],"externalLinks":[],"publishes":[{"name":"ShipmentDelivered","version":"0.0.1","summary":"Event represents when a shipment has been delivered and received.\n","domain":null,"producerNames":["Shipping Service"],"consumerNames":["Order Service","Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"ShipmentDispatched","version":"0.0.1","summary":"Event represents when a shipment has been dispatched.\n","domain":null,"producerNames":["Shipping Service"],"consumerNames":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"ShipmentPrepared","version":"0.0.1","summary":"Event represents when a shipment has finished being prepared and is ready to be dispatched.\n","domain":null,"producerNames":["Shipping Service"],"consumerNames":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]}],"subscribes":[{"name":"OrderConfirmed","version":"0.0.1","summary":"Event represents when an order has been confirmed and ready to be processed (shipped for example)\n","domain":"Orders","producerNames":["Orders Service"],"consumerNames":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"ShipmentDispatched","version":"0.0.1","summary":"Event represents when a shipment has been dispatched.\n","domain":null,"producerNames":["Shipping Service"],"consumerNames":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"ShipmentPrepared","version":"0.0.1","summary":"Event represents when a shipment has finished being prepared and is ready to be dispatched.\n","domain":null,"producerNames":["Shipping Service"],"consumerNames":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]}]}],"historicVersions":[],"schema":{"snippet":"{\n \"$id\": \"https://example.com/OrderRequested.json\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"OrderRequested\",\n \"type\": \"object\",\n \"properties\": {\n \"metadata\": {\n \"type\": \"object\",\n \"properties\": {\n \"correlationId\": {\n \"type\": \"string\",\n \"description\": \"The ID of the user\"\n },\n \"domain\": {\n \"type\": \"string\",\n \"description\": \"The domain of the event\"\n },\n \"service\": {\n \"type\": \"string\",\n \"description\": \"The name of the service that triggered the event\"\n }\n },\n \"required\": [\"correlationId\", \"domain\", \"service\"]\n },\n \"data\": {\n \"type\": \"object\",\n \"properties\": {\n \"userId\": {\n \"type\": \"string\",\n \"description\": \"The ID of the user\"\n },\n \"orderId\": {\n \"type\": \"string\",\n \"description\": \"The ID the users order\"\n }\n }\n }\n }\n}","language":"json","extension":"json"},"examples":[]},"eventPath":"/domains/Orders/events/OrderConfirmed","breadCrumbs":[{"name":"Domain","href":"/domains","current":false},{"name":"Orders","href":"/domains/Orders","current":false},{"name":"Events","href":"/events?domain=Orders","current":false},{"name":"OrderConfirmed","href":"/domains/Orders/events/OrderConfirmed","current":true}],"markdown":{"content":"\n<Admonition>When firing this event make sure you set the `correlation-id` in the headers. Our schemas have standard metadata make sure you read and follow it.</Admonition>\n\n### Details\n\nThis event is triggered when the customers order has been verified and the stock has been checked. Once this event is triggered we are safe to say it is ready for shipment.\n\n<NodeGraph title=\"Consumer/Producer Diagram\" />\n\n<Schema />","source":{"compiledSource":"var m=Object.defineProperty,p=Object.defineProperties;var u=Object.getOwnPropertyDescriptors;var r=Object.getOwnPropertySymbols;var i=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable;var d=(e,o,t)=>o in e?m(e,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[o]=t,a=(e,o)=>{for(var t in o||(o={}))i.call(o,t)&&d(e,t,o[t]);if(r)for(var t of r(o))s.call(o,t)&&d(e,t,o[t]);return e},h=(e,o)=>p(e,u(o));var c=(e,o)=>{var t={};for(var n in e)i.call(e,n)&&o.indexOf(n)<0&&(t[n]=e[n]);if(e!=null&&r)for(var n of r(e))o.indexOf(n)<0&&s.call(e,n)&&(t[n]=e[n]);return t};const makeShortcode=e=>function(t){return console.warn(\"Component \"+e+\" was not imported, exported, or provided by MDXProvider as global scope\"),mdx(\"div\",a({},t))},Admonition=makeShortcode(\"Admonition\"),NodeGraph=makeShortcode(\"NodeGraph\"),Schema=makeShortcode(\"Schema\"),layoutProps={},MDXLayout=\"wrapper\";function MDXContent(t){var n=t,{components:e}=n,o=c(n,[\"components\"]);return mdx(MDXLayout,h(a(a({},layoutProps),o),{components:e,mdxType:\"MDXLayout\"}),mdx(Admonition,{mdxType:\"Admonition\"},\"When firing this event make sure you set the `correlation-id` in the headers. Our schemas have standard metadata make sure you read and follow it.\"),mdx(\"h3\",null,\"Details\"),mdx(\"p\",null,\"This event is triggered when the customers order has been verified and the stock has been checked. Once this event is triggered we are safe to say it is ready for shipment.\"),mdx(NodeGraph,{title:\"Consumer/Producer Diagram\",mdxType:\"NodeGraph\"}),mdx(Schema,{mdxType:\"Schema\"}))}MDXContent.isMDXComponent=!0;\n","scope":{}},"lastModifiedDate":"2022/5/6"},"loadedVersion":"latest"},"__N_SSG":true}
@@ -0,0 +1 @@
1
+ {"pageProps":{"changes":[],"event":{"name":"OrderRequested","version":"0.0.1","summary":"Holds information about the customers order.\n","domain":"Orders","producerNames":["Basket Service"],"consumerNames":["Payment Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"producers":[{"name":"Basket Service"}],"consumers":[{"name":"Payment Service","summary":"Event based application that integrates with Stripe.\n","domain":null,"owners":["dboyne"],"repository":{},"tags":[],"externalLinks":[],"publishes":[{"name":"PaymentProcessed","version":"0.0.1","summary":"Holds information about the payment that has been processed.\n","domain":null,"producerNames":["Payment Service"],"consumerNames":["Orders Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]}],"subscribes":[{"name":"OrderRequested","version":"0.0.1","summary":"Holds information about the customers order.\n","domain":"Orders","producerNames":["Basket Service"],"consumerNames":["Payment Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]}]}],"historicVersions":[],"schema":{"snippet":"{\n \"$id\": \"https://example.com/OrderRequested.json\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"OrderRequested\",\n \"type\": \"object\",\n \"properties\": {\n \"metadata\": {\n \"type\": \"object\",\n \"properties\": {\n \"correlationId\": {\n \"type\": \"string\",\n \"description\": \"The ID of the user\"\n },\n \"domain\": {\n \"type\": \"string\",\n \"description\": \"The domain of the event\"\n },\n \"service\": {\n \"type\": \"string\",\n \"description\": \"The name of the service that triggered the event\"\n }\n },\n \"required\": [\"correlationId\", \"domain\", \"service\"]\n },\n \"data\": {\n \"type\": \"object\",\n \"properties\": {\n \"userId\": {\n \"type\": \"string\",\n \"description\": \"The ID of the user\"\n },\n \"orderId\": {\n \"type\": \"string\",\n \"description\": \"The ID the users order\"\n }\n }\n }\n }\n}","language":"json","extension":"json"},"examples":[]},"breadCrumbs":[{"name":"Domain","href":"/domains","current":false},{"name":"Orders","href":"/domains/Orders","current":false},{"name":"Events","href":"/events?domain=Orders","current":false},{"name":"OrderRequested","href":"/domains/Orders/events/OrderRequested","current":true},{"name":"Logs","href":"/events/OrderRequested/history","current":true}]},"__N_SSG":true}
@@ -0,0 +1 @@
1
+ {"pageProps":{"event":{"name":"OrderRequested","version":"0.0.1","summary":"Holds information about the customers order.\n","domain":"Orders","producerNames":["Basket Service"],"consumerNames":["Payment Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"producers":[{"name":"Basket Service"}],"consumers":[{"name":"Payment Service","summary":"Event based application that integrates with Stripe.\n","domain":null,"owners":["dboyne"],"repository":{},"tags":[],"externalLinks":[],"publishes":[{"name":"PaymentProcessed","version":"0.0.1","summary":"Holds information about the payment that has been processed.\n","domain":null,"producerNames":["Payment Service"],"consumerNames":["Orders Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]}],"subscribes":[{"name":"OrderRequested","version":"0.0.1","summary":"Holds information about the customers order.\n","domain":"Orders","producerNames":["Basket Service"],"consumerNames":["Payment Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]}]}],"historicVersions":[],"schema":{"snippet":"{\n \"$id\": \"https://example.com/OrderRequested.json\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"OrderRequested\",\n \"type\": \"object\",\n \"properties\": {\n \"metadata\": {\n \"type\": \"object\",\n \"properties\": {\n \"correlationId\": {\n \"type\": \"string\",\n \"description\": \"The ID of the user\"\n },\n \"domain\": {\n \"type\": \"string\",\n \"description\": \"The domain of the event\"\n },\n \"service\": {\n \"type\": \"string\",\n \"description\": \"The name of the service that triggered the event\"\n }\n },\n \"required\": [\"correlationId\", \"domain\", \"service\"]\n },\n \"data\": {\n \"type\": \"object\",\n \"properties\": {\n \"userId\": {\n \"type\": \"string\",\n \"description\": \"The ID of the user\"\n },\n \"orderId\": {\n \"type\": \"string\",\n \"description\": \"The ID the users order\"\n }\n }\n }\n }\n}","language":"json","extension":"json"},"examples":[]},"eventPath":"/domains/Orders/events/OrderRequested","breadCrumbs":[{"name":"Domain","href":"/domains","current":false},{"name":"Orders","href":"/domains/Orders","current":false},{"name":"Events","href":"/events?domain=Orders","current":false},{"name":"OrderRequested","href":"/domains/Orders/events/OrderRequested","current":true}],"markdown":{"content":"\n<Admonition>When firing this event make sure you set the `correlation-id` in the headers. Our schemas have standard metadata make sure you read and follow it.</Admonition>\n\n### Details\n\nThis event is triggered when the user confirms their order and wants to process their payment.\n\nWe have a frontend application that allows users to buy things from our store. The frontend application interacts with the Backet Service to trigger the `OrderRequested` event.\n\n<NodeGraph title=\"Consumer/Producer Diagram\" />\n\n<Schema />","source":{"compiledSource":"var c=Object.defineProperty,m=Object.defineProperties;var u=Object.getOwnPropertyDescriptors;var r=Object.getOwnPropertySymbols;var i=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable;var d=(e,t,o)=>t in e?c(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,a=(e,t)=>{for(var o in t||(t={}))i.call(t,o)&&d(e,o,t[o]);if(r)for(var o of r(t))s.call(t,o)&&d(e,o,t[o]);return e},h=(e,t)=>m(e,u(t));var p=(e,t)=>{var o={};for(var n in e)i.call(e,n)&&t.indexOf(n)<0&&(o[n]=e[n]);if(e!=null&&r)for(var n of r(e))t.indexOf(n)<0&&s.call(e,n)&&(o[n]=e[n]);return o};const makeShortcode=e=>function(o){return console.warn(\"Component \"+e+\" was not imported, exported, or provided by MDXProvider as global scope\"),mdx(\"div\",a({},o))},Admonition=makeShortcode(\"Admonition\"),NodeGraph=makeShortcode(\"NodeGraph\"),Schema=makeShortcode(\"Schema\"),layoutProps={},MDXLayout=\"wrapper\";function MDXContent(o){var n=o,{components:e}=n,t=p(n,[\"components\"]);return mdx(MDXLayout,h(a(a({},layoutProps),t),{components:e,mdxType:\"MDXLayout\"}),mdx(Admonition,{mdxType:\"Admonition\"},\"When firing this event make sure you set the `correlation-id` in the headers. Our schemas have standard metadata make sure you read and follow it.\"),mdx(\"h3\",null,\"Details\"),mdx(\"p\",null,\"This event is triggered when the user confirms their order and wants to process their payment.\"),mdx(\"p\",null,\"We have a frontend application that allows users to buy things from our store. The frontend application interacts with the Backet Service to trigger the \",mdx(\"inlineCode\",{parentName:\"p\"},\"OrderRequested\"),\" event.\"),mdx(NodeGraph,{title:\"Consumer/Producer Diagram\",mdxType:\"NodeGraph\"}),mdx(Schema,{mdxType:\"Schema\"}))}MDXContent.isMDXComponent=!0;\n","scope":{}},"lastModifiedDate":"2022/5/6"},"loadedVersion":"latest"},"__N_SSG":true}
@@ -1 +1 @@
1
- {"pageProps":{"service":{"name":"Orders Service","summary":"Service that handles customer orders\n","domain":"Orders","owners":["dboyne"],"repository":{},"tags":[],"externalLinks":[],"openAPISpec":null,"publishes":[{"name":"OrderComplete","version":"0.0.1","summary":"Event represents when an order has been complete. (Delivered and finished)\n","domain":"Orders","producerNames":["Orders Service"],"consumerNames":["Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"OrderConfirmed","version":"0.0.1","summary":"Event represents when an order has been confirmed and ready to be processed (shipped for example)\n","domain":"Orders","producerNames":["Orders Service"],"consumerNames":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]}],"subscribes":[{"name":"PaymentProcessed","version":"0.0.1","summary":"Holds information about the payment that has been processed.\n","domain":null,"producerNames":["Payment Service"],"consumerNames":["Orders Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]}]},"markdown":{"content":"\nThe order service is our internal API written in NodeJS that handles customer orders.\n\n<NodeGraph />","lastModifiedDate":"2022/5/3","source":{"compiledSource":"var u=Object.defineProperty,h=Object.defineProperties;var m=Object.getOwnPropertyDescriptors;var n=Object.getOwnPropertySymbols;var d=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable;var s=(o,e,t)=>e in o?u(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,a=(o,e)=>{for(var t in e||(e={}))d.call(e,t)&&s(o,t,e[t]);if(n)for(var t of n(e))p.call(e,t)&&s(o,t,e[t]);return o},c=(o,e)=>h(o,m(e));var i=(o,e)=>{var t={};for(var r in o)d.call(o,r)&&e.indexOf(r)<0&&(t[r]=o[r]);if(o!=null&&n)for(var r of n(o))e.indexOf(r)<0&&p.call(o,r)&&(t[r]=o[r]);return t};const makeShortcode=o=>function(t){return console.warn(\"Component \"+o+\" was not imported, exported, or provided by MDXProvider as global scope\"),mdx(\"div\",a({},t))},NodeGraph=makeShortcode(\"NodeGraph\"),layoutProps={},MDXLayout=\"wrapper\";function MDXContent(t){var r=t,{components:o}=r,e=i(r,[\"components\"]);return mdx(MDXLayout,c(a(a({},layoutProps),e),{components:o,mdxType:\"MDXLayout\"}),mdx(\"p\",null,\"The order service is our internal API written in NodeJS that handles customer orders.\"),mdx(NodeGraph,{mdxType:\"NodeGraph\"}))}MDXContent.isMDXComponent=!0;\n","scope":{}}},"breadCrumbs":[{"name":"Domain","href":"/domains","current":false},{"name":"Orders","href":"/domains/Orders","current":false},{"name":"Services","href":"/services","current":false},{"name":"Orders Service","href":"/domains/Orders/services/Orders Service","current":true}]},"__N_SSG":true}
1
+ {"pageProps":{"service":{"name":"Orders Service","summary":"Service that handles customer orders\n","domain":"Orders","owners":["dboyne"],"repository":{},"tags":[],"externalLinks":[],"openAPISpec":null,"publishes":[{"name":"OrderComplete","version":"0.0.1","summary":"Event represents when an order has been complete. (Delivered and finished)\n","domain":"Orders","producerNames":["Orders Service"],"consumerNames":["Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"OrderConfirmed","version":"0.0.1","summary":"Event represents when an order has been confirmed and ready to be processed (shipped for example)\n","domain":"Orders","producerNames":["Orders Service"],"consumerNames":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]}],"subscribes":[{"name":"PaymentProcessed","version":"0.0.1","summary":"Holds information about the payment that has been processed.\n","domain":null,"producerNames":["Payment Service"],"consumerNames":["Orders Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]}]},"markdown":{"content":"\nThe order service is our internal API written in NodeJS that handles customer orders.\n\n<NodeGraph />","lastModifiedDate":"2022/5/6","source":{"compiledSource":"var u=Object.defineProperty,h=Object.defineProperties;var m=Object.getOwnPropertyDescriptors;var n=Object.getOwnPropertySymbols;var d=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable;var s=(o,e,t)=>e in o?u(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,a=(o,e)=>{for(var t in e||(e={}))d.call(e,t)&&s(o,t,e[t]);if(n)for(var t of n(e))p.call(e,t)&&s(o,t,e[t]);return o},c=(o,e)=>h(o,m(e));var i=(o,e)=>{var t={};for(var r in o)d.call(o,r)&&e.indexOf(r)<0&&(t[r]=o[r]);if(o!=null&&n)for(var r of n(o))e.indexOf(r)<0&&p.call(o,r)&&(t[r]=o[r]);return t};const makeShortcode=o=>function(t){return console.warn(\"Component \"+o+\" was not imported, exported, or provided by MDXProvider as global scope\"),mdx(\"div\",a({},t))},NodeGraph=makeShortcode(\"NodeGraph\"),layoutProps={},MDXLayout=\"wrapper\";function MDXContent(t){var r=t,{components:o}=r,e=i(r,[\"components\"]);return mdx(MDXLayout,c(a(a({},layoutProps),e),{components:o,mdxType:\"MDXLayout\"}),mdx(\"p\",null,\"The order service is our internal API written in NodeJS that handles customer orders.\"),mdx(NodeGraph,{mdxType:\"NodeGraph\"}))}MDXContent.isMDXComponent=!0;\n","scope":{}}},"breadCrumbs":[{"name":"Domain","href":"/domains","current":false},{"name":"Orders","href":"/domains/Orders","current":false},{"name":"Services","href":"/services","current":false},{"name":"Orders Service","href":"/domains/Orders/services/Orders Service","current":true}]},"__N_SSG":true}