@mojaloop/sdk-scheme-adapter 24.1.3 → 24.2.0-csi-1210.0

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 (158) hide show
  1. package/.yarn/cache/@mojaloop-central-services-error-handling-npm-13.0.7-4af4c724e6-63e1af4094.zip +0 -0
  2. package/.yarn/cache/{@mojaloop-central-services-shared-npm-18.19.0-e14673dce9-2d984e3fba.zip → @mojaloop-central-services-shared-npm-18.21.0-6755b8831a-d6c57dbf15.zip} +0 -0
  3. package/.yarn/cache/@mojaloop-ml-schema-transformer-lib-npm-2.5.6-c7788ac913-3556a96a40.zip +0 -0
  4. package/.yarn/cache/{@mojaloop-sdk-standard-components-npm-19.7.0-04e9d9d599-fefb01a635.zip → @mojaloop-sdk-standard-components-npm-19.7.1-41bada4515-6b413699ea.zip} +0 -0
  5. package/.yarn/cache/@mojaloop-sdk-standard-components-npm-19.8.0-snapshot.4-193cd95852-71296babd7.zip +0 -0
  6. package/.yarn/cache/@opentelemetry-api-logs-npm-0.57.2-97ef249ccb-9c654feea3.zip +0 -0
  7. package/.yarn/cache/@opentelemetry-auto-instrumentations-node-npm-0.56.1-956c504579-708bc207d5.zip +0 -0
  8. package/.yarn/cache/@opentelemetry-context-async-hooks-npm-1.30.1-6c85d1d7e3-9bc42d4be4.zip +0 -0
  9. package/.yarn/cache/@opentelemetry-context-base-npm-0.17.0-2cceb1e85b-4b29fa34ef.zip +0 -0
  10. package/.yarn/cache/@opentelemetry-core-npm-1.30.1-6bab40a361-fe71452fff.zip +0 -0
  11. package/.yarn/cache/@opentelemetry-exporter-logs-otlp-grpc-npm-0.57.2-619cd77b9d-6c35209222.zip +0 -0
  12. package/.yarn/cache/@opentelemetry-exporter-logs-otlp-http-npm-0.57.2-6094fba3fa-0f23020fde.zip +0 -0
  13. package/.yarn/cache/@opentelemetry-exporter-logs-otlp-proto-npm-0.57.2-e59c93f1a5-fda1b818b9.zip +0 -0
  14. package/.yarn/cache/@opentelemetry-exporter-metrics-otlp-grpc-npm-0.57.2-3c5de4d7af-9ee9555f0a.zip +0 -0
  15. package/.yarn/cache/@opentelemetry-exporter-metrics-otlp-http-npm-0.57.2-af3ab66c09-64505d43af.zip +0 -0
  16. package/.yarn/cache/@opentelemetry-exporter-metrics-otlp-proto-npm-0.57.2-feac7a7bc4-69da876c8e.zip +0 -0
  17. package/.yarn/cache/@opentelemetry-exporter-prometheus-npm-0.57.2-5c14591b74-c2c86f56fd.zip +0 -0
  18. package/.yarn/cache/@opentelemetry-exporter-trace-otlp-grpc-npm-0.57.2-db5f8456a2-5da93e55dd.zip +0 -0
  19. package/.yarn/cache/@opentelemetry-exporter-trace-otlp-http-npm-0.57.2-3647f3e1b5-4611a7d03f.zip +0 -0
  20. package/.yarn/cache/@opentelemetry-exporter-trace-otlp-proto-npm-0.57.2-593b040eac-0228cc97c4.zip +0 -0
  21. package/.yarn/cache/@opentelemetry-exporter-zipkin-npm-1.30.1-2b7dd3bbbe-915ced1a93.zip +0 -0
  22. package/.yarn/cache/@opentelemetry-instrumentation-amqplib-npm-0.46.1-fdfcf0fc10-97beb23c1a.zip +0 -0
  23. package/.yarn/cache/@opentelemetry-instrumentation-aws-lambda-npm-0.50.3-ae4ee0b7e4-f2c7923eed.zip +0 -0
  24. package/.yarn/cache/@opentelemetry-instrumentation-aws-sdk-npm-0.49.1-0eadc36342-327a437621.zip +0 -0
  25. package/.yarn/cache/@opentelemetry-instrumentation-bunyan-npm-0.45.1-1d3f6cc544-8066568c32.zip +0 -0
  26. package/.yarn/cache/@opentelemetry-instrumentation-cassandra-driver-npm-0.45.1-18bfd2b526-26e9dabc0d.zip +0 -0
  27. package/.yarn/cache/@opentelemetry-instrumentation-connect-npm-0.43.1-a5c04e486f-5d1f378040.zip +0 -0
  28. package/.yarn/cache/@opentelemetry-instrumentation-cucumber-npm-0.14.1-bde3ef2142-905d97d2ac.zip +0 -0
  29. package/.yarn/cache/@opentelemetry-instrumentation-dataloader-npm-0.16.1-85fa5db77c-7ee25069f1.zip +0 -0
  30. package/.yarn/cache/@opentelemetry-instrumentation-dns-npm-0.43.1-4f55fe2f06-ca2caca3e6.zip +0 -0
  31. package/.yarn/cache/@opentelemetry-instrumentation-express-npm-0.47.1-1f1413724e-be09e0df7a.zip +0 -0
  32. package/.yarn/cache/@opentelemetry-instrumentation-fastify-npm-0.44.2-0f514583d2-d5117a4992.zip +0 -0
  33. package/.yarn/cache/@opentelemetry-instrumentation-fs-npm-0.19.1-06ae3b08dd-771817e43f.zip +0 -0
  34. package/.yarn/cache/@opentelemetry-instrumentation-generic-pool-npm-0.43.1-6e499a6392-c89981bf8e.zip +0 -0
  35. package/.yarn/cache/@opentelemetry-instrumentation-graphql-npm-0.47.1-20a9742ed2-c51cf72854.zip +0 -0
  36. package/.yarn/cache/@opentelemetry-instrumentation-grpc-npm-0.57.2-2f552d16c1-f912585575.zip +0 -0
  37. package/.yarn/cache/@opentelemetry-instrumentation-hapi-npm-0.45.2-7b44edb8e6-208d37a906.zip +0 -0
  38. package/.yarn/cache/@opentelemetry-instrumentation-http-npm-0.57.2-14dfa84450-ade80431e9.zip +0 -0
  39. package/.yarn/cache/@opentelemetry-instrumentation-ioredis-npm-0.47.1-81202950dd-828999d2d5.zip +0 -0
  40. package/.yarn/cache/@opentelemetry-instrumentation-kafkajs-npm-0.7.1-576980f7ca-84e04579a8.zip +0 -0
  41. package/.yarn/cache/@opentelemetry-instrumentation-knex-npm-0.44.1-189f1469b7-e80a201b59.zip +0 -0
  42. package/.yarn/cache/@opentelemetry-instrumentation-koa-npm-0.47.1-b6790ae058-3bb9d41cf2.zip +0 -0
  43. package/.yarn/cache/@opentelemetry-instrumentation-lru-memoizer-npm-0.44.1-9797c03424-93df72f85e.zip +0 -0
  44. package/.yarn/cache/@opentelemetry-instrumentation-memcached-npm-0.43.1-e19ea54eb5-93857d00de.zip +0 -0
  45. package/.yarn/cache/@opentelemetry-instrumentation-mongodb-npm-0.52.0-1504cf67fd-a0d88afea9.zip +0 -0
  46. package/.yarn/cache/@opentelemetry-instrumentation-mongoose-npm-0.46.1-a846c79f5b-05ed52c5b7.zip +0 -0
  47. package/.yarn/cache/@opentelemetry-instrumentation-mysql-npm-0.45.1-362b5aa9f9-4117cda307.zip +0 -0
  48. package/.yarn/cache/@opentelemetry-instrumentation-mysql2-npm-0.45.2-11fa75524d-626fb29535.zip +0 -0
  49. package/.yarn/cache/@opentelemetry-instrumentation-nestjs-core-npm-0.44.1-d236b31d92-8fec82978c.zip +0 -0
  50. package/.yarn/cache/@opentelemetry-instrumentation-net-npm-0.43.1-af85cc9995-613d8a4b45.zip +0 -0
  51. package/.yarn/cache/@opentelemetry-instrumentation-npm-0.57.2-c480e6a5c7-8a494d2ea4.zip +0 -0
  52. package/.yarn/cache/@opentelemetry-instrumentation-pg-npm-0.51.1-7088d5dfa2-ebd36407a5.zip +0 -0
  53. package/.yarn/cache/@opentelemetry-instrumentation-pino-npm-0.46.1-7f37c636df-97dca1180d.zip +0 -0
  54. package/.yarn/cache/@opentelemetry-instrumentation-redis-4-npm-0.46.1-8e5d68a0bc-9350ab6d7c.zip +0 -0
  55. package/.yarn/cache/@opentelemetry-instrumentation-redis-npm-0.46.1-cd801212ee-52bfba4804.zip +0 -0
  56. package/.yarn/cache/@opentelemetry-instrumentation-restify-npm-0.45.1-02ab1eb140-db8addeb6d.zip +0 -0
  57. package/.yarn/cache/@opentelemetry-instrumentation-router-npm-0.44.1-5949767675-ffa9d2d0d0.zip +0 -0
  58. package/.yarn/cache/@opentelemetry-instrumentation-socket.io-npm-0.46.1-9d45e12557-de6df872b1.zip +0 -0
  59. package/.yarn/cache/@opentelemetry-instrumentation-tedious-npm-0.18.1-4409343a78-b46ef75a59.zip +0 -0
  60. package/.yarn/cache/@opentelemetry-instrumentation-undici-npm-0.10.1-9a8b9f0c5f-0f54bd14c9.zip +0 -0
  61. package/.yarn/cache/@opentelemetry-instrumentation-winston-npm-0.44.1-bd903159a0-9eea2912b1.zip +0 -0
  62. package/.yarn/cache/@opentelemetry-otlp-exporter-base-npm-0.57.2-9e7a510489-6bacc1dc96.zip +0 -0
  63. package/.yarn/cache/@opentelemetry-otlp-grpc-exporter-base-npm-0.57.2-f1366e7045-e947850f50.zip +0 -0
  64. package/.yarn/cache/@opentelemetry-otlp-transformer-npm-0.57.2-c2ce9fef04-6e67aa4ec0.zip +0 -0
  65. package/.yarn/cache/@opentelemetry-propagation-utils-npm-0.30.16-95a5675c60-eef5ca1b64.zip +0 -0
  66. package/.yarn/cache/@opentelemetry-propagator-b3-npm-1.30.1-590a976998-19e7a7667a.zip +0 -0
  67. package/.yarn/cache/@opentelemetry-propagator-jaeger-npm-1.30.1-7b2134bf11-ac8bab25e8.zip +0 -0
  68. package/.yarn/cache/@opentelemetry-redis-common-npm-0.36.2-15106e7250-b0a6f2c2dc.zip +0 -0
  69. package/.yarn/cache/@opentelemetry-resource-detector-alibaba-cloud-npm-0.30.1-c45df5f73c-04c1ae5b56.zip +0 -0
  70. package/.yarn/cache/@opentelemetry-resource-detector-aws-npm-1.12.0-a2ac2d249e-a3a678bde6.zip +0 -0
  71. package/.yarn/cache/@opentelemetry-resource-detector-azure-npm-0.6.1-89985e9e64-df9114159c.zip +0 -0
  72. package/.yarn/cache/@opentelemetry-resource-detector-container-npm-0.6.1-0e50d40971-e1fde0eec0.zip +0 -0
  73. package/.yarn/cache/@opentelemetry-resource-detector-gcp-npm-0.33.1-d8f6b8ac77-966e78efff.zip +0 -0
  74. package/.yarn/cache/@opentelemetry-resources-npm-1.30.1-1afce2cc97-a930d52fcd.zip +0 -0
  75. package/.yarn/cache/@opentelemetry-sdk-logs-npm-0.57.2-11059307d9-5e14cb81ee.zip +0 -0
  76. package/.yarn/cache/@opentelemetry-sdk-metrics-npm-1.30.1-1232d12cd6-b74d16b1a0.zip +0 -0
  77. package/.yarn/cache/@opentelemetry-sdk-node-npm-0.57.2-c0d3e9229f-e8a726e5d6.zip +0 -0
  78. package/.yarn/cache/@opentelemetry-sdk-trace-base-npm-1.30.1-6263d5195f-212c19fb25.zip +0 -0
  79. package/.yarn/cache/@opentelemetry-sdk-trace-node-npm-1.30.1-6bc52726d5-e9122c45b5.zip +0 -0
  80. package/.yarn/cache/@opentelemetry-semantic-conventions-npm-1.28.0-942b4f4e95-1d708afa65.zip +0 -0
  81. package/.yarn/cache/@opentelemetry-semantic-conventions-npm-1.30.0-ed4337027d-53d3489f11.zip +0 -0
  82. package/.yarn/cache/@opentelemetry-sql-common-npm-0.40.1-8e555e0757-2352974053.zip +0 -0
  83. package/.yarn/cache/@rollup-rollup-linux-x64-musl-npm-4.34.9-ee6556627d-8.zip +0 -0
  84. package/.yarn/cache/@types-aws-lambda-npm-8.10.147-4e6dba6123-697348cb90.zip +0 -0
  85. package/.yarn/cache/@types-bunyan-npm-1.8.11-950d8551a4-9c8bf737bc.zip +0 -0
  86. package/.yarn/cache/@types-memcached-npm-2.2.10-80a23c7b39-c95e2ed494.zip +0 -0
  87. package/.yarn/cache/@types-mysql-npm-2.15.26-e8ee291ec4-c43395643a.zip +0 -0
  88. package/.yarn/cache/@types-node-npm-22.13.9-565bb4cd14-d36ae841fa.zip +0 -0
  89. package/.yarn/cache/@types-pg-npm-8.11.11-c5a8a91498-50c4a80348.zip +0 -0
  90. package/.yarn/cache/@types-pg-npm-8.6.1-6de7239b4b-a44710ff06.zip +0 -0
  91. package/.yarn/cache/@types-pg-pool-npm-2.0.6-ebe4ae949f-cc54ce9711.zip +0 -0
  92. package/.yarn/cache/@types-shimmer-npm-1.2.0-ff593a1ec3-f081a31d82.zip +0 -0
  93. package/.yarn/cache/@types-tedious-npm-4.0.14-11edc4a73d-88505dda8b.zip +0 -0
  94. package/.yarn/cache/{@typescript-eslint-eslint-plugin-npm-8.25.0-f1ecf3f166-8e6f525d9c.zip → @typescript-eslint-eslint-plugin-npm-8.26.0-64bda8e44c-fbfc0e65b9.zip} +0 -0
  95. package/.yarn/cache/{@typescript-eslint-parser-npm-8.25.0-31c155428a-5de468b96b.zip → @typescript-eslint-parser-npm-8.26.0-80aadd4d9c-6d8a8fcca1.zip} +0 -0
  96. package/.yarn/cache/@typescript-eslint-scope-manager-npm-8.26.0-ef399f862d-b1d35e8b4e.zip +0 -0
  97. package/.yarn/cache/{@typescript-eslint-type-utils-npm-8.25.0-948ec177d4-ee4bccb650.zip → @typescript-eslint-type-utils-npm-8.26.0-f34f57bfb3-eab175e5be.zip} +0 -0
  98. package/.yarn/cache/@typescript-eslint-types-npm-8.26.0-6090977dc6-dea8535575.zip +0 -0
  99. package/.yarn/cache/@typescript-eslint-typescript-estree-npm-8.26.0-352c786ebb-492ad542c1.zip +0 -0
  100. package/.yarn/cache/@typescript-eslint-utils-npm-8.26.0-50b78242aa-6bb6e7c9bd.zip +0 -0
  101. package/.yarn/cache/@typescript-eslint-visitor-keys-npm-8.26.0-ff1c3f4568-4209794bbd.zip +0 -0
  102. package/.yarn/cache/acorn-import-attributes-npm-1.9.5-d1e666eb35-1c0c49b6a2.zip +0 -0
  103. package/.yarn/cache/axios-npm-1.8.1-8a5eaf948f-3c434b86bb.zip +0 -0
  104. package/.yarn/cache/bignumber.js-npm-9.1.2-c2228c6a4a-582c03af77.zip +0 -0
  105. package/.yarn/cache/extend-npm-3.0.2-e1ca07ac54-a50a8309ca.zip +0 -0
  106. package/.yarn/cache/forwarded-parse-npm-2.1.2-8cf38fd641-fca4df8898.zip +0 -0
  107. package/.yarn/cache/gaxios-npm-6.7.1-11467afb7c-ed59526553.zip +0 -0
  108. package/.yarn/cache/gcp-metadata-npm-6.1.1-049b8b370a-7dffe884fd.zip +0 -0
  109. package/.yarn/cache/google-logging-utils-npm-0.0.2-598ff18186-270de74cde.zip +0 -0
  110. package/.yarn/cache/import-in-the-middle-npm-1.13.0-923c4ecf3f-f7a62d6fa1.zip +0 -0
  111. package/.yarn/cache/json-bigint-npm-1.0.0-8e35bcb143-c67bb93ccb.zip +0 -0
  112. package/.yarn/cache/{koa-npm-2.15.4-5a729e75eb-cd2bf396fa.zip → koa-npm-2.16.0-fccb365a23-01be3231d4.zip} +0 -0
  113. package/.yarn/cache/module-details-from-path-npm-1.0.3-396d5203b4-378a8a2601.zip +0 -0
  114. package/.yarn/cache/obuf-npm-1.1.2-8db5fae8dd-41a2ba310e.zip +0 -0
  115. package/.yarn/cache/pg-int8-npm-1.0.1-5cd67f3e22-a1e3a05a69.zip +0 -0
  116. package/.yarn/cache/pg-numeric-npm-1.0.2-9026ec3427-8899f8200c.zip +0 -0
  117. package/.yarn/cache/pg-protocol-npm-1.7.1-5571ffdced-88df68e8c0.zip +0 -0
  118. package/.yarn/cache/pg-types-npm-2.2.0-a3360226c4-bf4ec3f594.zip +0 -0
  119. package/.yarn/cache/pg-types-npm-4.0.2-771d83bf15-c4b813382d.zip +0 -0
  120. package/.yarn/cache/postgres-array-npm-2.0.0-4f49dc1389-0e1e659888.zip +0 -0
  121. package/.yarn/cache/postgres-array-npm-3.0.2-da6a3f1fed-5955f9dffe.zip +0 -0
  122. package/.yarn/cache/postgres-bytea-npm-1.0.0-8c2b81fa73-d844ae4ca7.zip +0 -0
  123. package/.yarn/cache/postgres-bytea-npm-3.0.0-5de4c664f6-5f917a003f.zip +0 -0
  124. package/.yarn/cache/postgres-date-npm-1.0.7-aadfe5531e-5745001d47.zip +0 -0
  125. package/.yarn/cache/postgres-date-npm-2.1.0-710ac64466-5c573b0602.zip +0 -0
  126. package/.yarn/cache/postgres-interval-npm-1.2.0-ca6414744d-746b71f938.zip +0 -0
  127. package/.yarn/cache/postgres-interval-npm-3.0.0-936c769b98-c7a1cf006d.zip +0 -0
  128. package/.yarn/cache/postgres-range-npm-1.1.4-018d46d348-460af8c882.zip +0 -0
  129. package/.yarn/cache/require-in-the-middle-npm-7.5.2-90474f7e4b-1b282e3b8b.zip +0 -0
  130. package/.yarn/cache/shimmer-npm-1.2.1-8b50bf3206-aa0d6252ad.zip +0 -0
  131. package/.yarn/cache/typescript-npm-5.8.2-b95d637f6a-7f9e3d7ac1.zip +0 -0
  132. package/.yarn/cache/typescript-patch-ef570fb450-a58d19ff98.zip +0 -0
  133. package/.yarn/cache/uuid-npm-9.0.1-39a8442bc6-39931f6da7.zip +0 -0
  134. package/.yarn/install-state.gz +0 -0
  135. package/modules/api-svc/package.json +10 -6
  136. package/modules/api-svc/src/InboundServer/handlers.js +4 -4
  137. package/modules/api-svc/src/InboundServer/index.js +3 -3
  138. package/modules/api-svc/src/InboundServer/middlewares.js +15 -20
  139. package/modules/api-svc/src/OutboundServer/handlers.js +1 -1
  140. package/modules/api-svc/src/OutboundServer/middlewares.js +9 -4
  141. package/modules/api-svc/src/index.js +2 -2
  142. package/modules/api-svc/src/lib/cache.js +1 -1
  143. package/modules/api-svc/src/lib/model/InboundTransfersModel.js +5 -5
  144. package/modules/api-svc/src/lib/model/OutboundTransfersModel.js +52 -13
  145. package/modules/api-svc/src/lib/router.js +4 -6
  146. package/modules/api-svc/test/unit/api/transfers/transfers.test.js +1 -2
  147. package/modules/api-svc/test/unit/api/transfers/utils.js +3 -0
  148. package/modules/api-svc/test/unit/lib/model/OutboundTransfersModel.test.js +27 -9
  149. package/modules/api-svc/test/unit/lib/model/PartiesModel.test.js +2 -1
  150. package/modules/api-svc/test/unit/lib/model/QuotesModel.test.js +2 -1
  151. package/modules/api-svc/test/unit/lib/model/TransfersModel.test.js +2 -1
  152. package/modules/api-svc/test/unit/mockLogger.js +6 -4
  153. package/modules/outbound-command-event-handler/package.json +5 -5
  154. package/modules/outbound-domain-event-handler/package.json +4 -4
  155. package/modules/private-shared-lib/package.json +5 -5
  156. package/package.json +5 -5
  157. package/.yarn/cache/typescript-npm-5.7.3-e71b273452-6c38b1e989.zip +0 -0
  158. package/.yarn/cache/typescript-patch-eafcb0b70d-633cd749d6.zip +0 -0
Binary file
@@ -65,17 +65,19 @@
65
65
  "dependencies": {
66
66
  "@koa/cors": "5.0.0",
67
67
  "@mojaloop/api-snippets": "17.8.0",
68
- "@mojaloop/central-services-error-handling": "13.0.6",
68
+ "@mojaloop/central-services-error-handling": "13.0.7",
69
69
  "@mojaloop/central-services-logger": "11.5.5",
70
70
  "@mojaloop/central-services-metrics": "12.4.5",
71
- "@mojaloop/central-services-shared": "18.19.0",
71
+ "@mojaloop/central-services-shared": "18.21.0",
72
72
  "@mojaloop/event-sdk": "14.1.5",
73
73
  "@mojaloop/logging-bc-client-lib": "0.5.8",
74
- "@mojaloop/ml-schema-transformer-lib": "2.5.4",
74
+ "@mojaloop/ml-schema-transformer-lib": "2.5.6",
75
75
  "@mojaloop/sdk-scheme-adapter-private-shared-lib": "workspace:^",
76
- "@mojaloop/sdk-standard-components": "19.7.0",
76
+ "@mojaloop/sdk-standard-components": "19.8.0-snapshot.4",
77
+ "@opentelemetry/api": "^1.9.0",
78
+ "@opentelemetry/context-base": "^0.17.0",
77
79
  "ajv": "8.17.1",
78
- "axios": "1.7.9",
80
+ "axios": "1.8.1",
79
81
  "body-parser": "1.20.3",
80
82
  "co-body": "6.2.0",
81
83
  "dotenv": "16.4.7",
@@ -86,7 +88,7 @@
86
88
  "javascript-state-machine": "3.1.0",
87
89
  "js-yaml": "4.1.0",
88
90
  "json-schema-ref-parser": "9.0.9",
89
- "koa": "2.15.4",
91
+ "koa": "2.16.0",
90
92
  "koa-body": "6.0.1",
91
93
  "lodash": "4.17.21",
92
94
  "module-alias": "2.2.3",
@@ -102,6 +104,8 @@
102
104
  "devDependencies": {
103
105
  "@babel/core": "7.26.9",
104
106
  "@babel/preset-env": "7.26.9",
107
+ "@opentelemetry/auto-instrumentations-node": "^0.56.1",
108
+ "@opentelemetry/sdk-node": "^0.57.2",
105
109
  "@redocly/openapi-cli": "1.0.0-beta.95",
106
110
  "@types/jest": "29.5.14",
107
111
  "axios-mock-adapter": "2.1.0",
@@ -996,8 +996,8 @@ const postFxQuotes = async (ctx) => {
996
996
  const model = createInboundTransfersModel(ctx);
997
997
 
998
998
  model.postFxQuotes({ body, headers }, sourceFspId)
999
- .then(response => logger.push({ response }).log(`${logPrefix} is done`))
1000
- .catch(err => logger.push({ err }).log(`${logPrefix} error`));
999
+ .then(response => logger.push({ response }).verbose(`${logPrefix} is done`))
1000
+ .catch(err => logger.push({ err }).error(`${logPrefix} error`));
1001
1001
 
1002
1002
  prepareResponse(ctx);
1003
1003
  };
@@ -1041,8 +1041,8 @@ const postFxTransfers = async (ctx) => {
1041
1041
 
1042
1042
  const model = createInboundTransfersModel(ctx);
1043
1043
  model.postFxTransfers({ body, headers }, sourceFspId)
1044
- .then(response => logger.push({ response }).log(`${logPrefix} is done`))
1045
- .catch(err => logger.push({ err }).log(`${logPrefix} error`));
1044
+ .then(response => logger.push({ response }).verbose(`${logPrefix} is done`))
1045
+ .catch(err => logger.push({ err }).error(`${logPrefix} error`));
1046
1046
 
1047
1047
  prepareResponse(ctx);
1048
1048
  };
@@ -118,14 +118,14 @@ class InboundApi extends EventEmitter {
118
118
 
119
119
  api.use(middlewares.createErrorHandler(logger));
120
120
  api.use(middlewares.createRequestIdGenerator(logger));
121
- api.use(middlewares.createHeaderValidator(conf, logger));
121
+ api.use(middlewares.createLogger(logger));
122
+ api.use(middlewares.createHeaderValidator(conf));
122
123
  if (conf.validateInboundJws) {
123
124
  const jwsExclusions = conf.validateInboundPutPartiesJws ? [] : ['putParties'];
124
125
  api.use(middlewares.createJwsValidator(logger, jwsVerificationKeys, jwsExclusions));
125
126
  }
126
127
 
127
128
  api.use(middlewares.applyState({ cache, wso2, conf, logExcludePaths }));
128
- api.use(middlewares.createLogger(logger));
129
129
  api.use(middlewares.createRequestValidator(validator));
130
130
  api.use(middlewares.assignFspiopIdentifier());
131
131
  if (conf.enableTestFeatures) {
@@ -133,7 +133,7 @@ class InboundApi extends EventEmitter {
133
133
  }
134
134
  api.use(router(handlers, conf));
135
135
  api.use(middlewares.createResponseBodyHandler());
136
- api.use(middlewares.createResponseLogging(logger));
136
+ api.use(middlewares.createResponseLogging());
137
137
 
138
138
  api.context.resourceVersions = conf.resourceVersions;
139
139
 
@@ -247,12 +247,13 @@ const createRequestIdGenerator = (logger) => async (ctx, next) => {
247
247
  * @return {Function}
248
248
  */
249
249
  //
250
- const createHeaderValidator = (conf, logger) => async (
250
+ const createHeaderValidator = (conf) => async (
251
251
  ctx,
252
252
  next,
253
253
  resources = defaultProtocolResources,
254
254
  supportedProtocolVersions = defaultProtocolVersions
255
255
  ) => {
256
+ const { logger } = ctx.state;
256
257
  const request = ctx.request;
257
258
 
258
259
  // First, extract the resource type from the path
@@ -369,6 +370,7 @@ const createHeaderValidator = (conf, logger) => async (
369
370
  * @return {Function}
370
371
  */
371
372
  const createJwsValidator = (logger, keys, exclusions) => {
373
+ // todo: take logger from ctx
372
374
  const jwsValidator = new Jws.validator({
373
375
  logger: logger,
374
376
  validationKeys: keys,
@@ -381,7 +383,7 @@ const createJwsValidator = (logger, keys, exclusions) => {
381
383
  if (exclusions.includes('putParties')
382
384
  && ctx.request.method === 'PUT'
383
385
  && ctx.request.path.startsWith('/parties/')) {
384
- logger.isDebugEnabled && logger.debug('Skipping jws validation on put parties. config flag is set');
386
+ logger.isInfoEnabled && logger.info('Skipping jws validation on put parties. config flag is set');
385
387
  return await next();
386
388
  }
387
389
 
@@ -389,7 +391,7 @@ const createJwsValidator = (logger, keys, exclusions) => {
389
391
  // todo: validate this requirement. No state is mutated by GETs but
390
392
  // there are potential security issues if message origin is used to
391
393
  // determine permission sets i.e. what is "readable"
392
- if(ctx.request.method !== 'GET') {
394
+ if (ctx.request.method !== 'GET') {
393
395
  logger.isDebugEnabled && logger.push({ request: ctx.request, body: ctx.request.body }).debug('Validating JWS');
394
396
  jwsValidator.validate(ctx.request, logger);
395
397
  }
@@ -439,19 +441,8 @@ const createLogger = (logger) => async (ctx, next) => {
439
441
  path: ctx.path,
440
442
  method: ctx.method
441
443
  }});
442
- await ctx.state.logger.isDebugEnabled && ctx.state.logger.debug('Request received');
443
- // TODO: we need to disable the following log message based on a configurable parameter like DEBUG
444
- if (!ctx.state.logExcludePaths.includes(ctx.path) && !ctx.path.startsWith('/bulk')) {
445
- ctx.state.logger.push({body: ctx.request.body}).debug('Request received');
446
- }
447
- try {
448
- await next();
449
- } catch (err) {
450
- ctx.state.logger.isErrorEnabled && ctx.state.logger.push(err).error('Error');
451
- }
452
- if (!ctx.state.logExcludePaths.includes(ctx.path)) {
453
- await ctx.state.logger.isDebugEnabled && ctx.state.logger.debug('Request processed');
454
- }
444
+
445
+ await next();
455
446
  };
456
447
 
457
448
 
@@ -510,18 +501,21 @@ const createResponseBodyHandler = () => async (ctx, next) => {
510
501
  return await next();
511
502
  };
512
503
 
513
- const createResponseLogging = (logger) => async (ctx, next) => {
514
- if (shouldLog(ctx.path, logger)) {
504
+
505
+ const logResponse = (ctx) => {
506
+ if (shouldLog(ctx.path, ctx.state.logger)) {
515
507
  const { method, path, id } = ctx.request;
516
508
  const { status = 'n/a' } = ctx.response;
517
509
  const processTime = ((Date.now() - ctx.state.receivedAt) / 1000).toFixed(1);
518
- logger.info(`[<== ${status}] ${method?.toUpperCase()} ${path} [${processTime}sec] - requestId: ${id}`);
510
+ ctx.state.logger.info(`[<== ${status}] ${method?.toUpperCase()} ${path} [${processTime}sec] - requestId: ${id}`);
519
511
  }
512
+ };
520
513
 
514
+ const createResponseLogging = () => async (ctx, next) => {
515
+ logResponse(ctx);
521
516
  return await next();
522
517
  };
523
518
 
524
-
525
519
  module.exports = {
526
520
  applyState,
527
521
  assignFspiopIdentifier,
@@ -534,4 +528,5 @@ module.exports = {
534
528
  createRequestValidator,
535
529
  createResponseBodyHandler,
536
530
  createResponseLogging,
531
+ logResponse,
537
532
  };
@@ -71,7 +71,7 @@ const handleError = (method, err, ctx, stateField) => {
71
71
  // the structure of the response object in depth to ascertain an underlying mojaloop API error code.
72
72
  const errorInformation = err[stateField].lastError.mojaloopError.errorInformation;
73
73
  ctx.response.body.statusCode = errorInformation.errorCode;
74
- ctx.state.logger.warn('errorInformation - ', errorInformation);
74
+ ctx.state.logger.push({ errorInformation }).warn('errorInformation:');
75
75
 
76
76
  // if we have been configured to use an error extensionList item as status code, look for it and use
77
77
  // it if it is present...
@@ -33,6 +33,7 @@ const {
33
33
  createLogger,
34
34
  createRequestIdGenerator,
35
35
  createResponseLogging,
36
+ logResponse,
36
37
  } = require('../InboundServer/middlewares');
37
38
 
38
39
 
@@ -42,25 +43,29 @@ const {
42
43
  * @return {Function}
43
44
  */
44
45
  const createRequestValidator = (validator) => async (ctx, next) => {
46
+ const { logger } = ctx.state;
47
+
45
48
  if (!ctx.state.logExcludePaths.includes(ctx.path)) {
46
- ctx.state.logger.isDebugEnabled && ctx.state.logger.debug('Validating request');
49
+ logger.isDebugEnabled && logger.debug('Validating request');
47
50
  }
48
51
  try {
49
- const matchedPathObject = validator.validateRequest(ctx, ctx.state.logger);
52
+ const matchedPathObject = validator.validateRequest(ctx, logger);
50
53
  ctx.state.path = {
51
54
  ...matchedPathObject
52
55
  };
53
56
  if (!ctx.state.logExcludePaths.includes(ctx.path)) {
54
- ctx.state.logger.isDebugEnabled && ctx.state.logger.debug('Request passed validation');
57
+ logger.isDebugEnabled && logger.debug('Request validation passed');
55
58
  }
56
59
  await next();
57
60
  } catch (err) {
58
- ctx.state.logger.isDebugEnabled && ctx.state.logger.push({ err }).debug('Request failed validation.');
61
+ const { method, path, id } = ctx.request;
62
+ logger.isWarnEnabled && logger.push({ err, method, path, id }).warn('Request validation failed');
59
63
  ctx.response.status = ReturnCodes.BADREQUEST.CODE;
60
64
  ctx.response.body = {
61
65
  message: `${err.dataPath ? err.dataPath + ' ' : ''}${err.message}`,
62
66
  statusCode: 400
63
67
  };
68
+ logResponse(ctx);
64
69
  }
65
70
  };
66
71