@eventcatalog/core 0.2.8 → 0.2.11
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 +59 -14
- 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/4OeG7Nzf7Jlr4wBc9pfdH/_buildManifest.js +1 -0
- package/.next/static/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/_middlewareManifest.js +0 -0
- package/.next/static/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/_ssgManifest.js +0 -0
- package/.next/static/chunks/102-8f499174d959ae76.js +1 -0
- package/.next/static/chunks/109-7e910ba645edff2d.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/.next/static/chunks/pages/{overview-7ada2cb9fcb9a9ea.js → 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/GraphElements.tsx +33 -6
- package/components/Mdx/NodeGraph/GraphLayout.ts +46 -3
- package/components/Mdx/NodeGraph/__tests__/__snapshots__/GraphElements.spec.ts.snap +26 -0
- package/components/Mdx/NodeGraph/__tests__/__snapshots__/GraphLayout.spec.ts.snap +3 -3
- 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/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/domains/Orders/events/OrderComplete/logs.json +0 -0
- package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/domains/Orders/events/OrderComplete.json +1 -1
- package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/domains/Orders/events/OrderConfirmed/logs.json +0 -0
- package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/domains/Orders/events/OrderConfirmed.json +1 -1
- package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/domains/Orders/events/OrderRequested/logs.json +0 -0
- package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/domains/Orders/events/OrderRequested.json +1 -1
- package/out/_next/data/4OeG7Nzf7Jlr4wBc9pfdH/domains/Orders/services/Orders Service.json +1 -0
- package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/domains/Orders.json +1 -1
- package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/domains/Shopping/events/AddedItemToCart/logs.json +0 -0
- package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/domains/Shopping/events/AddedItemToCart/v/0.0.1.json +1 -1
- package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/domains/Shopping/events/AddedItemToCart/v/0.0.2.json +1 -1
- package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/domains/Shopping/events/AddedItemToCart.json +1 -1
- package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/domains/Shopping/events/RemovedItemFromCart/logs.json +0 -0
- package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/domains/Shopping/events/RemovedItemFromCart.json +1 -1
- package/out/_next/data/4OeG7Nzf7Jlr4wBc9pfdH/domains/Shopping.json +1 -0
- package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/domains.json +0 -0
- package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/events/PaymentProcessed/logs.json +0 -0
- package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/events/PaymentProcessed.json +1 -1
- package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/events/ShipmentDelivered/logs.json +0 -0
- package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/events/ShipmentDelivered.json +1 -1
- package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/events/ShipmentDispatched/logs.json +0 -0
- package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/events/ShipmentDispatched.json +1 -1
- package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/events/ShipmentPrepared/logs.json +0 -0
- package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/events/ShipmentPrepared.json +1 -1
- package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/events.json +0 -0
- package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/overview.json +0 -0
- package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/services/Orders Service.json +0 -0
- package/out/_next/data/4OeG7Nzf7Jlr4wBc9pfdH/services/Payment Service.json +1 -0
- package/out/_next/data/4OeG7Nzf7Jlr4wBc9pfdH/services/Shipping Service.json +1 -0
- package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/services.json +0 -0
- package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/users/dboyne.json +0 -0
- package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/users/mSmith.json +0 -0
- package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/visualiser.json +0 -0
- package/out/_next/static/4OeG7Nzf7Jlr4wBc9pfdH/_buildManifest.js +1 -0
- package/out/_next/static/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/_middlewareManifest.js +0 -0
- package/out/_next/static/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/_ssgManifest.js +0 -0
- package/out/_next/static/chunks/102-8f499174d959ae76.js +1 -0
- package/out/_next/static/chunks/109-7e910ba645edff2d.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/out/_next/static/chunks/pages/{overview-7ada2cb9fcb9a9ea.js → 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 +6 -4
- package/pages/services/[name].tsx +6 -1
- package/styles/globals.css +19 -0
- package/.next/static/TyltMt8WoQrXvlgzfYCko/_buildManifest.js +0 -1
- package/.next/static/chunks/109-d73be14eba8537e1.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/TyltMt8WoQrXvlgzfYCko/domains/Orders/services/Orders Service.json +0 -1
- package/out/_next/data/TyltMt8WoQrXvlgzfYCko/domains/Shopping.json +0 -1
- package/out/_next/data/TyltMt8WoQrXvlgzfYCko/services/Payment Service.json +0 -1
- package/out/_next/data/TyltMt8WoQrXvlgzfYCko/services/Shipping Service.json +0 -1
- package/out/_next/static/TyltMt8WoQrXvlgzfYCko/_buildManifest.js +0 -1
- package/out/_next/static/chunks/109-d73be14eba8537e1.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.11
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`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
|
|
8
|
+
|
|
9
|
+
## 0.2.10
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [`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
|
|
14
|
+
|
|
15
|
+
## 0.2.9
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- [`3740427`](https://github.com/boyney123/eventcatalog/commit/37404275e021c4d55ae43f5efbf12e321bf65025) [#230](https://github.com/boyney123/eventcatalog/pull/230) Thanks [@boyney123](https://github.com/boyney123)! - fix: visualiser now supports long names in diagram (again)
|
|
20
|
+
|
|
3
21
|
## 0.2.8
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
|
@@ -25,11 +25,23 @@ const buildNodeEdge = ({ id, target, source, label, isAnimated = true }): Edge =
|
|
|
25
25
|
labelBgStyle: { fill: 'white', color: '#fff', fillOpacity: 0.5 },
|
|
26
26
|
});
|
|
27
27
|
|
|
28
|
-
const buildNodeData = ({
|
|
28
|
+
const buildNodeData = ({
|
|
29
|
+
name,
|
|
30
|
+
label,
|
|
31
|
+
type,
|
|
32
|
+
maxWidth,
|
|
33
|
+
renderInColumn,
|
|
34
|
+
}: {
|
|
35
|
+
name: string;
|
|
36
|
+
label: string;
|
|
37
|
+
type: NODE_TYPES;
|
|
38
|
+
maxWidth?: number;
|
|
39
|
+
renderInColumn?: number;
|
|
40
|
+
}) => {
|
|
29
41
|
const width = calcWidth(label);
|
|
30
42
|
const linkType = type === 'service' ? 'services' : 'events';
|
|
31
43
|
const link = generateLink(name, linkType);
|
|
32
|
-
return { label, link, width, maxWidth };
|
|
44
|
+
return { label, link, width, maxWidth, renderInColumn };
|
|
33
45
|
};
|
|
34
46
|
|
|
35
47
|
const getNodeLabel = ({ type, label, includeIcon }: { type: NODE_TYPES; label: any; includeIcon: boolean }) => {
|
|
@@ -77,7 +89,7 @@ export const getEventElements = (
|
|
|
77
89
|
const labelToRender = getNodeLabel({ type: 'service', label, includeIcon: includeNodeIcons });
|
|
78
90
|
return {
|
|
79
91
|
id,
|
|
80
|
-
data: buildNodeData({ name: label, label: labelToRender, type: 'service', maxWidth: nodeMaxWidth }),
|
|
92
|
+
data: buildNodeData({ name: label, label: labelToRender, type: 'service', maxWidth: nodeMaxWidth, renderInColumn: 1 }),
|
|
81
93
|
style: { border: `2px solid ${producerColor}`, width: nodeWidth, ...nodeStyles },
|
|
82
94
|
type: 'input',
|
|
83
95
|
position,
|
|
@@ -88,7 +100,7 @@ export const getEventElements = (
|
|
|
88
100
|
const labelToRender = getNodeLabel({ type: 'service', label, includeIcon: includeNodeIcons });
|
|
89
101
|
return {
|
|
90
102
|
id,
|
|
91
|
-
data: buildNodeData({ name: label, label: labelToRender, type: 'service', maxWidth: maxConsumersWidth }),
|
|
103
|
+
data: buildNodeData({ name: label, label: labelToRender, type: 'service', maxWidth: maxConsumersWidth, renderInColumn: 3 }),
|
|
92
104
|
style: { border: `2px solid ${consumerColor}`, width, ...nodeStyles },
|
|
93
105
|
type: 'output',
|
|
94
106
|
position,
|
|
@@ -102,6 +114,7 @@ export const getEventElements = (
|
|
|
102
114
|
label: getNodeLabel({ type: 'event', label: eventName, includeIcon: includeNodeIcons }),
|
|
103
115
|
type: 'event',
|
|
104
116
|
maxWidth: eventNodeWidth,
|
|
117
|
+
renderInColumn: 2,
|
|
105
118
|
}),
|
|
106
119
|
style: {
|
|
107
120
|
border: `2px solid ${rootNodeColor}`,
|
|
@@ -171,7 +184,13 @@ export const getServiceElements = (
|
|
|
171
184
|
const labelToRender = getNodeLabel({ type: 'event', label: node.name, includeIcon: includeNodeIcons });
|
|
172
185
|
return {
|
|
173
186
|
id: `pub-${node.name.replace(/ /g, '_')}`,
|
|
174
|
-
data: buildNodeData({
|
|
187
|
+
data: buildNodeData({
|
|
188
|
+
name: node.name,
|
|
189
|
+
label: labelToRender,
|
|
190
|
+
type: 'event',
|
|
191
|
+
maxWidth: maxPublishesWidth,
|
|
192
|
+
renderInColumn: 3,
|
|
193
|
+
}),
|
|
175
194
|
style: { border: `2px solid ${publishColor}`, width: nodeWidth, ...nodeStyles },
|
|
176
195
|
type: 'output',
|
|
177
196
|
position,
|
|
@@ -184,7 +203,14 @@ export const getServiceElements = (
|
|
|
184
203
|
const labelToRender = getNodeLabel({ type: 'event', label: node.name, includeIcon: includeNodeIcons });
|
|
185
204
|
return {
|
|
186
205
|
id: `sub-${node.name.replace(/ /g, '_')}`,
|
|
187
|
-
data: buildNodeData({
|
|
206
|
+
data: buildNodeData({
|
|
207
|
+
name: node.name,
|
|
208
|
+
label: labelToRender,
|
|
209
|
+
type: 'event',
|
|
210
|
+
maxWidth: nodeMaxWidth,
|
|
211
|
+
...nodeStyles,
|
|
212
|
+
renderInColumn: 1,
|
|
213
|
+
}),
|
|
188
214
|
style: {
|
|
189
215
|
border: `2px solid ${subscribeColor}`,
|
|
190
216
|
width: nodeWidth,
|
|
@@ -202,6 +228,7 @@ export const getServiceElements = (
|
|
|
202
228
|
label: getNodeLabel({ type: 'service', label: serviceName, includeIcon: includeNodeIcons }),
|
|
203
229
|
type: 'service',
|
|
204
230
|
maxWidth: calcWidth(serviceName),
|
|
231
|
+
renderInColumn: 2,
|
|
205
232
|
}),
|
|
206
233
|
style: {
|
|
207
234
|
border: `2px solid ${rootNodeColor}`,
|
|
@@ -6,6 +6,27 @@ const nodeDefaultHeight = 36;
|
|
|
6
6
|
const offset = 48;
|
|
7
7
|
const verticalOffset = offset / 1.5;
|
|
8
8
|
|
|
9
|
+
const getMaxWidthElementFromPreviousColumn = (elements, column) => {
|
|
10
|
+
const elementsInColumn = elements.filter((element) => element?.data?.renderInColumn === column);
|
|
11
|
+
|
|
12
|
+
if (elementsInColumn.length === 0) return {};
|
|
13
|
+
if (elementsInColumn.length === 1) return elementsInColumn[0];
|
|
14
|
+
|
|
15
|
+
const maxWidthElement = elementsInColumn.reduce((currentElement, element) => {
|
|
16
|
+
const currentElementWidth = currentElement?.data?.maxWidth || currentElement?.data?.width || nodeDefaultWidth;
|
|
17
|
+
const elementWidth = element?.data?.maxWidth || element?.data.width || nodeDefaultWidth;
|
|
18
|
+
return elementWidth > currentElementWidth ? element : currentElement;
|
|
19
|
+
}, elementsInColumn[0]);
|
|
20
|
+
|
|
21
|
+
return maxWidthElement;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const getXPositionFromElement = (elem) => {
|
|
25
|
+
const elementWidth = elem?.data?.maxWidth || elem.width || nodeDefaultWidth;
|
|
26
|
+
const currentXPositionOfElement = elem.position.x;
|
|
27
|
+
return currentXPositionOfElement + elementWidth;
|
|
28
|
+
};
|
|
29
|
+
|
|
9
30
|
export default function createGraphLayout(elements: Elements, isHorizontal: boolean): Elements {
|
|
10
31
|
const dagreGraph = new dagre.graphlib.Graph();
|
|
11
32
|
|
|
@@ -29,21 +50,43 @@ export default function createGraphLayout(elements: Elements, isHorizontal: bool
|
|
|
29
50
|
// Calculate the layout, to get the node positions with their widths and heights
|
|
30
51
|
dagre.layout(dagreGraph);
|
|
31
52
|
|
|
32
|
-
|
|
53
|
+
const allNodes = elements.filter((element) => element.data);
|
|
54
|
+
const allEdges = elements.filter((element) => !element.data);
|
|
55
|
+
|
|
56
|
+
const sortedNodesByColumn = allNodes.sort((nodeA, nodeB) =>
|
|
57
|
+
// eslint-disable-next-line no-nested-ternary
|
|
58
|
+
nodeA.data.renderInColumn > nodeB.data.renderInColumn ? 1 : nodeB.data.renderInColumn > nodeA.data.renderInColumn ? -1 : 0
|
|
59
|
+
);
|
|
60
|
+
const allData = [...sortedNodesByColumn, ...allEdges];
|
|
61
|
+
|
|
62
|
+
return allData.map((element) => {
|
|
33
63
|
if (isNode(element)) {
|
|
34
64
|
const node = dagreGraph.node(element.id);
|
|
35
65
|
element.targetPosition = isHorizontal ? Position.Left : Position.Top;
|
|
36
66
|
element.sourcePosition = isHorizontal ? Position.Right : Position.Bottom;
|
|
67
|
+
|
|
68
|
+
const paddingBetweenNodes = element.data.renderInColumn > 1 ? 75 : 0;
|
|
69
|
+
const currentColumnToRenderIn = element?.data?.renderInColumn;
|
|
70
|
+
const maxWidthElementFromPreviousColumn = getMaxWidthElementFromPreviousColumn(elements, currentColumnToRenderIn - 1);
|
|
71
|
+
|
|
72
|
+
const nodeX =
|
|
73
|
+
Object.keys(maxWidthElementFromPreviousColumn).length > 0
|
|
74
|
+
? getXPositionFromElement(maxWidthElementFromPreviousColumn)
|
|
75
|
+
: 0;
|
|
76
|
+
|
|
37
77
|
element.position = {
|
|
38
|
-
x:
|
|
78
|
+
x: nodeX + paddingBetweenNodes,
|
|
39
79
|
y: node.y - node.height / 2,
|
|
40
80
|
};
|
|
41
81
|
|
|
42
82
|
// This is due to an issue with ReactFlow giving errors when we set the width in the styles.
|
|
43
83
|
if (element.style.width) {
|
|
44
|
-
element.style.width
|
|
84
|
+
if (element.style.width <= nodeDefaultWidth) {
|
|
85
|
+
element.style.width = undefined;
|
|
86
|
+
}
|
|
45
87
|
}
|
|
46
88
|
}
|
|
89
|
+
|
|
47
90
|
return element;
|
|
48
91
|
});
|
|
49
92
|
}
|
|
@@ -7,6 +7,7 @@ Array [
|
|
|
7
7
|
"label": "Service 1",
|
|
8
8
|
"link": "/docs/services/Service 1",
|
|
9
9
|
"maxWidth": -332,
|
|
10
|
+
"renderInColumn": 1,
|
|
10
11
|
"width": 150,
|
|
11
12
|
},
|
|
12
13
|
"id": "pr-Service_1",
|
|
@@ -26,6 +27,7 @@ Array [
|
|
|
26
27
|
"label": "Service 2",
|
|
27
28
|
"link": "/docs/services/Service 2",
|
|
28
29
|
"maxWidth": -332,
|
|
30
|
+
"renderInColumn": 1,
|
|
29
31
|
"width": 150,
|
|
30
32
|
},
|
|
31
33
|
"id": "pr-Service_2",
|
|
@@ -45,6 +47,7 @@ Array [
|
|
|
45
47
|
"label": "very very very very very very very very very very very very long name Service 3",
|
|
46
48
|
"link": "/docs/services/very very very very very very very very very very very very long name Service 3",
|
|
47
49
|
"maxWidth": 632,
|
|
50
|
+
"renderInColumn": 1,
|
|
48
51
|
"width": 632,
|
|
49
52
|
},
|
|
50
53
|
"id": "pr-very_very_very_very_very_very_very_very_very_very_very_very_long_name_Service_3",
|
|
@@ -64,6 +67,7 @@ Array [
|
|
|
64
67
|
"label": "My Event",
|
|
65
68
|
"link": "/docs/events/My Event",
|
|
66
69
|
"maxWidth": 150,
|
|
70
|
+
"renderInColumn": 2,
|
|
67
71
|
"width": 150,
|
|
68
72
|
},
|
|
69
73
|
"id": "ev-My_Event",
|
|
@@ -82,6 +86,7 @@ Array [
|
|
|
82
86
|
"label": "Service 4",
|
|
83
87
|
"link": "/docs/services/Service 4",
|
|
84
88
|
"maxWidth": 616,
|
|
89
|
+
"renderInColumn": 3,
|
|
85
90
|
"width": 150,
|
|
86
91
|
},
|
|
87
92
|
"id": "co-Service_4",
|
|
@@ -101,6 +106,7 @@ Array [
|
|
|
101
106
|
"label": "Service 5",
|
|
102
107
|
"link": "/docs/services/Service 5",
|
|
103
108
|
"maxWidth": 616,
|
|
109
|
+
"renderInColumn": 3,
|
|
104
110
|
"width": 150,
|
|
105
111
|
},
|
|
106
112
|
"id": "co-Service_5",
|
|
@@ -120,6 +126,7 @@ Array [
|
|
|
120
126
|
"label": "Service 6",
|
|
121
127
|
"link": "/docs/services/Service 6",
|
|
122
128
|
"maxWidth": 616,
|
|
129
|
+
"renderInColumn": 3,
|
|
123
130
|
"width": 150,
|
|
124
131
|
},
|
|
125
132
|
"id": "co-Service_6",
|
|
@@ -139,6 +146,7 @@ Array [
|
|
|
139
146
|
"label": "Service 7",
|
|
140
147
|
"link": "/docs/services/Service 7",
|
|
141
148
|
"maxWidth": 616,
|
|
149
|
+
"renderInColumn": 3,
|
|
142
150
|
"width": 150,
|
|
143
151
|
},
|
|
144
152
|
"id": "co-Service_7",
|
|
@@ -158,6 +166,7 @@ Array [
|
|
|
158
166
|
"label": "Service 8",
|
|
159
167
|
"link": "/docs/services/Service 8",
|
|
160
168
|
"maxWidth": 616,
|
|
169
|
+
"renderInColumn": 3,
|
|
161
170
|
"width": 150,
|
|
162
171
|
},
|
|
163
172
|
"id": "co-Service_8",
|
|
@@ -177,6 +186,7 @@ Array [
|
|
|
177
186
|
"label": "very.very.very.very.very.very.very.very.very.very.very.very.long.name.event.8",
|
|
178
187
|
"link": "/docs/services/very.very.very.very.very.very.very.very.very.very.very.very.long.name.event.8",
|
|
179
188
|
"maxWidth": 616,
|
|
189
|
+
"renderInColumn": 3,
|
|
180
190
|
"width": 616,
|
|
181
191
|
},
|
|
182
192
|
"id": "co-very.very.very.very.very.very.very.very.very.very.very.very.long.name.event.8",
|
|
@@ -399,6 +409,7 @@ Array [
|
|
|
399
409
|
"label": "Service 1",
|
|
400
410
|
"link": "/docs/services/Service 1",
|
|
401
411
|
"maxWidth": 150,
|
|
412
|
+
"renderInColumn": 1,
|
|
402
413
|
"width": 150,
|
|
403
414
|
},
|
|
404
415
|
"id": "pr-Service_1",
|
|
@@ -418,6 +429,7 @@ Array [
|
|
|
418
429
|
"label": "My Event",
|
|
419
430
|
"link": "/docs/events/My Event",
|
|
420
431
|
"maxWidth": 150,
|
|
432
|
+
"renderInColumn": 2,
|
|
421
433
|
"width": 150,
|
|
422
434
|
},
|
|
423
435
|
"id": "ev-My_Event",
|
|
@@ -436,6 +448,7 @@ Array [
|
|
|
436
448
|
"label": "Service 2",
|
|
437
449
|
"link": "/docs/services/Service 2",
|
|
438
450
|
"maxWidth": 150,
|
|
451
|
+
"renderInColumn": 3,
|
|
439
452
|
"width": 150,
|
|
440
453
|
},
|
|
441
454
|
"id": "co-Service_2",
|
|
@@ -504,6 +517,7 @@ Array [
|
|
|
504
517
|
"label": "very very very very very very very very very very very very long name event 5",
|
|
505
518
|
"link": "/docs/events/very very very very very very very very very very very very long name event 5",
|
|
506
519
|
"maxWidth": 616,
|
|
520
|
+
"renderInColumn": 1,
|
|
507
521
|
"width": 616,
|
|
508
522
|
},
|
|
509
523
|
"id": "sub-very_very_very_very_very_very_very_very_very_very_very_very_long_name_event_5",
|
|
@@ -523,6 +537,7 @@ Array [
|
|
|
523
537
|
"label": "My Event 6",
|
|
524
538
|
"link": "/docs/events/My Event 6",
|
|
525
539
|
"maxWidth": -316,
|
|
540
|
+
"renderInColumn": 1,
|
|
526
541
|
"width": 150,
|
|
527
542
|
},
|
|
528
543
|
"id": "sub-My_Event_6",
|
|
@@ -542,6 +557,7 @@ Array [
|
|
|
542
557
|
"label": "My Event 7",
|
|
543
558
|
"link": "/docs/events/My Event 7",
|
|
544
559
|
"maxWidth": -316,
|
|
560
|
+
"renderInColumn": 1,
|
|
545
561
|
"width": 150,
|
|
546
562
|
},
|
|
547
563
|
"id": "sub-My_Event_7",
|
|
@@ -561,6 +577,7 @@ Array [
|
|
|
561
577
|
"label": "My Event 8",
|
|
562
578
|
"link": "/docs/events/My Event 8",
|
|
563
579
|
"maxWidth": -316,
|
|
580
|
+
"renderInColumn": 1,
|
|
564
581
|
"width": 150,
|
|
565
582
|
},
|
|
566
583
|
"id": "sub-My_Event_8",
|
|
@@ -580,6 +597,7 @@ Array [
|
|
|
580
597
|
"label": "My Event 9",
|
|
581
598
|
"link": "/docs/events/My Event 9",
|
|
582
599
|
"maxWidth": -316,
|
|
600
|
+
"renderInColumn": 1,
|
|
583
601
|
"width": 150,
|
|
584
602
|
},
|
|
585
603
|
"id": "sub-My_Event_9",
|
|
@@ -599,6 +617,7 @@ Array [
|
|
|
599
617
|
"label": "My Service",
|
|
600
618
|
"link": "/docs/services/My Service",
|
|
601
619
|
"maxWidth": 150,
|
|
620
|
+
"renderInColumn": 2,
|
|
602
621
|
"width": 150,
|
|
603
622
|
},
|
|
604
623
|
"id": "ser-My_Service",
|
|
@@ -617,6 +636,7 @@ Array [
|
|
|
617
636
|
"label": "My Event",
|
|
618
637
|
"link": "/docs/events/My Event",
|
|
619
638
|
"maxWidth": 616,
|
|
639
|
+
"renderInColumn": 3,
|
|
620
640
|
"width": 150,
|
|
621
641
|
},
|
|
622
642
|
"id": "pub-My_Event",
|
|
@@ -636,6 +656,7 @@ Array [
|
|
|
636
656
|
"label": "My Event 2",
|
|
637
657
|
"link": "/docs/events/My Event 2",
|
|
638
658
|
"maxWidth": 616,
|
|
659
|
+
"renderInColumn": 3,
|
|
639
660
|
"width": 150,
|
|
640
661
|
},
|
|
641
662
|
"id": "pub-My_Event_2",
|
|
@@ -655,6 +676,7 @@ Array [
|
|
|
655
676
|
"label": "My Event 3",
|
|
656
677
|
"link": "/docs/events/My Event 3",
|
|
657
678
|
"maxWidth": 616,
|
|
679
|
+
"renderInColumn": 3,
|
|
658
680
|
"width": 150,
|
|
659
681
|
},
|
|
660
682
|
"id": "pub-My_Event_3",
|
|
@@ -674,6 +696,7 @@ Array [
|
|
|
674
696
|
"label": "very.very.very.very.very.very.very.very.very.very.very.very.long.name.event.4",
|
|
675
697
|
"link": "/docs/events/very.very.very.very.very.very.very.very.very.very.very.very.long.name.event.4",
|
|
676
698
|
"maxWidth": 616,
|
|
699
|
+
"renderInColumn": 3,
|
|
677
700
|
"width": 616,
|
|
678
701
|
},
|
|
679
702
|
"id": "pub-very.very.very.very.very.very.very.very.very.very.very.very.long.name.event.4",
|
|
@@ -896,6 +919,7 @@ Array [
|
|
|
896
919
|
"label": "My Event 2",
|
|
897
920
|
"link": "/docs/events/My Event 2",
|
|
898
921
|
"maxWidth": 150,
|
|
922
|
+
"renderInColumn": 1,
|
|
899
923
|
"width": 150,
|
|
900
924
|
},
|
|
901
925
|
"id": "sub-My_Event_2",
|
|
@@ -915,6 +939,7 @@ Array [
|
|
|
915
939
|
"label": "My Service",
|
|
916
940
|
"link": "/docs/services/My Service",
|
|
917
941
|
"maxWidth": 150,
|
|
942
|
+
"renderInColumn": 2,
|
|
918
943
|
"width": 150,
|
|
919
944
|
},
|
|
920
945
|
"id": "ser-My_Service",
|
|
@@ -933,6 +958,7 @@ Array [
|
|
|
933
958
|
"label": "My Event",
|
|
934
959
|
"link": "/docs/events/My Event",
|
|
935
960
|
"maxWidth": 150,
|
|
961
|
+
"renderInColumn": 3,
|
|
936
962
|
"width": 150,
|
|
937
963
|
},
|
|
938
964
|
"id": "pub-My_Event",
|
|
@@ -11,7 +11,7 @@ Array [
|
|
|
11
11
|
},
|
|
12
12
|
"id": "s-My_Event_2",
|
|
13
13
|
"position": Object {
|
|
14
|
-
"x":
|
|
14
|
+
"x": 0,
|
|
15
15
|
"y": 0,
|
|
16
16
|
},
|
|
17
17
|
"sourcePosition": "right",
|
|
@@ -31,7 +31,7 @@ Array [
|
|
|
31
31
|
},
|
|
32
32
|
"id": "c-My_Service",
|
|
33
33
|
"position": Object {
|
|
34
|
-
"x":
|
|
34
|
+
"x": 0,
|
|
35
35
|
"y": 0,
|
|
36
36
|
},
|
|
37
37
|
"sourcePosition": "right",
|
|
@@ -50,7 +50,7 @@ Array [
|
|
|
50
50
|
},
|
|
51
51
|
"id": "p-My_Event",
|
|
52
52
|
"position": Object {
|
|
53
|
-
"x":
|
|
53
|
+
"x": 0,
|
|
54
54
|
"y": 0,
|
|
55
55
|
},
|
|
56
56
|
"sourcePosition": "right",
|
|
@@ -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',
|