@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.
Files changed (231) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +67 -55
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/config.json +3 -3
  5. package/.next/cache/eslint/.cache_1bay4w0 +1 -1
  6. package/.next/cache/next-server.js.nft.json +1 -1
  7. package/.next/cache/webpack/client-production/0.pack +0 -0
  8. package/.next/cache/webpack/client-production/index.pack +0 -0
  9. package/.next/cache/webpack/server-production/0.pack +0 -0
  10. package/.next/cache/webpack/server-production/index.pack +0 -0
  11. package/.next/next-server.js.nft.json +1 -1
  12. package/.next/prerender-manifest.json +1 -1
  13. package/.next/react-loadable-manifest.json +2 -2
  14. package/.next/routes-manifest.json +1 -1
  15. package/.next/server/chunks/29.js +14 -0
  16. package/.next/server/chunks/484.js +59 -14
  17. package/.next/server/chunks/50.js +61 -20
  18. package/.next/server/chunks/944.js +1 -1
  19. package/.next/server/pages/404.html +1 -1
  20. package/.next/server/pages/500.html +1 -1
  21. package/.next/server/pages/domains/Orders/events/OrderComplete/logs.html +1 -1
  22. package/.next/server/pages/domains/Orders/events/OrderComplete.html +2 -2
  23. package/.next/server/pages/domains/Orders/events/OrderComplete.json +1 -1
  24. package/.next/server/pages/domains/Orders/events/OrderConfirmed/logs.html +1 -1
  25. package/.next/server/pages/domains/Orders/events/OrderConfirmed.html +2 -2
  26. package/.next/server/pages/domains/Orders/events/OrderConfirmed.json +1 -1
  27. package/.next/server/pages/domains/Orders/events/OrderRequested/logs.html +1 -1
  28. package/.next/server/pages/domains/Orders/events/OrderRequested.html +2 -2
  29. package/.next/server/pages/domains/Orders/events/OrderRequested.json +1 -1
  30. package/.next/server/pages/domains/Orders/services/Orders Service.html +2 -2
  31. package/.next/server/pages/domains/Orders/services/Orders Service.json +1 -1
  32. package/.next/server/pages/domains/Orders.html +2 -2
  33. package/.next/server/pages/domains/Orders.json +1 -1
  34. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/logs.html +1 -1
  35. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.1.html +2 -2
  36. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.1.json +1 -1
  37. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.2.html +2 -2
  38. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.2.json +1 -1
  39. package/.next/server/pages/domains/Shopping/events/AddedItemToCart.html +2 -2
  40. package/.next/server/pages/domains/Shopping/events/AddedItemToCart.json +1 -1
  41. package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart/logs.html +1 -1
  42. package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart.html +2 -2
  43. package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart.json +1 -1
  44. package/.next/server/pages/domains/Shopping.html +2 -2
  45. package/.next/server/pages/domains/Shopping.json +1 -1
  46. package/.next/server/pages/domains/[domain]/events/[name]/v/[version].js +1 -1
  47. package/.next/server/pages/domains/[domain]/events/[name].js +1 -1
  48. package/.next/server/pages/domains/[domain]/services/[name].js +7 -0
  49. package/.next/server/pages/domains.html +2 -2
  50. package/.next/server/pages/events/PaymentProcessed/logs.html +1 -1
  51. package/.next/server/pages/events/PaymentProcessed.html +2 -2
  52. package/.next/server/pages/events/PaymentProcessed.json +1 -1
  53. package/.next/server/pages/events/ShipmentDelivered/logs.html +1 -1
  54. package/.next/server/pages/events/ShipmentDelivered.html +2 -2
  55. package/.next/server/pages/events/ShipmentDelivered.json +1 -1
  56. package/.next/server/pages/events/ShipmentDispatched/logs.html +1 -1
  57. package/.next/server/pages/events/ShipmentDispatched.html +2 -2
  58. package/.next/server/pages/events/ShipmentDispatched.json +1 -1
  59. package/.next/server/pages/events/ShipmentPrepared/logs.html +1 -1
  60. package/.next/server/pages/events/ShipmentPrepared.html +2 -2
  61. package/.next/server/pages/events/ShipmentPrepared.json +1 -1
  62. package/.next/server/pages/events/[name]/v/[version].js +1 -1
  63. package/.next/server/pages/events/[name].js +1 -1
  64. package/.next/server/pages/events.html +2 -2
  65. package/.next/server/pages/index.html +1 -1
  66. package/.next/server/pages/overview.html +1 -1
  67. package/.next/server/pages/services/Orders Service.html +1 -1
  68. package/.next/server/pages/services/Payment Service.html +2 -2
  69. package/.next/server/pages/services/Payment Service.json +1 -1
  70. package/.next/server/pages/services/Shipping Service.html +2 -2
  71. package/.next/server/pages/services/Shipping Service.json +1 -1
  72. package/.next/server/pages/services/[name].js +7 -0
  73. package/.next/server/pages/services.html +2 -2
  74. package/.next/server/pages/users/dboyne.html +2 -2
  75. package/.next/server/pages/users/mSmith.html +2 -2
  76. package/.next/server/pages/visualiser.html +2 -2
  77. package/.next/static/4OeG7Nzf7Jlr4wBc9pfdH/_buildManifest.js +1 -0
  78. package/.next/static/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/_middlewareManifest.js +0 -0
  79. package/.next/static/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/_ssgManifest.js +0 -0
  80. package/.next/static/chunks/102-8f499174d959ae76.js +1 -0
  81. package/.next/static/chunks/109-7e910ba645edff2d.js +1 -0
  82. package/.next/static/chunks/178-7604eb85b765379d.js +1 -0
  83. package/.next/static/chunks/223-30d08619b4edda15.js +1 -0
  84. package/.next/static/chunks/379.1804d2aabaeb062b.js +1 -0
  85. package/.next/static/chunks/40247457-5e8b57cf2f01f630.js +1 -0
  86. package/.next/static/chunks/470-f4091fe4e0b2b803.js +1 -0
  87. package/.next/static/chunks/681-0739f8ea484461b9.js +1 -0
  88. package/.next/static/chunks/{7f5d3f51-83121b73403fb948.js → 7f5d3f51-910a6c1f7e252346.js} +1 -1
  89. package/.next/static/chunks/903-34d2b253285a8ae4.js +1 -0
  90. package/.next/static/chunks/pages/domains/[domain]/events/[name]/v/{[version]-a7fa6002267ccd3b.js → [version]-d1aa840823fe776a.js} +1 -1
  91. package/.next/static/chunks/pages/domains/[domain]/events/{[name]-a5fb5b26471e703b.js → [name]-f4cdf2a266e66be5.js} +1 -1
  92. package/.next/static/chunks/pages/domains/[domain]/services/{[name]-80d6d803e5466b81.js → [name]-49bce8da5b1625d0.js} +1 -1
  93. package/.next/static/chunks/pages/events/[name]/v/{[version]-93d978734b0dc0a3.js → [version]-eb1b8cbc04f132e4.js} +1 -1
  94. package/.next/static/chunks/pages/events/{[name]-d3d2a03948b8dfeb.js → [name]-a4c0d33ba9dfc927.js} +1 -1
  95. package/.next/static/chunks/pages/{overview-7ada2cb9fcb9a9ea.js → overview-3fc16cb1ae9c6206.js} +1 -1
  96. package/.next/static/chunks/pages/services/[name]-5355630da956ee4f.js +1 -0
  97. package/.next/static/chunks/webpack-5243ea3e842fcabb.js +1 -0
  98. package/.next/static/css/996136b57250cdf7.css +3 -0
  99. package/.next/static/css/bc1af6b16510c531.css +2 -0
  100. package/.next/trace +65 -57
  101. package/CHANGELOG.md +18 -0
  102. package/components/Mdx/NodeGraph/GraphElements.tsx +33 -6
  103. package/components/Mdx/NodeGraph/GraphLayout.ts +46 -3
  104. package/components/Mdx/NodeGraph/__tests__/__snapshots__/GraphElements.spec.ts.snap +26 -0
  105. package/components/Mdx/NodeGraph/__tests__/__snapshots__/GraphLayout.spec.ts.snap +3 -3
  106. package/components/Mdx/OpenApiSpec.tsx +18 -0
  107. package/components/Sidebars/EventSidebar.tsx +1 -1
  108. package/lib/__tests__/assets/services/Payment Service/index.md +7 -0
  109. package/lib/__tests__/assets/services/Payment Service/openapi.yaml +94 -0
  110. package/lib/__tests__/file-reader.spec.ts +19 -1
  111. package/lib/__tests__/services.spec.ts +25 -12
  112. package/lib/file-reader.ts +13 -0
  113. package/lib/services.ts +2 -1
  114. package/out/404/index.html +1 -1
  115. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/domains/Orders/events/OrderComplete/logs.json +0 -0
  116. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/domains/Orders/events/OrderComplete.json +1 -1
  117. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/domains/Orders/events/OrderConfirmed/logs.json +0 -0
  118. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/domains/Orders/events/OrderConfirmed.json +1 -1
  119. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/domains/Orders/events/OrderRequested/logs.json +0 -0
  120. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/domains/Orders/events/OrderRequested.json +1 -1
  121. package/out/_next/data/4OeG7Nzf7Jlr4wBc9pfdH/domains/Orders/services/Orders Service.json +1 -0
  122. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/domains/Orders.json +1 -1
  123. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/domains/Shopping/events/AddedItemToCart/logs.json +0 -0
  124. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/domains/Shopping/events/AddedItemToCart/v/0.0.1.json +1 -1
  125. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/domains/Shopping/events/AddedItemToCart/v/0.0.2.json +1 -1
  126. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/domains/Shopping/events/AddedItemToCart.json +1 -1
  127. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/domains/Shopping/events/RemovedItemFromCart/logs.json +0 -0
  128. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/domains/Shopping/events/RemovedItemFromCart.json +1 -1
  129. package/out/_next/data/4OeG7Nzf7Jlr4wBc9pfdH/domains/Shopping.json +1 -0
  130. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/domains.json +0 -0
  131. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/events/PaymentProcessed/logs.json +0 -0
  132. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/events/PaymentProcessed.json +1 -1
  133. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/events/ShipmentDelivered/logs.json +0 -0
  134. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/events/ShipmentDelivered.json +1 -1
  135. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/events/ShipmentDispatched/logs.json +0 -0
  136. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/events/ShipmentDispatched.json +1 -1
  137. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/events/ShipmentPrepared/logs.json +0 -0
  138. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/events/ShipmentPrepared.json +1 -1
  139. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/events.json +0 -0
  140. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/overview.json +0 -0
  141. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/services/Orders Service.json +0 -0
  142. package/out/_next/data/4OeG7Nzf7Jlr4wBc9pfdH/services/Payment Service.json +1 -0
  143. package/out/_next/data/4OeG7Nzf7Jlr4wBc9pfdH/services/Shipping Service.json +1 -0
  144. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/services.json +0 -0
  145. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/users/dboyne.json +0 -0
  146. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/users/mSmith.json +0 -0
  147. package/out/_next/data/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/visualiser.json +0 -0
  148. package/out/_next/static/4OeG7Nzf7Jlr4wBc9pfdH/_buildManifest.js +1 -0
  149. package/out/_next/static/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/_middlewareManifest.js +0 -0
  150. package/out/_next/static/{TyltMt8WoQrXvlgzfYCko → 4OeG7Nzf7Jlr4wBc9pfdH}/_ssgManifest.js +0 -0
  151. package/out/_next/static/chunks/102-8f499174d959ae76.js +1 -0
  152. package/out/_next/static/chunks/109-7e910ba645edff2d.js +1 -0
  153. package/out/_next/static/chunks/178-7604eb85b765379d.js +1 -0
  154. package/out/_next/static/chunks/223-30d08619b4edda15.js +1 -0
  155. package/out/_next/static/chunks/379.1804d2aabaeb062b.js +1 -0
  156. package/out/_next/static/chunks/40247457-5e8b57cf2f01f630.js +1 -0
  157. package/out/_next/static/chunks/470-f4091fe4e0b2b803.js +1 -0
  158. package/out/_next/static/chunks/681-0739f8ea484461b9.js +1 -0
  159. package/out/_next/static/chunks/{7f5d3f51-83121b73403fb948.js → 7f5d3f51-910a6c1f7e252346.js} +1 -1
  160. package/out/_next/static/chunks/903-34d2b253285a8ae4.js +1 -0
  161. package/out/_next/static/chunks/pages/domains/[domain]/events/[name]/v/{[version]-a7fa6002267ccd3b.js → [version]-d1aa840823fe776a.js} +1 -1
  162. package/out/_next/static/chunks/pages/domains/[domain]/events/{[name]-a5fb5b26471e703b.js → [name]-f4cdf2a266e66be5.js} +1 -1
  163. package/out/_next/static/chunks/pages/domains/[domain]/services/{[name]-80d6d803e5466b81.js → [name]-49bce8da5b1625d0.js} +1 -1
  164. package/out/_next/static/chunks/pages/events/[name]/v/{[version]-93d978734b0dc0a3.js → [version]-eb1b8cbc04f132e4.js} +1 -1
  165. package/out/_next/static/chunks/pages/events/{[name]-d3d2a03948b8dfeb.js → [name]-a4c0d33ba9dfc927.js} +1 -1
  166. package/out/_next/static/chunks/pages/{overview-7ada2cb9fcb9a9ea.js → overview-3fc16cb1ae9c6206.js} +1 -1
  167. package/out/_next/static/chunks/pages/services/[name]-5355630da956ee4f.js +1 -0
  168. package/out/_next/static/chunks/webpack-5243ea3e842fcabb.js +1 -0
  169. package/out/_next/static/css/996136b57250cdf7.css +3 -0
  170. package/out/_next/static/css/bc1af6b16510c531.css +2 -0
  171. package/out/domains/Orders/events/OrderComplete/index.html +2 -2
  172. package/out/domains/Orders/events/OrderComplete/logs/index.html +1 -1
  173. package/out/domains/Orders/events/OrderConfirmed/index.html +2 -2
  174. package/out/domains/Orders/events/OrderConfirmed/logs/index.html +1 -1
  175. package/out/domains/Orders/events/OrderRequested/index.html +2 -2
  176. package/out/domains/Orders/events/OrderRequested/logs/index.html +1 -1
  177. package/out/domains/Orders/index.html +2 -2
  178. package/out/domains/Orders/services/Orders Service/index.html +2 -2
  179. package/out/domains/Shopping/events/AddedItemToCart/index.html +2 -2
  180. package/out/domains/Shopping/events/AddedItemToCart/logs/index.html +1 -1
  181. package/out/domains/Shopping/events/AddedItemToCart/v/0.0.1/index.html +2 -2
  182. package/out/domains/Shopping/events/AddedItemToCart/v/0.0.2/index.html +2 -2
  183. package/out/domains/Shopping/events/RemovedItemFromCart/index.html +2 -2
  184. package/out/domains/Shopping/events/RemovedItemFromCart/logs/index.html +1 -1
  185. package/out/domains/Shopping/index.html +2 -2
  186. package/out/domains/index.html +2 -2
  187. package/out/events/PaymentProcessed/index.html +2 -2
  188. package/out/events/PaymentProcessed/logs/index.html +1 -1
  189. package/out/events/ShipmentDelivered/index.html +2 -2
  190. package/out/events/ShipmentDelivered/logs/index.html +1 -1
  191. package/out/events/ShipmentDispatched/index.html +2 -2
  192. package/out/events/ShipmentDispatched/logs/index.html +1 -1
  193. package/out/events/ShipmentPrepared/index.html +2 -2
  194. package/out/events/ShipmentPrepared/logs/index.html +1 -1
  195. package/out/events/index.html +2 -2
  196. package/out/index.html +1 -1
  197. package/out/overview/index.html +1 -1
  198. package/out/services/Orders Service/index.html +1 -1
  199. package/out/services/Payment Service/index.html +2 -2
  200. package/out/services/Shipping Service/index.html +2 -2
  201. package/out/services/index.html +2 -2
  202. package/out/users/dboyne/index.html +2 -2
  203. package/out/users/mSmith/index.html +2 -2
  204. package/out/visualiser/index.html +2 -2
  205. package/package.json +6 -4
  206. package/pages/services/[name].tsx +6 -1
  207. package/styles/globals.css +19 -0
  208. package/.next/static/TyltMt8WoQrXvlgzfYCko/_buildManifest.js +0 -1
  209. package/.next/static/chunks/109-d73be14eba8537e1.js +0 -1
  210. package/.next/static/chunks/178-c0d21132335f7d58.js +0 -1
  211. package/.next/static/chunks/5-6380a6f543e8372a.js +0 -1
  212. package/.next/static/chunks/585-8ff3ec10b43fcb10.js +0 -1
  213. package/.next/static/chunks/650-7b49ecd97114e917.js +0 -1
  214. package/.next/static/chunks/802.7a3e85882c0aeb52.js +0 -1
  215. package/.next/static/chunks/pages/services/[name]-148079bb388f8c53.js +0 -1
  216. package/.next/static/chunks/webpack-e5e3b0fb197a3a00.js +0 -1
  217. package/.next/static/css/0a26a4437a9215b6.css +0 -3
  218. package/out/_next/data/TyltMt8WoQrXvlgzfYCko/domains/Orders/services/Orders Service.json +0 -1
  219. package/out/_next/data/TyltMt8WoQrXvlgzfYCko/domains/Shopping.json +0 -1
  220. package/out/_next/data/TyltMt8WoQrXvlgzfYCko/services/Payment Service.json +0 -1
  221. package/out/_next/data/TyltMt8WoQrXvlgzfYCko/services/Shipping Service.json +0 -1
  222. package/out/_next/static/TyltMt8WoQrXvlgzfYCko/_buildManifest.js +0 -1
  223. package/out/_next/static/chunks/109-d73be14eba8537e1.js +0 -1
  224. package/out/_next/static/chunks/178-c0d21132335f7d58.js +0 -1
  225. package/out/_next/static/chunks/5-6380a6f543e8372a.js +0 -1
  226. package/out/_next/static/chunks/585-8ff3ec10b43fcb10.js +0 -1
  227. package/out/_next/static/chunks/650-7b49ecd97114e917.js +0 -1
  228. package/out/_next/static/chunks/802.7a3e85882c0aeb52.js +0 -1
  229. package/out/_next/static/chunks/pages/services/[name]-148079bb388f8c53.js +0 -1
  230. package/out/_next/static/chunks/webpack-e5e3b0fb197a3a00.js +0 -1
  231. 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 = ({ name, label, type, maxWidth }: { name: string; label: string; type: NODE_TYPES; maxWidth?: number }) => {
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({ name: node.name, label: labelToRender, type: 'event', maxWidth: maxPublishesWidth }),
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({ name: node.name, label: labelToRender, type: 'event', maxWidth: nodeMaxWidth, ...nodeStyles }),
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
- return elements.map((element) => {
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: offset / 2 + node.x - (element?.data?.maxWidth || node.width) / 2,
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 = undefined;
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": 24,
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": 270,
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": 516,
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,7 @@
1
+ ---
2
+ name: Payment Service
3
+ summary: |
4
+ Event based application that integrates with Stripe.
5
+ ---
6
+
7
+ # Testing
@@ -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',