@eventcatalog/core 0.2.9 → 0.2.12
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.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +67 -55
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/config.json +3 -3
- package/.next/cache/eslint/.cache_1bay4w0 +1 -1
- package/.next/cache/next-server.js.nft.json +1 -1
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/react-loadable-manifest.json +2 -2
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/29.js +14 -0
- package/.next/server/chunks/484.js +9 -23
- package/.next/server/chunks/50.js +61 -20
- package/.next/server/chunks/944.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages/domains/Orders/events/OrderComplete/logs.html +1 -1
- package/.next/server/pages/domains/Orders/events/OrderComplete.html +2 -2
- package/.next/server/pages/domains/Orders/events/OrderComplete.json +1 -1
- package/.next/server/pages/domains/Orders/events/OrderConfirmed/logs.html +1 -1
- package/.next/server/pages/domains/Orders/events/OrderConfirmed.html +2 -2
- package/.next/server/pages/domains/Orders/events/OrderConfirmed.json +1 -1
- package/.next/server/pages/domains/Orders/events/OrderRequested/logs.html +1 -1
- package/.next/server/pages/domains/Orders/events/OrderRequested.html +2 -2
- package/.next/server/pages/domains/Orders/events/OrderRequested.json +1 -1
- package/.next/server/pages/domains/Orders/services/Orders Service.html +2 -2
- package/.next/server/pages/domains/Orders/services/Orders Service.json +1 -1
- package/.next/server/pages/domains/Orders.html +2 -2
- package/.next/server/pages/domains/Orders.json +1 -1
- package/.next/server/pages/domains/Shopping/events/AddedItemToCart/logs.html +1 -1
- package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.1.html +2 -2
- package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.1.json +1 -1
- package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.2.html +2 -2
- package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.2.json +1 -1
- package/.next/server/pages/domains/Shopping/events/AddedItemToCart.html +2 -2
- package/.next/server/pages/domains/Shopping/events/AddedItemToCart.json +1 -1
- package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart/logs.html +1 -1
- package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart.html +2 -2
- package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart.json +1 -1
- package/.next/server/pages/domains/Shopping.html +2 -2
- package/.next/server/pages/domains/Shopping.json +1 -1
- package/.next/server/pages/domains/[domain]/events/[name]/v/[version].js +1 -1
- package/.next/server/pages/domains/[domain]/events/[name].js +1 -1
- package/.next/server/pages/domains/[domain]/services/[name].js +7 -0
- package/.next/server/pages/domains.html +2 -2
- package/.next/server/pages/events/PaymentProcessed/logs.html +1 -1
- package/.next/server/pages/events/PaymentProcessed.html +2 -2
- package/.next/server/pages/events/PaymentProcessed.json +1 -1
- package/.next/server/pages/events/ShipmentDelivered/logs.html +1 -1
- package/.next/server/pages/events/ShipmentDelivered.html +2 -2
- package/.next/server/pages/events/ShipmentDelivered.json +1 -1
- package/.next/server/pages/events/ShipmentDispatched/logs.html +1 -1
- package/.next/server/pages/events/ShipmentDispatched.html +2 -2
- package/.next/server/pages/events/ShipmentDispatched.json +1 -1
- package/.next/server/pages/events/ShipmentPrepared/logs.html +1 -1
- package/.next/server/pages/events/ShipmentPrepared.html +2 -2
- package/.next/server/pages/events/ShipmentPrepared.json +1 -1
- package/.next/server/pages/events/[name]/v/[version].js +1 -1
- package/.next/server/pages/events/[name].js +1 -1
- package/.next/server/pages/events.html +2 -2
- package/.next/server/pages/index.html +1 -1
- package/.next/server/pages/overview.html +1 -1
- package/.next/server/pages/services/Orders Service.html +1 -1
- package/.next/server/pages/services/Payment Service.html +2 -2
- package/.next/server/pages/services/Payment Service.json +1 -1
- package/.next/server/pages/services/Shipping Service.html +2 -2
- package/.next/server/pages/services/Shipping Service.json +1 -1
- package/.next/server/pages/services/[name].js +7 -0
- package/.next/server/pages/services.html +2 -2
- package/.next/server/pages/users/dboyne.html +2 -2
- package/.next/server/pages/users/mSmith.html +2 -2
- package/.next/server/pages/visualiser.html +2 -2
- package/.next/static/P5kR3NJnMI8_LCcCh0vDK/_buildManifest.js +1 -0
- package/.next/static/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/_middlewareManifest.js +0 -0
- package/.next/static/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/_ssgManifest.js +0 -0
- package/.next/static/chunks/102-8f499174d959ae76.js +1 -0
- package/.next/static/chunks/109-d34abdcb3eb2dcd9.js +1 -0
- package/.next/static/chunks/178-7604eb85b765379d.js +1 -0
- package/.next/static/chunks/223-30d08619b4edda15.js +1 -0
- package/.next/static/chunks/379.1804d2aabaeb062b.js +1 -0
- package/.next/static/chunks/40247457-5e8b57cf2f01f630.js +1 -0
- package/.next/static/chunks/470-f4091fe4e0b2b803.js +1 -0
- package/.next/static/chunks/681-0739f8ea484461b9.js +1 -0
- package/.next/static/chunks/{7f5d3f51-83121b73403fb948.js → 7f5d3f51-910a6c1f7e252346.js} +1 -1
- package/.next/static/chunks/903-34d2b253285a8ae4.js +1 -0
- package/.next/static/chunks/pages/domains/[domain]/events/[name]/v/{[version]-a7fa6002267ccd3b.js → [version]-d1aa840823fe776a.js} +1 -1
- package/.next/static/chunks/pages/domains/[domain]/events/{[name]-a5fb5b26471e703b.js → [name]-f4cdf2a266e66be5.js} +1 -1
- package/.next/static/chunks/pages/domains/[domain]/services/{[name]-80d6d803e5466b81.js → [name]-49bce8da5b1625d0.js} +1 -1
- package/.next/static/chunks/pages/events/[name]/v/{[version]-93d978734b0dc0a3.js → [version]-eb1b8cbc04f132e4.js} +1 -1
- package/.next/static/chunks/pages/events/{[name]-d3d2a03948b8dfeb.js → [name]-a4c0d33ba9dfc927.js} +1 -1
- package/{out/_next/static/chunks/pages/overview-7ada2cb9fcb9a9ea.js → .next/static/chunks/pages/overview-3fc16cb1ae9c6206.js} +1 -1
- package/.next/static/chunks/pages/services/[name]-5355630da956ee4f.js +1 -0
- package/.next/static/chunks/webpack-5243ea3e842fcabb.js +1 -0
- package/.next/static/css/996136b57250cdf7.css +3 -0
- package/.next/static/css/bc1af6b16510c531.css +2 -0
- package/.next/trace +65 -57
- package/CHANGELOG.md +18 -0
- package/components/Mdx/NodeGraph/GraphLayout.ts +4 -3
- package/components/Mdx/NodeGraph/NodeGraph.tsx +33 -44
- package/components/Mdx/NodeGraph/__tests__/GraphLayout.spec.ts +19 -8
- package/components/Mdx/OpenApiSpec.tsx +18 -0
- package/components/Sidebars/EventSidebar.tsx +1 -1
- package/lib/__tests__/assets/services/Payment Service/index.md +7 -0
- package/lib/__tests__/assets/services/Payment Service/openapi.yaml +94 -0
- package/lib/__tests__/file-reader.spec.ts +19 -1
- package/lib/__tests__/services.spec.ts +25 -12
- package/lib/file-reader.ts +13 -0
- package/lib/services.ts +2 -1
- package/out/404/index.html +1 -1
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/domains/Orders/events/OrderComplete/logs.json +0 -0
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/domains/Orders/events/OrderComplete.json +1 -1
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/domains/Orders/events/OrderConfirmed/logs.json +0 -0
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/domains/Orders/events/OrderConfirmed.json +1 -1
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/domains/Orders/events/OrderRequested/logs.json +0 -0
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/domains/Orders/events/OrderRequested.json +1 -1
- package/out/_next/data/P5kR3NJnMI8_LCcCh0vDK/domains/Orders/services/Orders Service.json +1 -0
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/domains/Orders.json +1 -1
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/domains/Shopping/events/AddedItemToCart/logs.json +0 -0
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/domains/Shopping/events/AddedItemToCart/v/0.0.1.json +1 -1
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/domains/Shopping/events/AddedItemToCart/v/0.0.2.json +1 -1
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/domains/Shopping/events/AddedItemToCart.json +1 -1
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/domains/Shopping/events/RemovedItemFromCart/logs.json +0 -0
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/domains/Shopping/events/RemovedItemFromCart.json +1 -1
- package/out/_next/data/P5kR3NJnMI8_LCcCh0vDK/domains/Shopping.json +1 -0
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/domains.json +0 -0
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/events/PaymentProcessed/logs.json +0 -0
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/events/PaymentProcessed.json +1 -1
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/events/ShipmentDelivered/logs.json +0 -0
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/events/ShipmentDelivered.json +1 -1
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/events/ShipmentDispatched/logs.json +0 -0
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/events/ShipmentDispatched.json +1 -1
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/events/ShipmentPrepared/logs.json +0 -0
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/events/ShipmentPrepared.json +1 -1
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/events.json +0 -0
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/overview.json +0 -0
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/services/Orders Service.json +0 -0
- package/out/_next/data/P5kR3NJnMI8_LCcCh0vDK/services/Payment Service.json +1 -0
- package/out/_next/data/P5kR3NJnMI8_LCcCh0vDK/services/Shipping Service.json +1 -0
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/services.json +0 -0
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/users/dboyne.json +0 -0
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/users/mSmith.json +0 -0
- package/out/_next/data/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/visualiser.json +0 -0
- package/out/_next/static/P5kR3NJnMI8_LCcCh0vDK/_buildManifest.js +1 -0
- package/out/_next/static/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/_middlewareManifest.js +0 -0
- package/out/_next/static/{053__bBTIZvPKam2MmLPC → P5kR3NJnMI8_LCcCh0vDK}/_ssgManifest.js +0 -0
- package/out/_next/static/chunks/102-8f499174d959ae76.js +1 -0
- package/out/_next/static/chunks/109-d34abdcb3eb2dcd9.js +1 -0
- package/out/_next/static/chunks/178-7604eb85b765379d.js +1 -0
- package/out/_next/static/chunks/223-30d08619b4edda15.js +1 -0
- package/out/_next/static/chunks/379.1804d2aabaeb062b.js +1 -0
- package/out/_next/static/chunks/40247457-5e8b57cf2f01f630.js +1 -0
- package/out/_next/static/chunks/470-f4091fe4e0b2b803.js +1 -0
- package/out/_next/static/chunks/681-0739f8ea484461b9.js +1 -0
- package/out/_next/static/chunks/{7f5d3f51-83121b73403fb948.js → 7f5d3f51-910a6c1f7e252346.js} +1 -1
- package/out/_next/static/chunks/903-34d2b253285a8ae4.js +1 -0
- package/out/_next/static/chunks/pages/domains/[domain]/events/[name]/v/{[version]-a7fa6002267ccd3b.js → [version]-d1aa840823fe776a.js} +1 -1
- package/out/_next/static/chunks/pages/domains/[domain]/events/{[name]-a5fb5b26471e703b.js → [name]-f4cdf2a266e66be5.js} +1 -1
- package/out/_next/static/chunks/pages/domains/[domain]/services/{[name]-80d6d803e5466b81.js → [name]-49bce8da5b1625d0.js} +1 -1
- package/out/_next/static/chunks/pages/events/[name]/v/{[version]-93d978734b0dc0a3.js → [version]-eb1b8cbc04f132e4.js} +1 -1
- package/out/_next/static/chunks/pages/events/{[name]-d3d2a03948b8dfeb.js → [name]-a4c0d33ba9dfc927.js} +1 -1
- package/{.next/static/chunks/pages/overview-7ada2cb9fcb9a9ea.js → out/_next/static/chunks/pages/overview-3fc16cb1ae9c6206.js} +1 -1
- package/out/_next/static/chunks/pages/services/[name]-5355630da956ee4f.js +1 -0
- package/out/_next/static/chunks/webpack-5243ea3e842fcabb.js +1 -0
- package/out/_next/static/css/996136b57250cdf7.css +3 -0
- package/out/_next/static/css/bc1af6b16510c531.css +2 -0
- package/out/domains/Orders/events/OrderComplete/index.html +2 -2
- package/out/domains/Orders/events/OrderComplete/logs/index.html +1 -1
- package/out/domains/Orders/events/OrderConfirmed/index.html +2 -2
- package/out/domains/Orders/events/OrderConfirmed/logs/index.html +1 -1
- package/out/domains/Orders/events/OrderRequested/index.html +2 -2
- package/out/domains/Orders/events/OrderRequested/logs/index.html +1 -1
- package/out/domains/Orders/index.html +2 -2
- package/out/domains/Orders/services/Orders Service/index.html +2 -2
- package/out/domains/Shopping/events/AddedItemToCart/index.html +2 -2
- package/out/domains/Shopping/events/AddedItemToCart/logs/index.html +1 -1
- package/out/domains/Shopping/events/AddedItemToCart/v/0.0.1/index.html +2 -2
- package/out/domains/Shopping/events/AddedItemToCart/v/0.0.2/index.html +2 -2
- package/out/domains/Shopping/events/RemovedItemFromCart/index.html +2 -2
- package/out/domains/Shopping/events/RemovedItemFromCart/logs/index.html +1 -1
- package/out/domains/Shopping/index.html +2 -2
- package/out/domains/index.html +2 -2
- package/out/events/PaymentProcessed/index.html +2 -2
- package/out/events/PaymentProcessed/logs/index.html +1 -1
- package/out/events/ShipmentDelivered/index.html +2 -2
- package/out/events/ShipmentDelivered/logs/index.html +1 -1
- package/out/events/ShipmentDispatched/index.html +2 -2
- package/out/events/ShipmentDispatched/logs/index.html +1 -1
- package/out/events/ShipmentPrepared/index.html +2 -2
- package/out/events/ShipmentPrepared/logs/index.html +1 -1
- package/out/events/index.html +2 -2
- package/out/index.html +1 -1
- package/out/overview/index.html +1 -1
- package/out/services/Orders Service/index.html +1 -1
- package/out/services/Payment Service/index.html +2 -2
- package/out/services/Shipping Service/index.html +2 -2
- package/out/services/index.html +2 -2
- package/out/users/dboyne/index.html +2 -2
- package/out/users/mSmith/index.html +2 -2
- package/out/visualiser/index.html +2 -2
- package/package.json +7 -5
- package/pages/services/[name].tsx +6 -1
- package/styles/globals.css +19 -0
- package/.next/static/053__bBTIZvPKam2MmLPC/_buildManifest.js +0 -1
- package/.next/static/chunks/109-7e910ba645edff2d.js +0 -1
- package/.next/static/chunks/178-c0d21132335f7d58.js +0 -1
- package/.next/static/chunks/5-6380a6f543e8372a.js +0 -1
- package/.next/static/chunks/585-8ff3ec10b43fcb10.js +0 -1
- package/.next/static/chunks/650-7b49ecd97114e917.js +0 -1
- package/.next/static/chunks/802.7a3e85882c0aeb52.js +0 -1
- package/.next/static/chunks/pages/services/[name]-148079bb388f8c53.js +0 -1
- package/.next/static/chunks/webpack-e5e3b0fb197a3a00.js +0 -1
- package/.next/static/css/0a26a4437a9215b6.css +0 -3
- package/out/_next/data/053__bBTIZvPKam2MmLPC/domains/Orders/services/Orders Service.json +0 -1
- package/out/_next/data/053__bBTIZvPKam2MmLPC/domains/Shopping.json +0 -1
- package/out/_next/data/053__bBTIZvPKam2MmLPC/services/Payment Service.json +0 -1
- package/out/_next/data/053__bBTIZvPKam2MmLPC/services/Shipping Service.json +0 -1
- package/out/_next/static/053__bBTIZvPKam2MmLPC/_buildManifest.js +0 -1
- package/out/_next/static/chunks/109-7e910ba645edff2d.js +0 -1
- package/out/_next/static/chunks/178-c0d21132335f7d58.js +0 -1
- package/out/_next/static/chunks/5-6380a6f543e8372a.js +0 -1
- package/out/_next/static/chunks/585-8ff3ec10b43fcb10.js +0 -1
- package/out/_next/static/chunks/650-7b49ecd97114e917.js +0 -1
- package/out/_next/static/chunks/802.7a3e85882c0aeb52.js +0 -1
- package/out/_next/static/chunks/pages/services/[name]-148079bb388f8c53.js +0 -1
- package/out/_next/static/chunks/webpack-e5e3b0fb197a3a00.js +0 -1
- package/out/_next/static/css/0a26a4437a9215b6.css +0 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @eventcatalog/core
|
|
2
2
|
|
|
3
|
+
## 0.2.12
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`4269b19`](https://github.com/boyney123/eventcatalog/commit/4269b199809807bd08968ce4f9c6e025c5d14794) [#241](https://github.com/boyney123/eventcatalog/pull/241) Thanks [@donaldpipowitch](https://github.com/donaldpipowitch)! - chore: improve typings
|
|
8
|
+
|
|
9
|
+
## 0.2.11
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [`8c3c719`](https://github.com/boyney123/eventcatalog/commit/8c3c719b94e005921f6caec16106466da3f86992) [#244](https://github.com/boyney123/eventcatalog/pull/244) Thanks [@otbe](https://github.com/otbe)! - Fix broken links for services that have no domain on events detail page
|
|
14
|
+
|
|
15
|
+
## 0.2.10
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- [`41f6b5a`](https://github.com/boyney123/eventcatalog/commit/41f6b5a03645bfac2006f80c013ed7315cbe3add) [#229](https://github.com/boyney123/eventcatalog/pull/229) Thanks [@rtoro](https://github.com/rtoro)! - feat(core): allow the use of swagger ui in service pages
|
|
20
|
+
|
|
3
21
|
## 0.2.9
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { isNode, Elements, Position } from 'react-flow-renderer';
|
|
2
2
|
import dagre from 'dagre';
|
|
3
|
+
import { DataSource } from './NodeGraph';
|
|
3
4
|
|
|
4
5
|
const nodeDefaultWidth = 150;
|
|
5
6
|
const nodeDefaultHeight = 36;
|
|
@@ -92,16 +93,16 @@ export default function createGraphLayout(elements: Elements, isHorizontal: bool
|
|
|
92
93
|
}
|
|
93
94
|
|
|
94
95
|
// Helper - ReactFlow canvas height calculator
|
|
95
|
-
export const calcCanvasHeight = (
|
|
96
|
+
export const calcCanvasHeight = ({ source, data }: DataSource): number => {
|
|
96
97
|
const minHeight = 300;
|
|
97
98
|
const nodeSpacing = nodeDefaultHeight + verticalOffset;
|
|
98
99
|
let nodesHeight = 0;
|
|
99
100
|
|
|
100
|
-
if (
|
|
101
|
+
if (source === 'event') {
|
|
101
102
|
nodesHeight = Math.max(data.producerNames.length, data.consumerNames.length) * nodeSpacing;
|
|
102
103
|
}
|
|
103
104
|
|
|
104
|
-
if (
|
|
105
|
+
if (source === 'service') {
|
|
105
106
|
nodesHeight = Math.max(data.publishes.length, data.subscribes.length) * nodeSpacing;
|
|
106
107
|
}
|
|
107
108
|
|
|
@@ -11,9 +11,29 @@ interface CombinedEventsAndServices {
|
|
|
11
11
|
name?: string;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
interface
|
|
15
|
-
data:
|
|
16
|
-
source: '
|
|
14
|
+
interface CombinedEventsAndServicesSource {
|
|
15
|
+
data: CombinedEventsAndServices;
|
|
16
|
+
source: 'all';
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
interface DomainSource {
|
|
20
|
+
data: Domain;
|
|
21
|
+
source: 'domain';
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
interface ServiceSource {
|
|
25
|
+
data: Service;
|
|
26
|
+
source: 'service';
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
interface EventSource {
|
|
30
|
+
data: Event;
|
|
31
|
+
source: 'event';
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export type DataSource = CombinedEventsAndServicesSource | DomainSource | ServiceSource | EventSource;
|
|
35
|
+
|
|
36
|
+
interface NodeGraphBuilderSharedProps {
|
|
17
37
|
title?: string;
|
|
18
38
|
subtitle?: string;
|
|
19
39
|
rootNodeColor?: string;
|
|
@@ -28,10 +48,12 @@ interface NodeGraphBuilderProps {
|
|
|
28
48
|
includeNodeIcons?: boolean;
|
|
29
49
|
}
|
|
30
50
|
|
|
31
|
-
|
|
51
|
+
type NodeGraphBuilderProps = NodeGraphBuilderSharedProps & DataSource;
|
|
52
|
+
|
|
53
|
+
type NodeGraphProps = NodeGraphBuilderProps & {
|
|
32
54
|
maxHeight?: number | string;
|
|
33
55
|
renderWithBorder?: boolean;
|
|
34
|
-
}
|
|
56
|
+
};
|
|
35
57
|
|
|
36
58
|
// NodeGraphBuilder component wrapping ReactFlow
|
|
37
59
|
function NodeGraphBuilder({
|
|
@@ -52,9 +74,8 @@ function NodeGraphBuilder({
|
|
|
52
74
|
}: NodeGraphBuilderProps) {
|
|
53
75
|
const getElements = useCallback(() => {
|
|
54
76
|
if (source === 'domain' || source === 'all') {
|
|
55
|
-
const
|
|
56
|
-
const
|
|
57
|
-
const totalServiceElements = graphData.services.map((service) =>
|
|
77
|
+
const totalEventElements = data.events.map((event) => getEventElements(event, rootNodeColor, isAnimated, true, true));
|
|
78
|
+
const totalServiceElements = data.services.map((service) =>
|
|
58
79
|
getServiceElements(service, rootNodeColor, isAnimated, true, true)
|
|
59
80
|
);
|
|
60
81
|
const eventsWithServices = totalEventElements.flat().concat(totalServiceElements.flat());
|
|
@@ -120,50 +141,18 @@ function NodeGraphBuilder({
|
|
|
120
141
|
}
|
|
121
142
|
|
|
122
143
|
// NodeGraph wrapping NodeGraphBuilder Component
|
|
123
|
-
function NodeGraph({
|
|
124
|
-
data,
|
|
125
|
-
source,
|
|
126
|
-
rootNodeColor,
|
|
127
|
-
maxHeight,
|
|
128
|
-
maxZoom,
|
|
129
|
-
fitView,
|
|
130
|
-
zoomOnScroll,
|
|
131
|
-
isAnimated,
|
|
132
|
-
isDraggable,
|
|
133
|
-
isHorizontal,
|
|
134
|
-
includeBackground,
|
|
135
|
-
renderWithBorder = true,
|
|
136
|
-
title,
|
|
137
|
-
subtitle,
|
|
138
|
-
includeEdgeLabels,
|
|
139
|
-
includeNodeIcons,
|
|
140
|
-
}: NodeGraphProps) {
|
|
144
|
+
function NodeGraph({ maxHeight, renderWithBorder = true, ...builderProps }: NodeGraphProps) {
|
|
141
145
|
// Set dynamic height of node graph
|
|
142
|
-
const dynamicHeight = maxHeight || calcCanvasHeight(
|
|
146
|
+
const dynamicHeight = maxHeight || calcCanvasHeight(builderProps);
|
|
143
147
|
|
|
144
148
|
const borderClasses = `border-dashed border-2 border-slate-300`;
|
|
145
149
|
|
|
146
150
|
return (
|
|
147
151
|
<div className={`node-graph w-full h-screen ${renderWithBorder ? borderClasses : ''}`} style={{ height: dynamicHeight }}>
|
|
148
152
|
<ReactFlowProvider>
|
|
149
|
-
<NodeGraphBuilder
|
|
150
|
-
source={source}
|
|
151
|
-
data={data}
|
|
152
|
-
rootNodeColor={rootNodeColor}
|
|
153
|
-
maxZoom={maxZoom}
|
|
154
|
-
fitView={fitView}
|
|
155
|
-
includeBackground={includeBackground}
|
|
156
|
-
zoomOnScroll={zoomOnScroll}
|
|
157
|
-
isAnimated={isAnimated}
|
|
158
|
-
isDraggable={isDraggable}
|
|
159
|
-
isHorizontal={isHorizontal}
|
|
160
|
-
includeEdgeLabels={includeEdgeLabels}
|
|
161
|
-
includeNodeIcons={includeNodeIcons}
|
|
162
|
-
title={title}
|
|
163
|
-
subtitle={subtitle}
|
|
164
|
-
/>
|
|
153
|
+
<NodeGraphBuilder {...builderProps} />
|
|
165
154
|
</ReactFlowProvider>
|
|
166
|
-
<Link href={`/visualiser?type=${source}&name=${data.name}`}>
|
|
155
|
+
<Link href={`/visualiser?type=${builderProps.source}&name=${builderProps.data.name}`}>
|
|
167
156
|
<a className="block text-right underline text-xs mt-4">Open in Visualiser →</a>
|
|
168
157
|
</Link>
|
|
169
158
|
</div>
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Event, Service } from '@eventcatalog/types';
|
|
1
2
|
import { Elements } from 'react-flow-renderer';
|
|
2
3
|
import createGraphLayout, { calcCanvasHeight } from '../GraphLayout';
|
|
3
4
|
|
|
@@ -84,20 +85,30 @@ describe('GraphLayout', () => {
|
|
|
84
85
|
|
|
85
86
|
describe('calcCanvasHeight', () => {
|
|
86
87
|
it('takes all events and calculate the canvas height', () => {
|
|
87
|
-
const data = {
|
|
88
|
-
producerNames: [1, 2, 3, 4, 5, 6, 7, 8],
|
|
89
|
-
consumerNames: [1, 2, 3, 4, 5],
|
|
88
|
+
const data: Event = {
|
|
89
|
+
producerNames: ['1', '2', '3', '4', '5', '6', '7', '8'],
|
|
90
|
+
consumerNames: ['1', '2', '3', '4', '5'],
|
|
91
|
+
name: 'mock',
|
|
92
|
+
version: '1.0.0',
|
|
90
93
|
};
|
|
91
|
-
const result = calcCanvasHeight(data, 'event');
|
|
94
|
+
const result = calcCanvasHeight({ data, source: 'event' });
|
|
92
95
|
expect(result).toEqual(544);
|
|
93
96
|
});
|
|
94
97
|
|
|
95
98
|
it('takes all services and calculate the canvas height', () => {
|
|
96
|
-
const
|
|
97
|
-
|
|
98
|
-
|
|
99
|
+
const event: Event = {
|
|
100
|
+
producerNames: [],
|
|
101
|
+
consumerNames: [],
|
|
102
|
+
name: 'mock',
|
|
103
|
+
version: '1.0.0',
|
|
99
104
|
};
|
|
100
|
-
const
|
|
105
|
+
const data: Service = {
|
|
106
|
+
publishes: [event, event, event, event, event, event, event, event, event],
|
|
107
|
+
subscribes: [event, event, event, event, event],
|
|
108
|
+
name: 'mock',
|
|
109
|
+
summary: 'mock',
|
|
110
|
+
};
|
|
111
|
+
const result = calcCanvasHeight({ data, source: 'service' });
|
|
101
112
|
expect(result).toEqual(612);
|
|
102
113
|
});
|
|
103
114
|
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import SwaggerUI from 'swagger-ui-react';
|
|
2
|
+
import 'swagger-ui-react/swagger-ui.css';
|
|
3
|
+
|
|
4
|
+
interface OpenApiSpecProps {
|
|
5
|
+
spec: string;
|
|
6
|
+
showTitle?: boolean;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export default function OpenApiSpec({ spec, showTitle = true }: OpenApiSpecProps) {
|
|
10
|
+
const className = !showTitle ? 'swagger-hide-title' : '';
|
|
11
|
+
|
|
12
|
+
return (
|
|
13
|
+
<div className={`my-4 border border-gray-300 border-dashed px-5 eventcatalog-swagger ${className}`}>
|
|
14
|
+
{!showTitle && <span className="text-2xl block mt-10 font-bold -mb-8">OpenAPI Specification</span>}
|
|
15
|
+
<SwaggerUI spec={spec} tryItOutEnabled={false} />
|
|
16
|
+
</div>
|
|
17
|
+
);
|
|
18
|
+
}
|
|
@@ -18,7 +18,7 @@ interface EventSideBarProps {
|
|
|
18
18
|
const getServiceLink = (serviceName: string, event: Event) => {
|
|
19
19
|
const allEventServices = [...event.consumers, ...event.producers];
|
|
20
20
|
const matchedService = allEventServices.find((service) => service.name === serviceName);
|
|
21
|
-
if (matchedService) return `/domains/${matchedService.domain}/services/${serviceName}`;
|
|
21
|
+
if (matchedService && matchedService.domain) return `/domains/${matchedService.domain}/services/${serviceName}`;
|
|
22
22
|
return `/services/${serviceName}`;
|
|
23
23
|
};
|
|
24
24
|
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
openapi: 3.0.0
|
|
2
|
+
info:
|
|
3
|
+
description: A Payment Service API
|
|
4
|
+
version: 0.0.1
|
|
5
|
+
title: Payment service API
|
|
6
|
+
servers:
|
|
7
|
+
- url: http://payment.example.com/v1
|
|
8
|
+
description: Optional server description, e.g. Main (production) server
|
|
9
|
+
- url: http://payment.example.com
|
|
10
|
+
description: Optional server description, e.g. Internal staging server for testing
|
|
11
|
+
paths:
|
|
12
|
+
/getSinglePaymentURL:
|
|
13
|
+
get:
|
|
14
|
+
tags:
|
|
15
|
+
- PaymentServices
|
|
16
|
+
summary: Generate a Payment endpoint URL
|
|
17
|
+
operationId: singlepaymenturlUsingGET
|
|
18
|
+
consumes:
|
|
19
|
+
- application/json
|
|
20
|
+
produces:
|
|
21
|
+
- application/xml
|
|
22
|
+
parameters:
|
|
23
|
+
- name: transType
|
|
24
|
+
in: query
|
|
25
|
+
description: transType
|
|
26
|
+
required: true
|
|
27
|
+
type: string
|
|
28
|
+
- name: invoiceNumber
|
|
29
|
+
in: query
|
|
30
|
+
description: invoiceNumber
|
|
31
|
+
required: true
|
|
32
|
+
type: string
|
|
33
|
+
- name: approvedPage
|
|
34
|
+
in: query
|
|
35
|
+
description: approvedPage
|
|
36
|
+
required: true
|
|
37
|
+
type: string
|
|
38
|
+
- name: declinedPage
|
|
39
|
+
in: query
|
|
40
|
+
description: declinedPage
|
|
41
|
+
required: true
|
|
42
|
+
type: string
|
|
43
|
+
- in: query
|
|
44
|
+
name: errorPage
|
|
45
|
+
description: errorPage
|
|
46
|
+
required: true
|
|
47
|
+
type: string
|
|
48
|
+
- in: query
|
|
49
|
+
name: totalItemsAmount
|
|
50
|
+
description: totalItemsAmount
|
|
51
|
+
required: true
|
|
52
|
+
type: string
|
|
53
|
+
- name: ref1
|
|
54
|
+
in: query
|
|
55
|
+
description: ref1
|
|
56
|
+
required: false
|
|
57
|
+
type: string
|
|
58
|
+
- name: ref2
|
|
59
|
+
in: query
|
|
60
|
+
description: ref2
|
|
61
|
+
required: false
|
|
62
|
+
type: string
|
|
63
|
+
- name: ref3
|
|
64
|
+
in: query
|
|
65
|
+
description: ref3
|
|
66
|
+
required: false
|
|
67
|
+
type: string
|
|
68
|
+
- name: minutesToExpire
|
|
69
|
+
in: query
|
|
70
|
+
description: minutesToExpire
|
|
71
|
+
required: true
|
|
72
|
+
type: string
|
|
73
|
+
responses:
|
|
74
|
+
'200':
|
|
75
|
+
description: Successful operation
|
|
76
|
+
schema:
|
|
77
|
+
$ref: '#/definitions/SinglePaymentResponse'
|
|
78
|
+
'401':
|
|
79
|
+
description: Unauthorized
|
|
80
|
+
'403':
|
|
81
|
+
description: Forbidden
|
|
82
|
+
'404':
|
|
83
|
+
description: Not Found
|
|
84
|
+
definitions:
|
|
85
|
+
SinglePaymentResponse:
|
|
86
|
+
type: object
|
|
87
|
+
properties:
|
|
88
|
+
respCode:
|
|
89
|
+
type: integer
|
|
90
|
+
format: int32
|
|
91
|
+
respMsg:
|
|
92
|
+
type: string
|
|
93
|
+
respValue:
|
|
94
|
+
type: string
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
2
|
import fs from 'fs';
|
|
3
|
-
import { getSchemaFromDir, getLastModifiedDateOfFile } from '../file-reader';
|
|
3
|
+
import { getSchemaFromDir, getLastModifiedDateOfFile, getOpenAPISpecFromDir } from '../file-reader';
|
|
4
4
|
|
|
5
5
|
let PROJECT_DIR: any;
|
|
6
6
|
|
|
@@ -34,6 +34,24 @@ describe('file-reader lib', () => {
|
|
|
34
34
|
});
|
|
35
35
|
});
|
|
36
36
|
|
|
37
|
+
describe('getOpenAPISpecFromDir', () => {
|
|
38
|
+
it('returns the OPEN API file found in the given directory path', () => {
|
|
39
|
+
const rawFile = fs.readFileSync(path.join(process.env.PROJECT_DIR, 'services', 'Payment Service', 'openapi.yaml'), {
|
|
40
|
+
encoding: 'utf-8',
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
const result = getOpenAPISpecFromDir(path.join(process.env.PROJECT_DIR, 'services', 'Payment Service'));
|
|
44
|
+
|
|
45
|
+
expect(result).toEqual(rawFile);
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
it('returns null when no schema file can be found in the given directory path', () => {
|
|
49
|
+
const result = getSchemaFromDir(path.join(process.env.PROJECT_DIR, 'services', 'Email Service'));
|
|
50
|
+
|
|
51
|
+
expect(result).toEqual(null);
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
|
|
37
55
|
describe('getLastModifiedDateOfFile', () => {
|
|
38
56
|
it('returns the date the given file was last modified', () => {
|
|
39
57
|
const result = getLastModifiedDateOfFile(
|
|
@@ -19,29 +19,29 @@ describe('services', () => {
|
|
|
19
19
|
|
|
20
20
|
expect(services).toEqual([
|
|
21
21
|
{
|
|
22
|
+
name: 'Basket Service',
|
|
23
|
+
summary: 'CRUD based API to handle Basket interactions for users of the shopping website.\n',
|
|
24
|
+
domain: null,
|
|
25
|
+
owners: ['mSmith'],
|
|
26
|
+
repository: {
|
|
27
|
+
language: 'JavaScript',
|
|
28
|
+
url: 'https://github.com/boyney123/pretend-basket-service',
|
|
29
|
+
},
|
|
30
|
+
tags: [],
|
|
22
31
|
externalLinks: [
|
|
23
32
|
{
|
|
24
33
|
label: 'AsyncAPI Specification',
|
|
25
34
|
url: 'https://studio.asyncapi.com/#schema-lightMeasuredPayload',
|
|
26
35
|
},
|
|
27
36
|
],
|
|
28
|
-
name: 'Basket Service',
|
|
29
|
-
owners: ['mSmith'],
|
|
30
37
|
publishes: [],
|
|
31
|
-
repository: {
|
|
32
|
-
language: 'JavaScript',
|
|
33
|
-
url: 'https://github.com/boyney123/pretend-basket-service',
|
|
34
|
-
},
|
|
35
38
|
subscribes: [],
|
|
36
|
-
domain: null,
|
|
37
|
-
summary: 'CRUD based API to handle Basket interactions for users of the shopping website.\n',
|
|
38
|
-
tags: [],
|
|
39
39
|
},
|
|
40
40
|
{
|
|
41
41
|
name: 'Email Platform',
|
|
42
42
|
summary: 'Internal Email system. Used to send emails to 1000s of customers. Hosted in AWS\n',
|
|
43
|
-
owners: ['dboyne'],
|
|
44
43
|
domain: null,
|
|
44
|
+
owners: ['dboyne'],
|
|
45
45
|
repository: {
|
|
46
46
|
url: 'https://github.com/boyney123/EmailPlatform',
|
|
47
47
|
language: 'JavaScript',
|
|
@@ -55,21 +55,32 @@ describe('services', () => {
|
|
|
55
55
|
url: 'https://www.apache.org/licenses/LICENSE-2.0',
|
|
56
56
|
},
|
|
57
57
|
],
|
|
58
|
+
externalLinks: [],
|
|
58
59
|
publishes: [
|
|
59
60
|
{
|
|
60
61
|
name: 'EmailSent',
|
|
61
62
|
version: '0.0.1',
|
|
62
63
|
summary: 'Tells us when an email has been sent\n',
|
|
64
|
+
domain: null,
|
|
63
65
|
producerNames: ['Email Platform'],
|
|
64
66
|
consumerNames: [],
|
|
67
|
+
owners: ['dboyne', 'mSmith'],
|
|
65
68
|
externalLinks: [],
|
|
66
69
|
historicVersions: [],
|
|
67
|
-
domain: null,
|
|
68
|
-
owners: ['dboyne', 'mSmith'],
|
|
69
70
|
},
|
|
70
71
|
],
|
|
71
72
|
subscribes: [],
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: 'Payment Service',
|
|
76
|
+
summary: 'Event based application that integrates with Stripe.\n',
|
|
77
|
+
domain: null,
|
|
78
|
+
owners: [],
|
|
79
|
+
repository: {},
|
|
80
|
+
tags: [],
|
|
72
81
|
externalLinks: [],
|
|
82
|
+
publishes: [],
|
|
83
|
+
subscribes: [],
|
|
73
84
|
},
|
|
74
85
|
{
|
|
75
86
|
name: 'User Service',
|
|
@@ -151,6 +162,7 @@ describe('services', () => {
|
|
|
151
162
|
summary: 'Internal Email system. Used to send emails to 1000s of customers. Hosted in AWS\n',
|
|
152
163
|
owners: ['dboyne'],
|
|
153
164
|
domain: null,
|
|
165
|
+
openAPISpec: null,
|
|
154
166
|
repository: {
|
|
155
167
|
url: 'https://github.com/boyney123/EmailPlatform',
|
|
156
168
|
language: 'JavaScript',
|
|
@@ -194,6 +206,7 @@ describe('services', () => {
|
|
|
194
206
|
summary: 'CRUD based API to handle User information\n',
|
|
195
207
|
domain: 'User',
|
|
196
208
|
owners: ['mSmith'],
|
|
209
|
+
openAPISpec: null,
|
|
197
210
|
repository: {
|
|
198
211
|
language: 'JavaScript',
|
|
199
212
|
url: 'https://github.com/boyney123/pretend-basket-service',
|
package/lib/file-reader.ts
CHANGED
|
@@ -43,6 +43,19 @@ export const getSchemaFromDir = (pathToSchemaDir: string): Schema => {
|
|
|
43
43
|
}
|
|
44
44
|
};
|
|
45
45
|
|
|
46
|
+
export const getOpenAPISpecFromDir = (pathToOpenAPISpecDir: string): string => {
|
|
47
|
+
try {
|
|
48
|
+
const files = fs.readdirSync(pathToOpenAPISpecDir);
|
|
49
|
+
|
|
50
|
+
// See if any oas are in there, ignoring extension
|
|
51
|
+
const openAPIFileName = files.find((fileName) => fileName.includes('openapi'));
|
|
52
|
+
if (!openAPIFileName) throw new Error('No schema found');
|
|
53
|
+
return fs.readFileSync(path.join(pathToOpenAPISpecDir, openAPIFileName), 'utf-8');
|
|
54
|
+
} catch (error) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
|
|
46
59
|
export const getLastModifiedDateOfFile = (filePath) => {
|
|
47
60
|
const stats = fs.statSync(filePath);
|
|
48
61
|
const lastModifiedDate = new Date(stats.mtime);
|
package/lib/services.ts
CHANGED
|
@@ -2,7 +2,7 @@ import fs from 'fs';
|
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import { serialize } from 'next-mdx-remote/serialize';
|
|
4
4
|
import { Service, Event } from '@eventcatalog/types';
|
|
5
|
-
import { readMarkdownFile, getLastModifiedDateOfFile } from '@/lib/file-reader';
|
|
5
|
+
import { readMarkdownFile, getLastModifiedDateOfFile, getOpenAPISpecFromDir } from '@/lib/file-reader';
|
|
6
6
|
import { MarkdownFile } from '../types/index';
|
|
7
7
|
|
|
8
8
|
import { getAllEvents, getAllEventsThatHaveRelationshipWithService } from '@/lib/events';
|
|
@@ -75,6 +75,7 @@ export const getServiceByName = async ({
|
|
|
75
75
|
service: {
|
|
76
76
|
...service,
|
|
77
77
|
domain,
|
|
78
|
+
openAPISpec: getOpenAPISpecFromDir(serviceDirectory),
|
|
78
79
|
...getAllEventsThatHaveRelationshipWithService(service, events),
|
|
79
80
|
},
|
|
80
81
|
markdown: {
|
package/out/404/index.html
CHANGED
|
@@ -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/
|
|
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-5243ea3e842fcabb.js" defer=""></script><script src="/_next/static/chunks/framework-d23f68ad701fe0b2.js" defer=""></script><script src="/_next/static/chunks/main-b9941e28536fdc23.js" defer=""></script><script src="/_next/static/chunks/pages/_app-2e37f6bdeff8f48f.js" defer=""></script><script src="/_next/static/chunks/pages/_error-5a714c45c50a8db4.js" defer=""></script><script src="/_next/static/P5kR3NJnMI8_LCcCh0vDK/_buildManifest.js" defer=""></script><script src="/_next/static/P5kR3NJnMI8_LCcCh0vDK/_ssgManifest.js" defer=""></script><script src="/_next/static/P5kR3NJnMI8_LCcCh0vDK/_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, "Segoe UI", "Fira Sans", Avenir, "Helvetica Neue", "Lucida Grande", 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":"P5kR3NJnMI8_LCcCh0vDK","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
|
File without changes
|
|
@@ -1 +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":[],"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/3/
|
|
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":[],"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/3/18"},"loadedVersion":"latest"},"__N_SSG":true}
|
|
File without changes
|
|
@@ -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/3/
|
|
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/3/18"},"loadedVersion":"latest"},"__N_SSG":true}
|