tadis-analyzer 2.4.1 → 2.4.3

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 (234) hide show
  1. package/build/src/app/code-pattern/main.d.ts +1 -0
  2. package/build/src/app/code-pattern/main.js +14 -0
  3. package/build/src/app/code-pattern/main.js.map +1 -0
  4. package/build/src/app/default/main.d.ts +1 -0
  5. package/build/src/app/default/main.js +15 -0
  6. package/build/src/app/default/main.js.map +1 -0
  7. package/build/src/app/error.d.ts +3 -0
  8. package/build/src/app/error.js +10 -0
  9. package/build/src/app/error.js.map +1 -0
  10. package/build/src/config/Config.module.d.ts +4 -0
  11. package/build/src/config/Config.module.js +28 -0
  12. package/build/src/config/Config.module.js.map +1 -0
  13. package/build/src/config/Config.service.d.ts +19 -0
  14. package/build/src/config/Config.service.js +105 -0
  15. package/build/src/config/Config.service.js.map +1 -0
  16. package/build/src/config/Config.service.test.d.ts +1 -0
  17. package/build/src/config/Config.service.test.js +33 -0
  18. package/build/src/config/Config.service.test.js.map +1 -0
  19. package/build/src/deprecated-modules/CommonTransformers.module.d.ts +5 -0
  20. package/build/src/deprecated-modules/CommonTransformers.module.js +34 -0
  21. package/build/src/deprecated-modules/CommonTransformers.module.js.map +1 -0
  22. package/build/src/deprecated-modules/Msa.module.d.ts +13 -0
  23. package/build/src/deprecated-modules/Msa.module.js +63 -0
  24. package/build/src/deprecated-modules/Msa.module.js.map +1 -0
  25. package/build/src/deprecated-modules/SourceCodeAnalysis.module.d.ts +6 -0
  26. package/build/src/deprecated-modules/SourceCodeAnalysis.module.js +60 -0
  27. package/build/src/deprecated-modules/SourceCodeAnalysis.module.js.map +1 -0
  28. package/build/src/git/Git.module.d.ts +5 -0
  29. package/build/src/git/Git.module.js +28 -0
  30. package/build/src/git/Git.module.js.map +1 -0
  31. package/build/src/git/GitStorage.controller.d.ts +17 -0
  32. package/build/src/git/GitStorage.controller.js +88 -0
  33. package/build/src/git/GitStorage.controller.js.map +1 -0
  34. package/build/src/git/GitStorage.controller.test.d.ts +1 -0
  35. package/build/src/git/GitStorage.controller.test.js +30 -0
  36. package/build/src/git/GitStorage.controller.test.js.map +1 -0
  37. package/build/src/git/GitStorage.d.ts +23 -0
  38. package/build/src/git/GitStorage.js +153 -0
  39. package/build/src/git/GitStorage.js.map +1 -0
  40. package/build/src/git/GitStorage.service.d.ts +10 -0
  41. package/build/src/git/GitStorage.service.js +36 -0
  42. package/build/src/git/GitStorage.service.js.map +1 -0
  43. package/build/src/git/SourceLocationDecorator.d.ts +12 -0
  44. package/build/src/git/SourceLocationDecorator.js +46 -0
  45. package/build/src/git/SourceLocationDecorator.js.map +1 -0
  46. package/build/src/git/SourceLocationDecorator.test.d.ts +1 -0
  47. package/build/src/git/SourceLocationDecorator.test.js +35 -0
  48. package/build/src/git/SourceLocationDecorator.test.js.map +1 -0
  49. package/build/src/lib.d.ts +21 -0
  50. package/build/src/lib.js +57 -0
  51. package/build/src/lib.js.map +1 -0
  52. package/build/src/model/core-typed.d.ts +21 -0
  53. package/build/src/model/core-typed.js +89 -0
  54. package/build/src/model/core-typed.js.map +1 -0
  55. package/build/src/model/core-typed.test.d.ts +1 -0
  56. package/build/src/model/core-typed.test.js +29 -0
  57. package/build/src/model/core-typed.test.js.map +1 -0
  58. package/build/src/model/core.d.ts +33 -0
  59. package/build/src/model/core.js +117 -0
  60. package/build/src/model/core.js.map +1 -0
  61. package/build/src/model/ms.d.ts +58 -0
  62. package/build/src/model/ms.js +83 -0
  63. package/build/src/model/ms.js.map +1 -0
  64. package/build/src/model/transport.d.ts +17 -0
  65. package/build/src/model/transport.js +20 -0
  66. package/build/src/model/transport.js.map +1 -0
  67. package/build/src/model/v1-legacy/model.d.ts +53 -0
  68. package/build/src/model/v1-legacy/model.js +85 -0
  69. package/build/src/model/v1-legacy/model.js.map +1 -0
  70. package/build/src/model/v1-legacy/v1-adapter.d.ts +3 -0
  71. package/build/src/model/v1-legacy/v1-adapter.js +68 -0
  72. package/build/src/model/v1-legacy/v1-adapter.js.map +1 -0
  73. package/build/src/model/v1-legacy/v1-adapter.test.d.ts +1 -0
  74. package/build/src/model/v1-legacy/v1-adapter.test.js +66 -0
  75. package/build/src/model/v1-legacy/v1-adapter.test.js.map +1 -0
  76. package/build/src/post-processors/MicroserviceWithOutgoingExchangeMerger.d.ts +12 -0
  77. package/build/src/post-processors/MicroserviceWithOutgoingExchangeMerger.js +107 -0
  78. package/build/src/post-processors/MicroserviceWithOutgoingExchangeMerger.js.map +1 -0
  79. package/build/src/post-processors/MicroserviceWithOutgoingExchangeMerger.test.d.ts +1 -0
  80. package/build/src/post-processors/MicroserviceWithOutgoingExchangeMerger.test.js +111 -0
  81. package/build/src/post-processors/MicroserviceWithOutgoingExchangeMerger.test.js.map +1 -0
  82. package/build/src/post-processors/PostProcessors.module.d.ts +6 -0
  83. package/build/src/post-processors/PostProcessors.module.js +37 -0
  84. package/build/src/post-processors/PostProcessors.module.js.map +1 -0
  85. package/build/src/post-processors/PostProcessors.module.test.d.ts +1 -0
  86. package/build/src/post-processors/PostProcessors.module.test.js +23 -0
  87. package/build/src/post-processors/PostProcessors.module.test.js.map +1 -0
  88. package/build/src/post-processors/StaticNodeFilter.d.ts +9 -0
  89. package/build/src/post-processors/StaticNodeFilter.js +91 -0
  90. package/build/src/post-processors/StaticNodeFilter.js.map +1 -0
  91. package/build/src/post-processors/StaticNodeFilter.test.d.ts +1 -0
  92. package/build/src/post-processors/StaticNodeFilter.test.js +36 -0
  93. package/build/src/post-processors/StaticNodeFilter.test.js.map +1 -0
  94. package/build/src/post-processors/SubSystemFromPayloadTransformer.d.ts +13 -0
  95. package/build/src/post-processors/SubSystemFromPayloadTransformer.js +103 -0
  96. package/build/src/post-processors/SubSystemFromPayloadTransformer.js.map +1 -0
  97. package/build/src/post-processors/SubSystemFromPayloadTransformer.test.d.ts +1 -0
  98. package/build/src/post-processors/SubSystemFromPayloadTransformer.test.js +56 -0
  99. package/build/src/post-processors/SubSystemFromPayloadTransformer.test.js.map +1 -0
  100. package/build/src/system-assemblers/controllers/ISystemAssembler.d.ts +5 -0
  101. package/build/src/system-assemblers/controllers/ISystemAssembler.js +3 -0
  102. package/build/src/system-assemblers/controllers/ISystemAssembler.js.map +1 -0
  103. package/build/src/system-assemblers/controllers/SystemAssembler.controller.d.ts +19 -0
  104. package/build/src/system-assemblers/controllers/SystemAssembler.controller.js +95 -0
  105. package/build/src/system-assemblers/controllers/SystemAssembler.controller.js.map +1 -0
  106. package/build/src/system-assemblers/controllers/SystemAssembler.controller.test.d.ts +1 -0
  107. package/build/src/system-assemblers/controllers/SystemAssembler.controller.test.js +54 -0
  108. package/build/src/system-assemblers/controllers/SystemAssembler.controller.test.js.map +1 -0
  109. package/build/src/system-assemblers/controllers/SystemAssembler.module.d.ts +6 -0
  110. package/build/src/system-assemblers/controllers/SystemAssembler.module.js +28 -0
  111. package/build/src/system-assemblers/controllers/SystemAssembler.module.js.map +1 -0
  112. package/build/src/system-assemblers/controllers/SystemAssembler.service.d.ts +6 -0
  113. package/build/src/system-assemblers/controllers/SystemAssembler.service.js +24 -0
  114. package/build/src/system-assemblers/controllers/SystemAssembler.service.js.map +1 -0
  115. package/build/src/system-assemblers/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.module.d.ts +4 -0
  116. package/build/src/system-assemblers/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.module.js +46 -0
  117. package/build/src/system-assemblers/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.module.js.map +1 -0
  118. package/build/src/system-assemblers/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.service.d.ts +16 -0
  119. package/build/src/system-assemblers/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.service.js +53 -0
  120. package/build/src/system-assemblers/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.service.js.map +1 -0
  121. package/build/src/system-element-extractors/env-variables/EnvVariables.module.d.ts +4 -0
  122. package/build/src/system-element-extractors/env-variables/EnvVariables.module.js +25 -0
  123. package/build/src/system-element-extractors/env-variables/EnvVariables.module.js.map +1 -0
  124. package/build/src/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.d.ts +13 -0
  125. package/build/src/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.js +64 -0
  126. package/build/src/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.js.map +1 -0
  127. package/build/src/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.test.d.ts +1 -0
  128. package/build/src/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.test.js +56 -0
  129. package/build/src/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.test.js.map +1 -0
  130. package/build/src/system-element-extractors/experimental/code-pattern/CodePattern.module.d.ts +4 -0
  131. package/build/src/system-element-extractors/experimental/code-pattern/CodePattern.module.js +26 -0
  132. package/build/src/system-element-extractors/experimental/code-pattern/CodePattern.module.js.map +1 -0
  133. package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.controller.d.ts +8 -0
  134. package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.controller.js +54 -0
  135. package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.controller.js.map +1 -0
  136. package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.d.ts +10 -0
  137. package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.js +345 -0
  138. package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.js.map +1 -0
  139. package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.multiFile.test.d.ts +1 -0
  140. package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.multiFile.test.js +130 -0
  141. package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.multiFile.test.js.map +1 -0
  142. package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.service.d.ts +16 -0
  143. package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.service.js +47 -0
  144. package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.service.js.map +1 -0
  145. package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.singleFile.test.d.ts +1 -0
  146. package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.singleFile.test.js +177 -0
  147. package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.singleFile.test.js.map +1 -0
  148. package/build/src/system-element-extractors/experimental/code-pattern/behavior-model.d.ts +1 -0
  149. package/build/src/system-element-extractors/experimental/code-pattern/behavior-model.js +3 -0
  150. package/build/src/system-element-extractors/experimental/code-pattern/behavior-model.js.map +1 -0
  151. package/build/src/system-element-extractors/experimental/code-pattern/model.d.ts +116 -0
  152. package/build/src/system-element-extractors/experimental/code-pattern/model.js +23 -0
  153. package/build/src/system-element-extractors/experimental/code-pattern/model.js.map +1 -0
  154. package/build/src/system-element-extractors/experimental/code-pattern/prototyping/pattern-dsl.d.ts +8 -0
  155. package/build/src/system-element-extractors/experimental/code-pattern/prototyping/pattern-dsl.js +26 -0
  156. package/build/src/system-element-extractors/experimental/code-pattern/prototyping/pattern-dsl.js.map +1 -0
  157. package/build/src/system-element-extractors/experimental/code-pattern/prototyping/regexp-test.d.ts +0 -0
  158. package/build/src/system-element-extractors/experimental/code-pattern/prototyping/regexp-test.js +18 -0
  159. package/build/src/system-element-extractors/experimental/code-pattern/prototyping/regexp-test.js.map +1 -0
  160. package/build/src/system-element-extractors/java/Java.module.d.ts +4 -0
  161. package/build/src/system-element-extractors/java/Java.module.js +26 -0
  162. package/build/src/system-element-extractors/java/Java.module.js.map +1 -0
  163. package/build/src/system-element-extractors/java/JavaAnnotationAnalyzer.d.ts +35 -0
  164. package/build/src/system-element-extractors/java/JavaAnnotationAnalyzer.js +155 -0
  165. package/build/src/system-element-extractors/java/JavaAnnotationAnalyzer.js.map +1 -0
  166. package/build/src/system-element-extractors/java/JavaAnnotationAnalyzer.test.d.ts +1 -0
  167. package/build/src/system-element-extractors/java/JavaAnnotationAnalyzer.test.js +85 -0
  168. package/build/src/system-element-extractors/java/JavaAnnotationAnalyzer.test.js.map +1 -0
  169. package/build/src/system-element-extractors/kubernetes/Kubernetes.module.d.ts +7 -0
  170. package/build/src/system-element-extractors/kubernetes/Kubernetes.module.js +43 -0
  171. package/build/src/system-element-extractors/kubernetes/Kubernetes.module.js.map +1 -0
  172. package/build/src/system-element-extractors/kubernetes/api/api.service.d.ts +9 -0
  173. package/build/src/system-element-extractors/kubernetes/api/api.service.js +78 -0
  174. package/build/src/system-element-extractors/kubernetes/api/api.service.js.map +1 -0
  175. package/build/src/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.d.ts +10 -0
  176. package/build/src/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.js +80 -0
  177. package/build/src/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.js.map +1 -0
  178. package/build/src/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.test.d.ts +1 -0
  179. package/build/src/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.test.js +32 -0
  180. package/build/src/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.test.js.map +1 -0
  181. package/build/src/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.d.ts +12 -0
  182. package/build/src/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.js +82 -0
  183. package/build/src/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.js.map +1 -0
  184. package/build/src/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.test.d.ts +1 -0
  185. package/build/src/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.test.js +30 -0
  186. package/build/src/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.test.js.map +1 -0
  187. package/build/src/system-element-extractors/kubernetes/transformer/MicroservicesFromKubernetesCreator.d.ts +12 -0
  188. package/build/src/system-element-extractors/kubernetes/transformer/MicroservicesFromKubernetesCreator.js +67 -0
  189. package/build/src/system-element-extractors/kubernetes/transformer/MicroservicesFromKubernetesCreator.js.map +1 -0
  190. package/build/src/system-element-extractors/kubernetes/transformer/MicroservicesFromKubernetesCreator.test.d.ts +1 -0
  191. package/build/src/system-element-extractors/kubernetes/transformer/MicroservicesFromKubernetesCreator.test.js +38 -0
  192. package/build/src/system-element-extractors/kubernetes/transformer/MicroservicesFromKubernetesCreator.test.js.map +1 -0
  193. package/build/src/system-element-extractors/kubernetes/transformer/testdata/api/deployments.json +256 -0
  194. package/build/src/system-element-extractors/kubernetes/transformer/testdata/api/pods.json +101 -0
  195. package/build/src/system-element-extractors/kubernetes/transformer/testdata/api/services.json +75 -0
  196. package/build/src/system-element-extractors/rabbitmq/RabbitMq.module.d.ts +6 -0
  197. package/build/src/system-element-extractors/rabbitmq/RabbitMq.module.js +38 -0
  198. package/build/src/system-element-extractors/rabbitmq/RabbitMq.module.js.map +1 -0
  199. package/build/src/system-element-extractors/rabbitmq/api/api.service.d.ts +11 -0
  200. package/build/src/system-element-extractors/rabbitmq/api/api.service.js +63 -0
  201. package/build/src/system-element-extractors/rabbitmq/api/api.service.js.map +1 -0
  202. package/build/src/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.d.ts +9 -0
  203. package/build/src/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.js +117 -0
  204. package/build/src/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.js.map +1 -0
  205. package/build/src/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.test.d.ts +1 -0
  206. package/build/src/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.test.js +43 -0
  207. package/build/src/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.test.js.map +1 -0
  208. package/build/src/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.d.ts +14 -0
  209. package/build/src/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.js +117 -0
  210. package/build/src/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.js.map +1 -0
  211. package/build/src/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.test.d.ts +1 -0
  212. package/build/src/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.test.js +121 -0
  213. package/build/src/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.test.js.map +1 -0
  214. package/build/src/system-element-extractors/rabbitmq/transformer/testdata/api/bindings.json +20 -0
  215. package/build/src/system-element-extractors/rabbitmq/transformer/testdata/api/queues.json +5 -0
  216. package/build/src/system-element-extractors/spring-boot/FeignClientAnnotationAnalyzer.d.ts +15 -0
  217. package/build/src/system-element-extractors/spring-boot/FeignClientAnnotationAnalyzer.js +131 -0
  218. package/build/src/system-element-extractors/spring-boot/FeignClientAnnotationAnalyzer.js.map +1 -0
  219. package/build/src/system-element-extractors/spring-boot/FeignClientAnnotationAnalyzer.test.d.ts +1 -0
  220. package/build/src/system-element-extractors/spring-boot/FeignClientAnnotationAnalyzer.test.js +54 -0
  221. package/build/src/system-element-extractors/spring-boot/FeignClientAnnotationAnalyzer.test.js.map +1 -0
  222. package/build/src/system-element-extractors/spring-boot/SpringBoot.module.d.ts +4 -0
  223. package/build/src/system-element-extractors/spring-boot/SpringBoot.module.js +25 -0
  224. package/build/src/system-element-extractors/spring-boot/SpringBoot.module.js.map +1 -0
  225. package/build/src/test/expect-extensions.d.ts +7 -0
  226. package/build/src/test/expect-extensions.js +20 -0
  227. package/build/src/test/expect-extensions.js.map +1 -0
  228. package/build/src/test/verifiers.d.ts +4 -0
  229. package/build/src/test/verifiers.js +19 -0
  230. package/build/src/test/verifiers.js.map +1 -0
  231. package/build/src/utils/files/analysis.d.ts +30 -0
  232. package/build/src/utils/files/analysis.js +109 -0
  233. package/build/src/utils/files/analysis.js.map +1 -0
  234. package/package.json +1 -1
@@ -0,0 +1,75 @@
1
+ {
2
+ "statusCode": 200,
3
+ "body": {
4
+ "kind": "ServiceList",
5
+ "apiVersion": "v1",
6
+ "metadata": {
7
+ "selfLink": "/api/v1/namespaces/test-ns/services",
8
+ "resourceVersion": "2417410"
9
+ },
10
+ "items": [
11
+ {
12
+ "metadata": {
13
+ "name": "test-microservice",
14
+ "namespace": "test-ns",
15
+ "uid": "123",
16
+ "resourceVersion": "2398456",
17
+ "labels": {
18
+ "app": "test-microservice",
19
+ "chart": "xms-1.1",
20
+ "heritage": "Tiller",
21
+ "release": "test-ns"
22
+ },
23
+ "annotations": {
24
+ "prometheus.io/path": "/prometheus",
25
+ "prometheus.io/port": "8080",
26
+ "prometheus.io/scrape": "true"
27
+ }
28
+ },
29
+ "spec": {
30
+ "ports": [
31
+ {
32
+ "protocol": "TCP",
33
+ "port": 8080,
34
+ "targetPort": 8080
35
+ }
36
+ ]
37
+ },
38
+ "status": {
39
+ "loadBalancer": {}
40
+ }
41
+ },
42
+ {
43
+ "metadata": {
44
+ "name": "test-microservice-without-pod",
45
+ "namespace": "test-ns",
46
+ "uid": "123",
47
+ "resourceVersion": "2398456",
48
+ "labels": {
49
+ "app": "test-microservice",
50
+ "chart": "xms-1.1",
51
+ "heritage": "Tiller",
52
+ "release": "test-ns"
53
+ },
54
+ "annotations": {
55
+ "prometheus.io/path": "/prometheus",
56
+ "prometheus.io/port": "8080",
57
+ "prometheus.io/scrape": "true"
58
+ }
59
+ },
60
+ "spec": {
61
+ "ports": [
62
+ {
63
+ "protocol": "TCP",
64
+ "port": 8080,
65
+ "targetPort": 8080
66
+ }
67
+ ]
68
+ },
69
+ "status": {
70
+ "loadBalancer": {}
71
+ }
72
+ }
73
+ ]
74
+ }
75
+ }
@@ -0,0 +1,6 @@
1
+ import { RabbitMqManagementApiService } from './api/api.service';
2
+ import { RabbitMqBindingsFromApiAnalyzer } from './transformer/RabbitMqBindingsFromApiAnalyzer';
3
+ import { OutgoingExchangesFromSourceCreator } from './transformer/OutgoingExchangesFromSourceCreator';
4
+ declare class RabbitMqModule {
5
+ }
6
+ export { RabbitMqModule, RabbitMqManagementApiService, RabbitMqBindingsFromApiAnalyzer, OutgoingExchangesFromSourceCreator };
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.OutgoingExchangesFromSourceCreator = exports.RabbitMqBindingsFromApiAnalyzer = exports.RabbitMqManagementApiService = exports.RabbitMqModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const axios_1 = require("@nestjs/axios");
12
+ const api_service_1 = require("./api/api.service");
13
+ Object.defineProperty(exports, "RabbitMqManagementApiService", { enumerable: true, get: function () { return api_service_1.RabbitMqManagementApiService; } });
14
+ const Config_module_1 = require("../../config/Config.module");
15
+ const RabbitMqBindingsFromApiAnalyzer_1 = require("./transformer/RabbitMqBindingsFromApiAnalyzer");
16
+ Object.defineProperty(exports, "RabbitMqBindingsFromApiAnalyzer", { enumerable: true, get: function () { return RabbitMqBindingsFromApiAnalyzer_1.RabbitMqBindingsFromApiAnalyzer; } });
17
+ const OutgoingExchangesFromSourceCreator_1 = require("./transformer/OutgoingExchangesFromSourceCreator");
18
+ Object.defineProperty(exports, "OutgoingExchangesFromSourceCreator", { enumerable: true, get: function () { return OutgoingExchangesFromSourceCreator_1.OutgoingExchangesFromSourceCreator; } });
19
+ let RabbitMqModule = class RabbitMqModule {
20
+ };
21
+ RabbitMqModule = __decorate([
22
+ (0, common_1.Module)({
23
+ imports: [Config_module_1.ConfigModule, axios_1.HttpModule],
24
+ controllers: [],
25
+ providers: [
26
+ api_service_1.RabbitMqManagementApiService,
27
+ RabbitMqBindingsFromApiAnalyzer_1.RabbitMqBindingsFromApiAnalyzer,
28
+ OutgoingExchangesFromSourceCreator_1.OutgoingExchangesFromSourceCreator
29
+ ],
30
+ exports: [
31
+ api_service_1.RabbitMqManagementApiService,
32
+ RabbitMqBindingsFromApiAnalyzer_1.RabbitMqBindingsFromApiAnalyzer,
33
+ OutgoingExchangesFromSourceCreator_1.OutgoingExchangesFromSourceCreator
34
+ ]
35
+ })
36
+ ], RabbitMqModule);
37
+ exports.RabbitMqModule = RabbitMqModule;
38
+ //# sourceMappingURL=RabbitMq.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RabbitMq.module.js","sourceRoot":"","sources":["../../../../src/system-element-extractors/rabbitmq/RabbitMq.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAuC;AACvC,yCAA0C;AAE1C,mDAAgE;AAuB9D,6GAvBO,0CAA4B,OAuBP;AAtB9B,8DAAyD;AACzD,mGAA+F;AAsB7F,gHAtBO,iEAA+B,OAsBP;AArBjC,yGAAqG;AAsBnG,mHAtBO,uEAAkC,OAsBP;AANpC,IAAM,cAAc,GAApB,MAAM,cAAc;CAAG,CAAA;AAAjB,cAAc;IAdnB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,4BAAY,EAAE,kBAAU,CAAC;QACnC,WAAW,EAAE,EAAE;QACf,SAAS,EAAE;YACT,0CAA4B;YAC5B,iEAA+B;YAC/B,uEAAkC;SACnC;QACD,OAAO,EAAE;YACP,0CAA4B;YAC5B,iEAA+B;YAC/B,uEAAkC;SACnC;KACF,CAAC;GACI,cAAc,CAAG;AAGrB,wCAAc"}
@@ -0,0 +1,11 @@
1
+ import { HttpService } from '@nestjs/axios';
2
+ import { ConfigService } from '../../../config/Config.service';
3
+ export declare class RabbitMqManagementApiService {
4
+ private config;
5
+ private httpService;
6
+ private readonly logger;
7
+ constructor(config: ConfigService, httpService: HttpService);
8
+ getQueues(): Promise<any>;
9
+ getBindings(queueName: string): Promise<any[]>;
10
+ private getData;
11
+ }
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var RabbitMqManagementApiService_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.RabbitMqManagementApiService = void 0;
14
+ const axios_1 = require("@nestjs/axios");
15
+ const common_1 = require("@nestjs/common");
16
+ const Config_service_1 = require("../../../config/Config.service");
17
+ let RabbitMqManagementApiService = RabbitMqManagementApiService_1 = class RabbitMqManagementApiService {
18
+ constructor(config, httpService) {
19
+ this.config = config;
20
+ this.httpService = httpService;
21
+ this.logger = new common_1.Logger(RabbitMqManagementApiService_1.name);
22
+ }
23
+ async getQueues() {
24
+ const url = this.config.getRabbitUrl() + '/api/queues/';
25
+ this.logger.log('get queues from url ' + url);
26
+ return this.getData(url);
27
+ }
28
+ async getBindings(queueName) {
29
+ const vhost = '/';
30
+ const url = this.config.getRabbitUrl() +
31
+ '/api/queues/' +
32
+ encodeURIComponent(vhost) +
33
+ '/' +
34
+ encodeURIComponent(queueName) +
35
+ '/bindings/';
36
+ this.logger.log('get bindings for ' + queueName + ' from url ' + url);
37
+ return this.getData(url);
38
+ }
39
+ async getData(url) {
40
+ var _a;
41
+ const axiosConfig = {
42
+ auth: {
43
+ username: this.config.getRabbitUser(),
44
+ password: this.config.getRabbitPassword()
45
+ }
46
+ };
47
+ try {
48
+ const response = await this.httpService.axiosRef.get(url, axiosConfig);
49
+ return response.data;
50
+ }
51
+ catch (error) {
52
+ this.logger.error(`sending request failed for user: ${(_a = axiosConfig === null || axiosConfig === void 0 ? void 0 : axiosConfig.auth) === null || _a === void 0 ? void 0 : _a.username}`);
53
+ throw error;
54
+ }
55
+ }
56
+ };
57
+ RabbitMqManagementApiService = RabbitMqManagementApiService_1 = __decorate([
58
+ (0, common_1.Injectable)(),
59
+ __metadata("design:paramtypes", [Config_service_1.ConfigService,
60
+ axios_1.HttpService])
61
+ ], RabbitMqManagementApiService);
62
+ exports.RabbitMqManagementApiService = RabbitMqManagementApiService;
63
+ //# sourceMappingURL=api.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.service.js","sourceRoot":"","sources":["../../../../../src/system-element-extractors/rabbitmq/api/api.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,yCAA2C;AAC3C,2CAAmD;AACnD,mEAA8D;AAIvD,IAAM,4BAA4B,oCAAlC,MAAM,4BAA4B;IAGvC,YACU,MAAqB,EACrB,WAAwB;QADxB,WAAM,GAAN,MAAM,CAAe;QACrB,gBAAW,GAAX,WAAW,CAAa;QAJjB,WAAM,GAAG,IAAI,eAAM,CAAC,8BAA4B,CAAC,IAAI,CAAC,CAAA;IAKpE,CAAC;IAEG,KAAK,CAAC,SAAS;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,cAAc,CAAA;QACvD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,GAAG,GAAG,CAAC,CAAA;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,SAAiB;QACxC,MAAM,KAAK,GAAG,GAAG,CAAA;QAEjB,MAAM,GAAG,GACP,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;YAC1B,cAAc;YACd,kBAAkB,CAAC,KAAK,CAAC;YACzB,GAAG;YACH,kBAAkB,CAAC,SAAS,CAAC;YAC7B,YAAY,CAAA;QAEd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,GAAG,SAAS,GAAG,YAAY,GAAG,GAAG,CAAC,CAAA;QACrE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,GAAG;;QACvB,MAAM,WAAW,GAAG;YAClB,IAAI,EAAE;gBACJ,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;gBACrC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE;aAC1C;SACF,CAAA;QAED,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;YACtE,OAAO,QAAQ,CAAC,IAAI,CAAA;SACrB;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,oCAAoC,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,0CAAE,QAAQ,EAAE,CAClE,CAAA;YACD,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;CACF,CAAA;AA/CY,4BAA4B;IADxC,IAAA,mBAAU,GAAE;qCAKO,8BAAa;QACR,mBAAW;GALvB,4BAA4B,CA+CxC;AA/CY,oEAA4B"}
@@ -0,0 +1,9 @@
1
+ import { ConfigService } from '../../../config/Config.service';
2
+ import { System } from '../../../model/ms';
3
+ export declare class OutgoingExchangesFromSourceCreator {
4
+ private readonly config;
5
+ private readonly logger;
6
+ constructor(config: ConfigService);
7
+ transform(system: System): Promise<System>;
8
+ private scanPathForExchangesInSendConfigurations;
9
+ }
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
24
+ var __importStar = (this && this.__importStar) || function (mod) {
25
+ if (mod && mod.__esModule) return mod;
26
+ var result = {};
27
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
+ __setModuleDefault(result, mod);
29
+ return result;
30
+ };
31
+ var __metadata = (this && this.__metadata) || function (k, v) {
32
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
33
+ };
34
+ var OutgoingExchangesFromSourceCreator_1;
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.OutgoingExchangesFromSourceCreator = void 0;
37
+ const common_1 = require("@nestjs/common");
38
+ const fs = __importStar(require("fs"));
39
+ const analysis_1 = require("../../../utils/files/analysis");
40
+ const Config_service_1 = require("../../../config/Config.service");
41
+ const ms_1 = require("../../../model/ms");
42
+ const fileEndingToAnalyze = '.java';
43
+ const fileNameToAnalyzeMustInclude = 'send';
44
+ const pathToAnalyzeMustNotInclude = 'migration';
45
+ let OutgoingExchangesFromSourceCreator = OutgoingExchangesFromSourceCreator_1 = class OutgoingExchangesFromSourceCreator {
46
+ constructor(config) {
47
+ this.config = config;
48
+ this.logger = new common_1.Logger(OutgoingExchangesFromSourceCreator_1.name);
49
+ }
50
+ async transform(system) {
51
+ const scanResults = await this.scanPathForExchangesInSendConfigurations(this.config.getSourceFolder());
52
+ for (const scanResult of scanResults) {
53
+ const metadata = {
54
+ transformer: OutgoingExchangesFromSourceCreator_1.name,
55
+ context: 'service ' + scanResult.serviceName
56
+ };
57
+ const sourceService = system.addMicroService(scanResult.serviceName, undefined, metadata);
58
+ const targetExchange = system.addMessageExchange(scanResult.exchangeName, undefined, metadata);
59
+ const eventFlow = new ms_1.AsyncEventFlow(sourceService, targetExchange, undefined, metadata);
60
+ system.edges.push(eventFlow);
61
+ this.logger.log(`added async event flow: ${sourceService.getPayload().name} -> ${targetExchange.getPayload().name}`);
62
+ }
63
+ return system;
64
+ }
65
+ async scanPathForExchangesInSendConfigurations(path) {
66
+ this.logger.log('scanning for exchange in ' + path);
67
+ const filesToAnalyze = await (0, analysis_1.findFiles)(path, [fileEndingToAnalyze], undefined);
68
+ this.logger.log('found ' +
69
+ filesToAnalyze.length +
70
+ ' files which end with ' +
71
+ fileEndingToAnalyze);
72
+ const sendConfigurations = [];
73
+ filesToAnalyze
74
+ .filter((file) => (0, analysis_1.isNoSourceOfThisProject)(file) && isSendConfiguration(file))
75
+ .forEach((file) => {
76
+ const exchangeNames = parseExchangeVariables(file);
77
+ exchangeNames.forEach((exchangeName) => {
78
+ const serviceName = (0, analysis_1.getServiceNameFromPath)(path, file);
79
+ sendConfigurations.push({ file, serviceName, exchangeName });
80
+ });
81
+ });
82
+ this.logger.log('found ' + sendConfigurations.length + ' send configuration');
83
+ return sendConfigurations;
84
+ }
85
+ };
86
+ OutgoingExchangesFromSourceCreator = OutgoingExchangesFromSourceCreator_1 = __decorate([
87
+ (0, common_1.Injectable)(),
88
+ __metadata("design:paramtypes", [Config_service_1.ConfigService])
89
+ ], OutgoingExchangesFromSourceCreator);
90
+ exports.OutgoingExchangesFromSourceCreator = OutgoingExchangesFromSourceCreator;
91
+ function isSendConfiguration(file) {
92
+ return (getFileNameWithoutPath(file)
93
+ .toLowerCase()
94
+ .includes(fileNameToAnalyzeMustInclude) &&
95
+ !file.toLowerCase().includes(pathToAnalyzeMustNotInclude) &&
96
+ isNotPartOfTestInSourceProject(file));
97
+ }
98
+ function isNotPartOfTestInSourceProject(file) {
99
+ // TODO: make this configurable
100
+ return !file.toLowerCase().includes('test') || process.env.NODE_ENV === 'test';
101
+ }
102
+ function parseExchangeVariables(file) {
103
+ const exchangeNames = [];
104
+ const pattern = /exchange[\w]*[\s]*=\s*"(\w+)"/gi;
105
+ const fileContent = fs.readFileSync(file, 'utf8');
106
+ let matches = pattern.exec(fileContent);
107
+ while (matches != null) {
108
+ exchangeNames.push(matches[1]);
109
+ matches = pattern.exec(fileContent);
110
+ }
111
+ return exchangeNames;
112
+ }
113
+ function getFileNameWithoutPath(fileLocation) {
114
+ const lastSlashIndex = fileLocation.lastIndexOf('/');
115
+ return fileLocation.slice(lastSlashIndex + 1);
116
+ }
117
+ //# sourceMappingURL=OutgoingExchangesFromSourceCreator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OutgoingExchangesFromSourceCreator.js","sourceRoot":"","sources":["../../../../../src/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const testing_1 = require("@nestjs/testing");
4
+ const Config_service_1 = require("../../../config/Config.service");
5
+ const ms_1 = require("../../../model/ms");
6
+ const OutgoingExchangesFromSourceCreator_1 = require("./OutgoingExchangesFromSourceCreator");
7
+ const verifiers_1 = require("../../../test/verifiers");
8
+ describe(OutgoingExchangesFromSourceCreator_1.OutgoingExchangesFromSourceCreator.name, () => {
9
+ let app;
10
+ beforeEach(() => {
11
+ process.env.NODE_ENV = 'test';
12
+ });
13
+ beforeAll(async () => {
14
+ app = await testing_1.Test.createTestingModule({
15
+ controllers: [],
16
+ providers: [Config_service_1.ConfigService, OutgoingExchangesFromSourceCreator_1.OutgoingExchangesFromSourceCreator]
17
+ }).compile();
18
+ const config = app.get(Config_service_1.ConfigService);
19
+ jest.spyOn(config, 'getSourceFolder').mockImplementation(() => __dirname + '/testdata/source-folder');
20
+ });
21
+ it('transforms', async () => {
22
+ const inputSystem = new ms_1.System('test');
23
+ const addExchangesFormSourceStep = app.get(OutgoingExchangesFromSourceCreator_1.OutgoingExchangesFromSourceCreator);
24
+ const outputSystem = await addExchangesFormSourceStep.transform(inputSystem);
25
+ expect(outputSystem).not.toBeNull();
26
+ expect(outputSystem.getMicroServices()).toHaveLength(1);
27
+ expect(outputSystem.getMessageExchanges()).toHaveLength(2);
28
+ const exchangeNames = outputSystem.getMessageExchanges().map(exchange => exchange.getPayload().name);
29
+ expect(exchangeNames).toContainEqual('exchangeInSource1');
30
+ expect(exchangeNames).toContainEqual('exchangeInSource2');
31
+ (0, verifiers_1.verifyEachContentHasTransformer)(outputSystem, OutgoingExchangesFromSourceCreator_1.OutgoingExchangesFromSourceCreator.name);
32
+ });
33
+ it('ignores source found in current project when not run in test mode', async () => {
34
+ process.env.NODE_ENV = 'non-test';
35
+ const inputSystem = new ms_1.System('test');
36
+ const addExchangesFormSourceStep = app.get(OutgoingExchangesFromSourceCreator_1.OutgoingExchangesFromSourceCreator);
37
+ const outputSystem = await addExchangesFormSourceStep.transform(inputSystem);
38
+ expect(outputSystem).not.toBeNull();
39
+ expect(outputSystem.getMicroServices()).toHaveLength(0);
40
+ expect(outputSystem.getMessageExchanges()).toHaveLength(0);
41
+ });
42
+ });
43
+ //# sourceMappingURL=OutgoingExchangesFromSourceCreator.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OutgoingExchangesFromSourceCreator.test.js","sourceRoot":"","sources":["../../../../../src/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.test.ts"],"names":[],"mappings":";;AAAA,6CAAqD;AAErD,mEAA8D;AAE9D,0CAA0C;AAC1C,6FAAyF;AACzF,uDAAyE;AAEzE,QAAQ,CAAC,uEAAkC,CAAC,IAAI,EAAE,GAAG,EAAE;IACrD,IAAI,GAAkB,CAAA;IAEtB,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAA;IAC/B,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,KAAK,IAAG,EAAE;QAClB,GAAG,GAAG,MAAM,cAAI,CAAC,mBAAmB,CAAC;YACnC,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,CAAC,8BAAa,EAAE,uEAAkC,CAAC;SAC/D,CAAC,CAAC,OAAO,EAAE,CAAA;QAEZ,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAgB,8BAAa,CAAC,CAAA;QACpD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,kBAAkB,CACtD,GAAG,EAAE,CAAC,SAAS,GAAG,yBAAyB,CAC5C,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,YAAY,EAAE,KAAK,IAAG,EAAE;QACzB,MAAM,WAAW,GAAG,IAAI,WAAM,CAAC,MAAM,CAAC,CAAA;QAEtC,MAAM,0BAA0B,GAAG,GAAG,CAAC,GAAG,CAAqC,uEAAkC,CAAC,CAAA;QAClH,MAAM,YAAY,GAAG,MAAM,0BAA0B,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QAE5E,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;QAEnC,MAAM,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QACvD,MAAM,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAC1D,MAAM,aAAa,GAAG,YAAY,CAAC,mBAAmB,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAA;QACpG,MAAM,CAAC,aAAa,CAAC,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAA;QACzD,MAAM,CAAC,aAAa,CAAC,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAA;QAEzD,IAAA,2CAA+B,EAAC,YAAY,EAAE,uEAAkC,CAAC,IAAI,CAAC,CAAA;IACxF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAG,EAAE;QAChF,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAA;QAEjC,MAAM,WAAW,GAAG,IAAI,WAAM,CAAC,MAAM,CAAC,CAAA;QAEtC,MAAM,0BAA0B,GAAG,GAAG,CAAC,GAAG,CAAqC,uEAAkC,CAAC,CAAA;QAClH,MAAM,YAAY,GAAG,MAAM,0BAA0B,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QAE5E,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;QAEnC,MAAM,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QACvD,MAAM,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { ConfigService } from '../../../config/Config.service';
2
+ import { System } from '../../../model/ms';
3
+ import { RabbitMqManagementApiService } from '../api/api.service';
4
+ export declare class RabbitMqBindingsFromApiAnalyzer {
5
+ private readonly config;
6
+ private readonly apiService;
7
+ private readonly logger;
8
+ constructor(config: ConfigService, apiService: RabbitMqManagementApiService);
9
+ transform(system: System): Promise<System>;
10
+ private getQueueNames;
11
+ private addEdgesFromBindings;
12
+ private ensureTargetNodeExists;
13
+ private getBindings;
14
+ }
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
24
+ var __importStar = (this && this.__importStar) || function (mod) {
25
+ if (mod && mod.__esModule) return mod;
26
+ var result = {};
27
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
+ __setModuleDefault(result, mod);
29
+ return result;
30
+ };
31
+ var __metadata = (this && this.__metadata) || function (k, v) {
32
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
33
+ };
34
+ var RabbitMqBindingsFromApiAnalyzer_1;
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.RabbitMqBindingsFromApiAnalyzer = void 0;
37
+ const common_1 = require("@nestjs/common");
38
+ const _ = __importStar(require("lodash"));
39
+ const Config_service_1 = require("../../../config/Config.service");
40
+ const ms_1 = require("../../../model/ms");
41
+ const api_service_1 = require("../api/api.service");
42
+ // this analyzer assumes that a queue starts with the name of the microservice
43
+ // which the queue belongs to. after the microservice name the delimiter below follows.
44
+ const microServiceNameDelimiter = '.';
45
+ let RabbitMqBindingsFromApiAnalyzer = RabbitMqBindingsFromApiAnalyzer_1 = class RabbitMqBindingsFromApiAnalyzer {
46
+ constructor(config, apiService) {
47
+ this.config = config;
48
+ this.apiService = apiService;
49
+ this.logger = new common_1.Logger(RabbitMqBindingsFromApiAnalyzer_1.name);
50
+ }
51
+ async transform(system) {
52
+ const queueNames = await this.getQueueNames();
53
+ const bindingsPromises = queueNames.map(queue => this.getBindings(queue));
54
+ const bindings = await Promise.all(bindingsPromises);
55
+ const allBindings = _.flatMap(bindings);
56
+ this.addEdgesFromBindings(system, allBindings);
57
+ return system;
58
+ }
59
+ async getQueueNames() {
60
+ const queues = await this.apiService.getQueues();
61
+ if (!queues)
62
+ return [];
63
+ return queues.map(queue => { return queue.name; });
64
+ }
65
+ addEdgesFromBindings(system, bindings) {
66
+ bindings
67
+ .filter(binding => binding.exchange !== '')
68
+ .forEach(binding => {
69
+ const metadata = {
70
+ transformer: RabbitMqBindingsFromApiAnalyzer_1.name,
71
+ context: 'queue ' + binding.queue + ' bound to exchange ' + binding.exchange
72
+ };
73
+ const sourceExchangName = binding.exchange;
74
+ const sourceExchange = system.addMessageExchange(sourceExchangName, undefined, metadata);
75
+ const targetNode = this.ensureTargetNodeExists(binding, system);
76
+ system.edges.push(new ms_1.AsyncEventFlow(sourceExchange, targetNode, undefined, metadata));
77
+ this.logger.log('added async event flow: message exchange ' + sourceExchangName + ' -> microservice ' + targetNode.getName());
78
+ });
79
+ return system;
80
+ }
81
+ ensureTargetNodeExists(binding, system) {
82
+ if (binding.queue.indexOf(microServiceNameDelimiter) >= 0) {
83
+ const queuePrefix = binding.queue.substring(0, binding.queue.indexOf(microServiceNameDelimiter));
84
+ const existingService = system.findMicroService(queuePrefix);
85
+ if (existingService) {
86
+ return existingService;
87
+ }
88
+ }
89
+ const metadata = {
90
+ transformer: RabbitMqBindingsFromApiAnalyzer_1.name,
91
+ context: 'queue ' + binding.queue + ' bound to exchange ' + binding.exchange
92
+ };
93
+ const targetNodeName = binding.queue;
94
+ const queueNode = system.addOrExtendNamedNode(ms_1.MessageQueue, targetNodeName, undefined, metadata);
95
+ return queueNode;
96
+ }
97
+ async getBindings(queueName) {
98
+ const bindingsData = await this.apiService.getBindings(queueName);
99
+ const bindings = bindingsData.filter(element => element.source !== '')
100
+ .map(element => {
101
+ const binding = {
102
+ 'exchange': element.source,
103
+ 'queue': queueName
104
+ };
105
+ this.logger.log('found binding of queue ' + binding.queue + ' to exchange ' + binding.exchange);
106
+ return binding;
107
+ });
108
+ return bindings;
109
+ }
110
+ };
111
+ RabbitMqBindingsFromApiAnalyzer = RabbitMqBindingsFromApiAnalyzer_1 = __decorate([
112
+ (0, common_1.Injectable)(),
113
+ __metadata("design:paramtypes", [Config_service_1.ConfigService,
114
+ api_service_1.RabbitMqManagementApiService])
115
+ ], RabbitMqBindingsFromApiAnalyzer);
116
+ exports.RabbitMqBindingsFromApiAnalyzer = RabbitMqBindingsFromApiAnalyzer;
117
+ //# sourceMappingURL=RabbitMqBindingsFromApiAnalyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RabbitMqBindingsFromApiAnalyzer.js","sourceRoot":"","sources":["../../../../../src/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.ts"],"names":[],"mappings":"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"}