@inversifyjs/http-insights 0.0.0-stage → 0.2.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 (273) hide show
  1. package/.prettierignore +1 -0
  2. package/LICENSE +21 -0
  3. package/lib/foundation/db/adapter/inversify/modules/DbContainerModule.d.ts +6 -0
  4. package/lib/foundation/db/adapter/inversify/modules/DbContainerModule.d.ts.map +1 -0
  5. package/lib/foundation/db/adapter/inversify/modules/DbContainerModule.js +28 -0
  6. package/lib/foundation/db/adapter/inversify/modules/DbContainerModule.js.map +1 -0
  7. package/lib/foundation/db/models/databaseUrl.d.ts +2 -0
  8. package/lib/foundation/db/models/databaseUrl.d.ts.map +1 -0
  9. package/lib/foundation/db/models/databaseUrl.js +2 -0
  10. package/lib/foundation/db/models/databaseUrl.js.map +1 -0
  11. package/lib/foundation/inversify/pipes/standardSchemaValidationPipe.d.ts +3 -0
  12. package/lib/foundation/inversify/pipes/standardSchemaValidationPipe.d.ts.map +1 -0
  13. package/lib/foundation/inversify/pipes/standardSchemaValidationPipe.js +3 -0
  14. package/lib/foundation/inversify/pipes/standardSchemaValidationPipe.js.map +1 -0
  15. package/lib/foundation/modules/Builder.d.ts +4 -0
  16. package/lib/foundation/modules/Builder.d.ts.map +1 -0
  17. package/lib/foundation/modules/Builder.js +2 -0
  18. package/lib/foundation/modules/Builder.js.map +1 -0
  19. package/lib/generated/prisma/browser.d.ts +55 -0
  20. package/lib/generated/prisma/browser.d.ts.map +1 -0
  21. package/lib/generated/prisma/browser.js +18 -0
  22. package/lib/generated/prisma/browser.js.map +1 -0
  23. package/lib/generated/prisma/client.d.ts +74 -0
  24. package/lib/generated/prisma/client.d.ts.map +1 -0
  25. package/lib/generated/prisma/client.js +35 -0
  26. package/lib/generated/prisma/client.js.map +1 -0
  27. package/lib/generated/prisma/commonInputTypes.d.ts +361 -0
  28. package/lib/generated/prisma/commonInputTypes.d.ts.map +1 -0
  29. package/lib/generated/prisma/commonInputTypes.js +11 -0
  30. package/lib/generated/prisma/commonInputTypes.js.map +1 -0
  31. package/lib/generated/prisma/enums.d.ts +2 -0
  32. package/lib/generated/prisma/enums.d.ts.map +1 -0
  33. package/lib/generated/prisma/enums.js +11 -0
  34. package/lib/generated/prisma/enums.js.map +1 -0
  35. package/lib/generated/prisma/internal/class.d.ts +232 -0
  36. package/lib/generated/prisma/internal/class.d.ts.map +1 -0
  37. package/lib/generated/prisma/internal/class.js +52 -0
  38. package/lib/generated/prisma/internal/class.js.map +1 -0
  39. package/lib/generated/prisma/internal/prismaNamespace.d.ts +1398 -0
  40. package/lib/generated/prisma/internal/prismaNamespace.d.ts.map +1 -0
  41. package/lib/generated/prisma/internal/prismaNamespace.js +212 -0
  42. package/lib/generated/prisma/internal/prismaNamespace.js.map +1 -0
  43. package/lib/generated/prisma/internal/prismaNamespaceBrowser.d.ts +185 -0
  44. package/lib/generated/prisma/internal/prismaNamespaceBrowser.d.ts.map +1 -0
  45. package/lib/generated/prisma/internal/prismaNamespaceBrowser.js +183 -0
  46. package/lib/generated/prisma/internal/prismaNamespaceBrowser.js.map +1 -0
  47. package/lib/generated/prisma/models/Call.d.ts +2045 -0
  48. package/lib/generated/prisma/models/Call.d.ts.map +1 -0
  49. package/lib/generated/prisma/models/Call.js +2 -0
  50. package/lib/generated/prisma/models/Call.js.map +1 -0
  51. package/lib/generated/prisma/models/Controller.d.ts +1252 -0
  52. package/lib/generated/prisma/models/Controller.d.ts.map +1 -0
  53. package/lib/generated/prisma/models/Controller.js +2 -0
  54. package/lib/generated/prisma/models/Controller.js.map +1 -0
  55. package/lib/generated/prisma/models/Guard.d.ts +1310 -0
  56. package/lib/generated/prisma/models/Guard.d.ts.map +1 -0
  57. package/lib/generated/prisma/models/Guard.js +2 -0
  58. package/lib/generated/prisma/models/Guard.js.map +1 -0
  59. package/lib/generated/prisma/models/HttpError.d.ts +1275 -0
  60. package/lib/generated/prisma/models/HttpError.d.ts.map +1 -0
  61. package/lib/generated/prisma/models/HttpError.js +2 -0
  62. package/lib/generated/prisma/models/HttpError.js.map +1 -0
  63. package/lib/generated/prisma/models/Interceptor.d.ts +1272 -0
  64. package/lib/generated/prisma/models/Interceptor.d.ts.map +1 -0
  65. package/lib/generated/prisma/models/Interceptor.js +2 -0
  66. package/lib/generated/prisma/models/Interceptor.js.map +1 -0
  67. package/lib/generated/prisma/models/Middleware.d.ts +1307 -0
  68. package/lib/generated/prisma/models/Middleware.d.ts.map +1 -0
  69. package/lib/generated/prisma/models/Middleware.js +2 -0
  70. package/lib/generated/prisma/models/Middleware.js.map +1 -0
  71. package/lib/generated/prisma/models/NativeMiddleware.d.ts +1272 -0
  72. package/lib/generated/prisma/models/NativeMiddleware.d.ts.map +1 -0
  73. package/lib/generated/prisma/models/NativeMiddleware.js +2 -0
  74. package/lib/generated/prisma/models/NativeMiddleware.js.map +1 -0
  75. package/lib/generated/prisma/models/Pipe.d.ts +1387 -0
  76. package/lib/generated/prisma/models/Pipe.d.ts.map +1 -0
  77. package/lib/generated/prisma/models/Pipe.js +2 -0
  78. package/lib/generated/prisma/models/Pipe.js.map +1 -0
  79. package/lib/generated/prisma/models/Request.d.ts +1220 -0
  80. package/lib/generated/prisma/models/Request.d.ts.map +1 -0
  81. package/lib/generated/prisma/models/Request.js +2 -0
  82. package/lib/generated/prisma/models/Request.js.map +1 -0
  83. package/lib/generated/prisma/models/Response.d.ts +1261 -0
  84. package/lib/generated/prisma/models/Response.d.ts.map +1 -0
  85. package/lib/generated/prisma/models/Response.js +2 -0
  86. package/lib/generated/prisma/models/Response.js.map +1 -0
  87. package/lib/generated/prisma/models.d.ts +12 -0
  88. package/lib/generated/prisma/models.d.ts.map +1 -0
  89. package/lib/generated/prisma/models.js +2 -0
  90. package/lib/generated/prisma/models.js.map +1 -0
  91. package/lib/generated/prisma-migrate/index.d.ts +6 -0
  92. package/lib/generated/prisma-migrate/index.d.ts.map +1 -0
  93. package/lib/generated/prisma-migrate/index.js +27 -0
  94. package/lib/generated/prisma-migrate/index.js.map +1 -0
  95. package/lib/index.d.ts +2 -0
  96. package/lib/index.d.ts.map +1 -0
  97. package/lib/index.js +2 -0
  98. package/lib/index.js.map +1 -0
  99. package/lib/insights/adapter/inversify/builders/CallsFindQueryFromCallIdBuilder.d.ts +6 -0
  100. package/lib/insights/adapter/inversify/builders/CallsFindQueryFromCallIdBuilder.d.ts.map +1 -0
  101. package/lib/insights/adapter/inversify/builders/CallsFindQueryFromCallIdBuilder.js +32 -0
  102. package/lib/insights/adapter/inversify/builders/CallsFindQueryFromCallIdBuilder.js.map +1 -0
  103. package/lib/insights/adapter/inversify/calculations/buildHttpInsightsUiFileResponse.d.ts +3 -0
  104. package/lib/insights/adapter/inversify/calculations/buildHttpInsightsUiFileResponse.d.ts.map +1 -0
  105. package/lib/insights/adapter/inversify/calculations/buildHttpInsightsUiFileResponse.js +19 -0
  106. package/lib/insights/adapter/inversify/calculations/buildHttpInsightsUiFileResponse.js.map +1 -0
  107. package/lib/insights/adapter/inversify/controllers/CallsController.d.ts +14 -0
  108. package/lib/insights/adapter/inversify/controllers/CallsController.d.ts.map +1 -0
  109. package/lib/insights/adapter/inversify/controllers/CallsController.js +72 -0
  110. package/lib/insights/adapter/inversify/controllers/CallsController.js.map +1 -0
  111. package/lib/insights/adapter/inversify/controllers/InsightsUiController.d.ts +7 -0
  112. package/lib/insights/adapter/inversify/controllers/InsightsUiController.d.ts.map +1 -0
  113. package/lib/insights/adapter/inversify/controllers/InsightsUiController.js +54 -0
  114. package/lib/insights/adapter/inversify/controllers/InsightsUiController.js.map +1 -0
  115. package/lib/insights/adapter/inversify/modules/InsightsContainerModule.d.ts +5 -0
  116. package/lib/insights/adapter/inversify/modules/InsightsContainerModule.d.ts.map +1 -0
  117. package/lib/insights/adapter/inversify/modules/InsightsContainerModule.js +65 -0
  118. package/lib/insights/adapter/inversify/modules/InsightsContainerModule.js.map +1 -0
  119. package/lib/insights/adapter/inversify/services/HttpInsightsProvider.d.ts +9 -0
  120. package/lib/insights/adapter/inversify/services/HttpInsightsProvider.d.ts.map +1 -0
  121. package/lib/insights/adapter/inversify/services/HttpInsightsProvider.js +27 -0
  122. package/lib/insights/adapter/inversify/services/HttpInsightsProvider.js.map +1 -0
  123. package/lib/insights/adapter/prisma/adapters/PrismaInsightsPersistenceAdapter.d.ts +17 -0
  124. package/lib/insights/adapter/prisma/adapters/PrismaInsightsPersistenceAdapter.d.ts.map +1 -0
  125. package/lib/insights/adapter/prisma/adapters/PrismaInsightsPersistenceAdapter.js +416 -0
  126. package/lib/insights/adapter/prisma/adapters/PrismaInsightsPersistenceAdapter.js.map +1 -0
  127. package/lib/insights/adapter/prisma/builders/CallFromPrismaCallBuilder.d.ts +58 -0
  128. package/lib/insights/adapter/prisma/builders/CallFromPrismaCallBuilder.d.ts.map +1 -0
  129. package/lib/insights/adapter/prisma/builders/CallFromPrismaCallBuilder.js +124 -0
  130. package/lib/insights/adapter/prisma/builders/CallFromPrismaCallBuilder.js.map +1 -0
  131. package/lib/insights/adapter/prisma/builders/ControllerFromPrismaControllerBuilder.d.ts +7 -0
  132. package/lib/insights/adapter/prisma/builders/ControllerFromPrismaControllerBuilder.d.ts.map +1 -0
  133. package/lib/insights/adapter/prisma/builders/ControllerFromPrismaControllerBuilder.js +24 -0
  134. package/lib/insights/adapter/prisma/builders/ControllerFromPrismaControllerBuilder.js.map +1 -0
  135. package/lib/insights/adapter/prisma/builders/GuardFromPrismaGuardBuilder.d.ts +7 -0
  136. package/lib/insights/adapter/prisma/builders/GuardFromPrismaGuardBuilder.d.ts.map +1 -0
  137. package/lib/insights/adapter/prisma/builders/GuardFromPrismaGuardBuilder.js +24 -0
  138. package/lib/insights/adapter/prisma/builders/GuardFromPrismaGuardBuilder.js.map +1 -0
  139. package/lib/insights/adapter/prisma/builders/HttpErrorFromPrismaHttpErrorBuilder.d.ts +7 -0
  140. package/lib/insights/adapter/prisma/builders/HttpErrorFromPrismaHttpErrorBuilder.d.ts.map +1 -0
  141. package/lib/insights/adapter/prisma/builders/HttpErrorFromPrismaHttpErrorBuilder.js +23 -0
  142. package/lib/insights/adapter/prisma/builders/HttpErrorFromPrismaHttpErrorBuilder.js.map +1 -0
  143. package/lib/insights/adapter/prisma/builders/InterceptorFromPrismaInterceptorBuilder.d.ts +7 -0
  144. package/lib/insights/adapter/prisma/builders/InterceptorFromPrismaInterceptorBuilder.d.ts.map +1 -0
  145. package/lib/insights/adapter/prisma/builders/InterceptorFromPrismaInterceptorBuilder.js +23 -0
  146. package/lib/insights/adapter/prisma/builders/InterceptorFromPrismaInterceptorBuilder.js.map +1 -0
  147. package/lib/insights/adapter/prisma/builders/MiddlewareFromPrismaMiddlewareBuilder.d.ts +8 -0
  148. package/lib/insights/adapter/prisma/builders/MiddlewareFromPrismaMiddlewareBuilder.d.ts.map +1 -0
  149. package/lib/insights/adapter/prisma/builders/MiddlewareFromPrismaMiddlewareBuilder.js +35 -0
  150. package/lib/insights/adapter/prisma/builders/MiddlewareFromPrismaMiddlewareBuilder.js.map +1 -0
  151. package/lib/insights/adapter/prisma/builders/NativeMiddlewareFromPrismaNativeMiddlewareBuilder.d.ts +7 -0
  152. package/lib/insights/adapter/prisma/builders/NativeMiddlewareFromPrismaNativeMiddlewareBuilder.d.ts.map +1 -0
  153. package/lib/insights/adapter/prisma/builders/NativeMiddlewareFromPrismaNativeMiddlewareBuilder.js +23 -0
  154. package/lib/insights/adapter/prisma/builders/NativeMiddlewareFromPrismaNativeMiddlewareBuilder.js.map +1 -0
  155. package/lib/insights/adapter/prisma/builders/PipeFromPrismaPipeBuilder.d.ts +7 -0
  156. package/lib/insights/adapter/prisma/builders/PipeFromPrismaPipeBuilder.d.ts.map +1 -0
  157. package/lib/insights/adapter/prisma/builders/PipeFromPrismaPipeBuilder.js +25 -0
  158. package/lib/insights/adapter/prisma/builders/PipeFromPrismaPipeBuilder.js.map +1 -0
  159. package/lib/insights/adapter/prisma/builders/RequestFromPrismaRequestBuilder.d.ts +7 -0
  160. package/lib/insights/adapter/prisma/builders/RequestFromPrismaRequestBuilder.d.ts.map +1 -0
  161. package/lib/insights/adapter/prisma/builders/RequestFromPrismaRequestBuilder.js +23 -0
  162. package/lib/insights/adapter/prisma/builders/RequestFromPrismaRequestBuilder.js.map +1 -0
  163. package/lib/insights/adapter/prisma/builders/ResponseFromPrismaResponseBuilder.d.ts +7 -0
  164. package/lib/insights/adapter/prisma/builders/ResponseFromPrismaResponseBuilder.d.ts.map +1 -0
  165. package/lib/insights/adapter/prisma/builders/ResponseFromPrismaResponseBuilder.js +23 -0
  166. package/lib/insights/adapter/prisma/builders/ResponseFromPrismaResponseBuilder.js.map +1 -0
  167. package/lib/insights/adapter/zod/builders/CallsFindQueryFromGetInsightsV1QueryBuilder.d.ts +7 -0
  168. package/lib/insights/adapter/zod/builders/CallsFindQueryFromGetInsightsV1QueryBuilder.d.ts.map +1 -0
  169. package/lib/insights/adapter/zod/builders/CallsFindQueryFromGetInsightsV1QueryBuilder.js +33 -0
  170. package/lib/insights/adapter/zod/builders/CallsFindQueryFromGetInsightsV1QueryBuilder.js.map +1 -0
  171. package/lib/insights/adapter/zod/schemas/GetCallsV1Query.d.ts +14 -0
  172. package/lib/insights/adapter/zod/schemas/GetCallsV1Query.d.ts.map +1 -0
  173. package/lib/insights/adapter/zod/schemas/GetCallsV1Query.js +21 -0
  174. package/lib/insights/adapter/zod/schemas/GetCallsV1Query.js.map +1 -0
  175. package/lib/insights/application/models/CallsFilterQuery.d.ts +20 -0
  176. package/lib/insights/application/models/CallsFilterQuery.d.ts.map +1 -0
  177. package/lib/insights/application/models/CallsFilterQuery.js +2 -0
  178. package/lib/insights/application/models/CallsFilterQuery.js.map +1 -0
  179. package/lib/insights/application/models/CallsFindQuery.d.ts +14 -0
  180. package/lib/insights/application/models/CallsFindQuery.d.ts.map +1 -0
  181. package/lib/insights/application/models/CallsFindQuery.js +2 -0
  182. package/lib/insights/application/models/CallsFindQuery.js.map +1 -0
  183. package/lib/insights/application/models/CallsFindQueryResult.d.ts +6 -0
  184. package/lib/insights/application/models/CallsFindQueryResult.d.ts.map +1 -0
  185. package/lib/insights/application/models/CallsFindQueryResult.js +2 -0
  186. package/lib/insights/application/models/CallsFindQueryResult.js.map +1 -0
  187. package/lib/insights/application/models/CallsSetQuery.d.ts +5 -0
  188. package/lib/insights/application/models/CallsSetQuery.d.ts.map +1 -0
  189. package/lib/insights/application/models/CallsSetQuery.js +2 -0
  190. package/lib/insights/application/models/CallsSetQuery.js.map +1 -0
  191. package/lib/insights/application/models/ExecuteUpdateCommand.d.ts +7 -0
  192. package/lib/insights/application/models/ExecuteUpdateCommand.d.ts.map +1 -0
  193. package/lib/insights/application/models/ExecuteUpdateCommand.js +2 -0
  194. package/lib/insights/application/models/ExecuteUpdateCommand.js.map +1 -0
  195. package/lib/insights/application/models/OngoingCallsFindQueryResult.d.ts +6 -0
  196. package/lib/insights/application/models/OngoingCallsFindQueryResult.d.ts.map +1 -0
  197. package/lib/insights/application/models/OngoingCallsFindQueryResult.js +2 -0
  198. package/lib/insights/application/models/OngoingCallsFindQueryResult.js.map +1 -0
  199. package/lib/insights/application/ports/CallManagementInputPort.d.ts +15 -0
  200. package/lib/insights/application/ports/CallManagementInputPort.d.ts.map +1 -0
  201. package/lib/insights/application/ports/CallManagementInputPort.js +47 -0
  202. package/lib/insights/application/ports/CallManagementInputPort.js.map +1 -0
  203. package/lib/insights/application/ports/CallPersistenceOutputPort.d.ts +13 -0
  204. package/lib/insights/application/ports/CallPersistenceOutputPort.d.ts.map +1 -0
  205. package/lib/insights/application/ports/CallPersistenceOutputPort.js +2 -0
  206. package/lib/insights/application/ports/CallPersistenceOutputPort.js.map +1 -0
  207. package/lib/insights/domain/models/BaseCall.d.ts +20 -0
  208. package/lib/insights/domain/models/BaseCall.d.ts.map +1 -0
  209. package/lib/insights/domain/models/BaseCall.js +2 -0
  210. package/lib/insights/domain/models/BaseCall.js.map +1 -0
  211. package/lib/insights/domain/models/Call.d.ts +6 -0
  212. package/lib/insights/domain/models/Call.d.ts.map +1 -0
  213. package/lib/insights/domain/models/Call.js +2 -0
  214. package/lib/insights/domain/models/Call.js.map +1 -0
  215. package/lib/insights/domain/models/Controller.d.ts +9 -0
  216. package/lib/insights/domain/models/Controller.d.ts.map +1 -0
  217. package/lib/insights/domain/models/Controller.js +2 -0
  218. package/lib/insights/domain/models/Controller.js.map +1 -0
  219. package/lib/insights/domain/models/Guard.d.ts +9 -0
  220. package/lib/insights/domain/models/Guard.d.ts.map +1 -0
  221. package/lib/insights/domain/models/Guard.js +2 -0
  222. package/lib/insights/domain/models/Guard.js.map +1 -0
  223. package/lib/insights/domain/models/HttpError.d.ts +8 -0
  224. package/lib/insights/domain/models/HttpError.d.ts.map +1 -0
  225. package/lib/insights/domain/models/HttpError.js +2 -0
  226. package/lib/insights/domain/models/HttpError.js.map +1 -0
  227. package/lib/insights/domain/models/Interceptor.d.ts +8 -0
  228. package/lib/insights/domain/models/Interceptor.d.ts.map +1 -0
  229. package/lib/insights/domain/models/Interceptor.js +2 -0
  230. package/lib/insights/domain/models/Interceptor.js.map +1 -0
  231. package/lib/insights/domain/models/Middleware.d.ts +10 -0
  232. package/lib/insights/domain/models/Middleware.d.ts.map +1 -0
  233. package/lib/insights/domain/models/Middleware.js +2 -0
  234. package/lib/insights/domain/models/Middleware.js.map +1 -0
  235. package/lib/insights/domain/models/NativeMiddleware.d.ts +8 -0
  236. package/lib/insights/domain/models/NativeMiddleware.d.ts.map +1 -0
  237. package/lib/insights/domain/models/NativeMiddleware.js +2 -0
  238. package/lib/insights/domain/models/NativeMiddleware.js.map +1 -0
  239. package/lib/insights/domain/models/OngoingCall.d.ts +3 -0
  240. package/lib/insights/domain/models/OngoingCall.d.ts.map +1 -0
  241. package/lib/insights/domain/models/OngoingCall.js +2 -0
  242. package/lib/insights/domain/models/OngoingCall.js.map +1 -0
  243. package/lib/insights/domain/models/Pipe.d.ts +10 -0
  244. package/lib/insights/domain/models/Pipe.d.ts.map +1 -0
  245. package/lib/insights/domain/models/Pipe.js +2 -0
  246. package/lib/insights/domain/models/Pipe.js.map +1 -0
  247. package/lib/insights/domain/models/Request.d.ts +8 -0
  248. package/lib/insights/domain/models/Request.d.ts.map +1 -0
  249. package/lib/insights/domain/models/Request.js +2 -0
  250. package/lib/insights/domain/models/Request.js.map +1 -0
  251. package/lib/insights/domain/models/Response.d.ts +8 -0
  252. package/lib/insights/domain/models/Response.d.ts.map +1 -0
  253. package/lib/insights/domain/models/Response.js +2 -0
  254. package/lib/insights/domain/models/Response.js.map +1 -0
  255. package/lib/instrumentation/adapter/inversify/modules/InstrumentationContainerModule.d.ts +5 -0
  256. package/lib/instrumentation/adapter/inversify/modules/InstrumentationContainerModule.d.ts.map +1 -0
  257. package/lib/instrumentation/adapter/inversify/modules/InstrumentationContainerModule.js +10 -0
  258. package/lib/instrumentation/adapter/inversify/modules/InstrumentationContainerModule.js.map +1 -0
  259. package/lib/instrumentation/adapter/inversify/services/HttpInsightsEventSink.d.ts +11 -0
  260. package/lib/instrumentation/adapter/inversify/services/HttpInsightsEventSink.d.ts.map +1 -0
  261. package/lib/instrumentation/adapter/inversify/services/HttpInsightsEventSink.js +423 -0
  262. package/lib/instrumentation/adapter/inversify/services/HttpInsightsEventSink.js.map +1 -0
  263. package/lib/scripts/generatePrismaMigrate.d.ts +2 -0
  264. package/lib/scripts/generatePrismaMigrate.d.ts.map +1 -0
  265. package/lib/scripts/generatePrismaMigrate.js +63 -0
  266. package/lib/scripts/generatePrismaMigrate.js.map +1 -0
  267. package/package.json +83 -3
  268. package/prisma/migrations/20261018163227_init/migration.sql +164 -0
  269. package/prisma/migrations/20261022004000_rename_execution_to_call/migration.sql +161 -0
  270. package/prisma/migrations/migration_lock.toml +3 -0
  271. package/prisma/schema.prisma +157 -0
  272. package/turbo.json +87 -0
  273. package/README.md +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpInsightsProvider.js","sourceRoot":"","sources":["../../../../../src/insights/adapter/inversify/services/HttpInsightsProvider.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0EAA0E,CAAC;AAC7G,OAAO,EAAE,8BAA8B,EAAE,MAAM,yFAAyF,CAAC;AACzI,OAAO,EAAE,qBAAqB,EAAE,MAAM,iFAAiF,CAAC;AACxH,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAEhF,MAAM,OAAO,oBAAoB;IAC/B,SAAS,CAAU;IACnB,UAAU,CAAkD;IAE5D;QACE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,SAAoB;QACvC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,SAAS,CAAC,SAAS,CACvB,IAAI,iBAAiB,EAAE,EACvB,IAAI,uBAAuB,EAAE,EAC7B,IAAI,8BAA8B,EAAE,CACrC,CAAC;QAEF,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAEM,YAAY;QACjB,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF"}
@@ -0,0 +1,17 @@
1
+ import { PrismaClient } from '../../../../generated/prisma/client.js';
2
+ import { type CompletedCallsFindQuery, type OngoingCallsFindQuery } from '../../../application/models/CallsFindQuery.js';
3
+ import { CallsFindQueryResult } from '../../../application/models/CallsFindQueryResult.js';
4
+ import { type ExecuteUpdateCommand } from '../../../application/models/ExecuteUpdateCommand.js';
5
+ import { OngoingCallsFindQueryResult } from '../../../application/models/OngoingCallsFindQueryResult.js';
6
+ import { type CallPersistenceOutputPort } from '../../../application/ports/CallPersistenceOutputPort.js';
7
+ import { type Call } from '../../../domain/models/Call.js';
8
+ import { CallFromPrismaCallBuilder } from '../builders/CallFromPrismaCallBuilder.js';
9
+ export declare class PrismaInsightsPersistenceAdapter implements CallPersistenceOutputPort {
10
+ #private;
11
+ constructor(callFromPrismaCallBuilder: CallFromPrismaCallBuilder, prismaClient: PrismaClient);
12
+ create(call: Call): Promise<void>;
13
+ find(query: OngoingCallsFindQuery): Promise<OngoingCallsFindQueryResult>;
14
+ find(query: CompletedCallsFindQuery): Promise<CallsFindQueryResult>;
15
+ update(command: ExecuteUpdateCommand): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=PrismaInsightsPersistenceAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrismaInsightsPersistenceAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/insights/adapter/prisma/adapters/PrismaInsightsPersistenceAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAK9E,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC3B,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAC3F,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAChG,OAAO,EAAE,2BAA2B,EAAE,MAAM,4DAA4D,CAAC;AACzG,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,yDAAyD,CAAC;AACzG,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gCAAgC,CAAC;AAU3D,OAAO,EACL,yBAAyB,EAG1B,MAAM,0CAA0C,CAAC;AAElD,qBACa,gCAAiC,YAAW,yBAAyB;;gBAM9E,yBAAyB,EAAE,yBAAyB,EAEpD,YAAY,EAAE,YAAY;IAMf,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBjC,IAAI,CACf,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,2BAA2B,CAAC;IAC1B,IAAI,CACf,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,oBAAoB,CAAC;IAwCnB,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CAihBlE"}
@@ -0,0 +1,416 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { inject, injectable } from 'inversify';
14
+ import { Prisma, PrismaClient } from '../../../../generated/prisma/client.js';
15
+ import { CallFromPrismaCallBuilder, callInclude, } from '../builders/CallFromPrismaCallBuilder.js';
16
+ let PrismaInsightsPersistenceAdapter = class PrismaInsightsPersistenceAdapter {
17
+ #callFromPrismaCallBuilder;
18
+ #prismaClient;
19
+ constructor(callFromPrismaCallBuilder, prismaClient) {
20
+ this.#callFromPrismaCallBuilder = callFromPrismaCallBuilder;
21
+ this.#prismaClient = prismaClient;
22
+ }
23
+ async create(call) {
24
+ await this.#prismaClient.$transaction(async (transaction) => {
25
+ await transaction.call.create({
26
+ data: {
27
+ id: call.id,
28
+ request: {
29
+ create: {
30
+ headers: call.request.headers,
31
+ id: call.request.id,
32
+ method: call.request.method,
33
+ started_at: call.request.startedAt,
34
+ url: call.request.url,
35
+ },
36
+ },
37
+ },
38
+ });
39
+ await this.#writeCallElements(transaction, call);
40
+ });
41
+ }
42
+ async find(query) {
43
+ const where = this.#buildCallWhereInput(query.filter);
44
+ const [prismaCalls, total] = await Promise.all([
45
+ this.#prismaClient.call.findMany({
46
+ include: callInclude,
47
+ orderBy: this.#buildCallOrderBy(query.filter),
48
+ where,
49
+ ...(query.offset === undefined ? {} : { skip: query.offset }),
50
+ ...(query.limit === undefined ? {} : { take: query.limit }),
51
+ }),
52
+ this.#prismaClient.call.count({
53
+ where,
54
+ }),
55
+ ]);
56
+ if (query.filter.response === null) {
57
+ return {
58
+ items: prismaCalls.map((prismaCall) => this.#callFromPrismaCallBuilder.buildOngoing(prismaCall)),
59
+ total,
60
+ };
61
+ }
62
+ return {
63
+ items: prismaCalls.map((prismaCall) => this.#callFromPrismaCallBuilder.build(prismaCall)),
64
+ total,
65
+ };
66
+ }
67
+ async update(command) {
68
+ await this.#prismaClient.$transaction(async (transaction) => {
69
+ const callId = await this.#readSingleCallId(transaction, command.filter);
70
+ if (command.set.httpErrors.length === 0) {
71
+ return;
72
+ }
73
+ await transaction.httpError.createMany({
74
+ data: command.set.httpErrors.map((httpError) => this.#buildHttpErrorCreateManyInput(callId, httpError)),
75
+ });
76
+ });
77
+ }
78
+ #buildControllerCreateManyInput(callId, controller) {
79
+ return this.#withOptionalError({
80
+ call_id: callId,
81
+ controller: controller.controller,
82
+ ended_at: controller.endedAt,
83
+ id: controller.id,
84
+ method: controller.method,
85
+ started_at: controller.startedAt,
86
+ }, controller.error);
87
+ }
88
+ #buildCallIdWhereInput(id) {
89
+ if (id === undefined) {
90
+ return {};
91
+ }
92
+ return {
93
+ id,
94
+ };
95
+ }
96
+ #buildCallOrderBy(query) {
97
+ switch (query.sort) {
98
+ case 'startedAtAsc':
99
+ return [
100
+ {
101
+ request: {
102
+ started_at: 'asc',
103
+ },
104
+ },
105
+ {
106
+ id: 'asc',
107
+ },
108
+ ];
109
+ case 'startedAtDesc':
110
+ return [
111
+ {
112
+ request: {
113
+ started_at: 'desc',
114
+ },
115
+ },
116
+ {
117
+ id: 'desc',
118
+ },
119
+ ];
120
+ case undefined:
121
+ return [
122
+ {
123
+ created_at: 'desc',
124
+ },
125
+ {
126
+ id: 'desc',
127
+ },
128
+ ];
129
+ }
130
+ }
131
+ #buildCallWhereInput(query) {
132
+ let whereRequest;
133
+ if (query.request.method === undefined &&
134
+ query.request.urlLike === undefined) {
135
+ whereRequest = {
136
+ isNot: null,
137
+ };
138
+ }
139
+ else {
140
+ whereRequest = {};
141
+ if (query.request.method !== undefined) {
142
+ whereRequest.method = query.request.method;
143
+ }
144
+ if (query.request.urlLike !== undefined) {
145
+ whereRequest.url = { contains: query.request.urlLike };
146
+ }
147
+ }
148
+ const whereCallId = this.#buildCallIdWhereInput(query.id);
149
+ if (query.response === null) {
150
+ return {
151
+ ...whereCallId,
152
+ request: whereRequest,
153
+ response: {
154
+ is: null,
155
+ },
156
+ };
157
+ }
158
+ let whereResponse;
159
+ if (query.response.statusCode === undefined) {
160
+ whereResponse = {
161
+ isNot: null,
162
+ };
163
+ }
164
+ else {
165
+ whereResponse = {
166
+ status_code: query.response.statusCode,
167
+ };
168
+ }
169
+ const where = {
170
+ ...whereCallId,
171
+ request: whereRequest,
172
+ response: whereResponse,
173
+ };
174
+ return where;
175
+ }
176
+ #buildGuardCreateManyInput(callId, guard) {
177
+ return this.#withOptionalError({
178
+ allowed: guard.allowed,
179
+ call_id: callId,
180
+ ended_at: guard.endedAt,
181
+ guard: guard.guard,
182
+ id: guard.id,
183
+ started_at: guard.startedAt,
184
+ }, guard.error);
185
+ }
186
+ #buildHttpErrorCreateManyInput(callId, httpError) {
187
+ return {
188
+ call_id: callId,
189
+ ended_at: httpError.endedAt,
190
+ error: this.#toRequiredInputJsonValue(httpError.error),
191
+ filter: httpError.filter,
192
+ id: httpError.id,
193
+ started_at: httpError.startedAt,
194
+ };
195
+ }
196
+ #buildInterceptorCreateManyInput(callId, interceptor) {
197
+ return this.#withOptionalError({
198
+ call_id: callId,
199
+ ended_at: interceptor.endedAt,
200
+ id: interceptor.id,
201
+ interceptor: interceptor.interceptor,
202
+ started_at: interceptor.startedAt,
203
+ }, interceptor.error);
204
+ }
205
+ #buildMiddlewareCreateManyInput(callId, middleware) {
206
+ return this.#withOptionalError({
207
+ call_id: callId,
208
+ ended_at: middleware.endedAt,
209
+ id: middleware.id,
210
+ middleware: middleware.middleware,
211
+ phase: middleware.phase,
212
+ started_at: middleware.startedAt,
213
+ }, middleware.error);
214
+ }
215
+ #buildNativeMiddlewareCreateManyInput(callId, nativeMiddleware) {
216
+ return this.#withOptionalError({
217
+ call_id: callId,
218
+ ended_at: nativeMiddleware.endedAt,
219
+ id: nativeMiddleware.id,
220
+ name: nativeMiddleware.name,
221
+ started_at: nativeMiddleware.startedAt,
222
+ }, nativeMiddleware.error);
223
+ }
224
+ #buildPipeCreateManyInput(callId, pipe) {
225
+ return this.#withOptionalError({
226
+ call_id: callId,
227
+ ended_at: pipe.endedAt,
228
+ id: pipe.id,
229
+ method: pipe.method,
230
+ parameter_index: pipe.parameterIndex,
231
+ pipe: pipe.pipe,
232
+ started_at: pipe.startedAt,
233
+ }, pipe.error);
234
+ }
235
+ #buildResponseCreateManyInput(callId, response) {
236
+ return {
237
+ aborted: response.aborted,
238
+ call_id: callId,
239
+ headers: response.headers,
240
+ id: response.id,
241
+ sent_at: response.sentAt,
242
+ status_code: response.statusCode,
243
+ };
244
+ }
245
+ #errorToJsonObject(error, seen) {
246
+ const json = {
247
+ message: error.message,
248
+ name: error.name,
249
+ };
250
+ if (typeof error.stack === 'string') {
251
+ json['stack'] = error.stack;
252
+ }
253
+ if (error.cause !== undefined) {
254
+ const cause = this.#toJsonValue(error.cause, seen);
255
+ if (cause !== undefined) {
256
+ json['cause'] = cause;
257
+ }
258
+ }
259
+ if (error instanceof AggregateError) {
260
+ json['errors'] = error.errors.map((item) => {
261
+ const jsonItem = this.#toJsonValue(item, seen);
262
+ return jsonItem === undefined ? null : jsonItem;
263
+ });
264
+ }
265
+ const record = error;
266
+ for (const key of Object.keys(error)) {
267
+ if (key === 'cause' ||
268
+ key === 'errors' ||
269
+ key === 'message' ||
270
+ key === 'name' ||
271
+ key === 'stack') {
272
+ continue;
273
+ }
274
+ const extra = this.#toJsonValue(record[key], seen);
275
+ if (extra !== undefined) {
276
+ json[key] = extra;
277
+ }
278
+ }
279
+ return json;
280
+ }
281
+ async #readSingleCallId(transaction, filter) {
282
+ const matches = await transaction.call.findMany({
283
+ select: {
284
+ id: true,
285
+ },
286
+ where: this.#buildCallWhereInput(filter),
287
+ });
288
+ if (matches.length !== 1) {
289
+ throw new Error(`Call update matched ${String(matches.length)} calls.`);
290
+ }
291
+ const match = matches[0];
292
+ if (match === undefined) {
293
+ throw new Error(`Call update matched ${String(matches.length)} calls.`);
294
+ }
295
+ return match.id;
296
+ }
297
+ #toInputJsonValue(error) {
298
+ if (error === null || error === undefined) {
299
+ return undefined;
300
+ }
301
+ const json = this.#toJsonValue(error, new WeakSet());
302
+ return json === null || json === undefined ? undefined : json;
303
+ }
304
+ #toJsonValue(value, seen) {
305
+ if (value === undefined) {
306
+ return undefined;
307
+ }
308
+ if (value === null) {
309
+ return null;
310
+ }
311
+ if (typeof value === 'string' || typeof value === 'boolean') {
312
+ return value;
313
+ }
314
+ if (typeof value === 'number') {
315
+ return Number.isFinite(value) ? value : undefined;
316
+ }
317
+ if (typeof value === 'bigint') {
318
+ return value.toString();
319
+ }
320
+ if (typeof value !== 'object') {
321
+ return undefined;
322
+ }
323
+ if (seen.has(value)) {
324
+ return '[Circular]';
325
+ }
326
+ seen.add(value);
327
+ if (value instanceof Date) {
328
+ return value.toISOString();
329
+ }
330
+ if (value instanceof Error) {
331
+ return this.#errorToJsonObject(value, seen);
332
+ }
333
+ if (Array.isArray(value)) {
334
+ return value.map((item) => {
335
+ const jsonItem = this.#toJsonValue(item, seen);
336
+ return jsonItem === undefined ? null : jsonItem;
337
+ });
338
+ }
339
+ const json = {};
340
+ for (const [key, entry] of Object.entries(value)) {
341
+ const jsonEntry = this.#toJsonValue(entry, seen);
342
+ if (jsonEntry !== undefined) {
343
+ json[key] = jsonEntry;
344
+ }
345
+ }
346
+ return json;
347
+ }
348
+ #toRequiredInputJsonValue(error) {
349
+ const jsonError = this.#toInputJsonValue(error);
350
+ if (jsonError === undefined) {
351
+ return Prisma.JsonNull;
352
+ }
353
+ return jsonError;
354
+ }
355
+ #withOptionalError(input, error) {
356
+ const jsonError = this.#toInputJsonValue(error);
357
+ if (jsonError === undefined) {
358
+ return input;
359
+ }
360
+ return {
361
+ ...input,
362
+ error: jsonError,
363
+ };
364
+ }
365
+ async #writeCallElements(transaction, call) {
366
+ const callId = call.id;
367
+ const controller = call.controller;
368
+ if (controller !== undefined) {
369
+ await transaction.controller.createMany({
370
+ data: [this.#buildControllerCreateManyInput(callId, controller)],
371
+ });
372
+ }
373
+ if (call.guards.length > 0) {
374
+ await transaction.guard.createMany({
375
+ data: call.guards.map((guard) => this.#buildGuardCreateManyInput(callId, guard)),
376
+ });
377
+ }
378
+ if (call.httpErrors.length > 0) {
379
+ await transaction.httpError.createMany({
380
+ data: call.httpErrors.map((httpError) => this.#buildHttpErrorCreateManyInput(callId, httpError)),
381
+ });
382
+ }
383
+ if (call.interceptors.length > 0) {
384
+ await transaction.interceptor.createMany({
385
+ data: call.interceptors.map((interceptor) => this.#buildInterceptorCreateManyInput(callId, interceptor)),
386
+ });
387
+ }
388
+ if (call.middlewares.length > 0) {
389
+ await transaction.middleware.createMany({
390
+ data: call.middlewares.map((middleware) => this.#buildMiddlewareCreateManyInput(callId, middleware)),
391
+ });
392
+ }
393
+ if (call.nativeMiddlewares.length > 0) {
394
+ await transaction.nativeMiddleware.createMany({
395
+ data: call.nativeMiddlewares.map((nativeMiddleware) => this.#buildNativeMiddlewareCreateManyInput(callId, nativeMiddleware)),
396
+ });
397
+ }
398
+ if (call.pipes.length > 0) {
399
+ await transaction.pipe.createMany({
400
+ data: call.pipes.map((pipe) => this.#buildPipeCreateManyInput(callId, pipe)),
401
+ });
402
+ }
403
+ await transaction.response.createMany({
404
+ data: [this.#buildResponseCreateManyInput(callId, call.response)],
405
+ });
406
+ }
407
+ };
408
+ PrismaInsightsPersistenceAdapter = __decorate([
409
+ injectable(),
410
+ __param(0, inject(CallFromPrismaCallBuilder)),
411
+ __param(1, inject(PrismaClient)),
412
+ __metadata("design:paramtypes", [CallFromPrismaCallBuilder,
413
+ PrismaClient])
414
+ ], PrismaInsightsPersistenceAdapter);
415
+ export { PrismaInsightsPersistenceAdapter };
416
+ //# sourceMappingURL=PrismaInsightsPersistenceAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrismaInsightsPersistenceAdapter.js","sourceRoot":"","sources":["../../../../../src/insights/adapter/prisma/adapters/PrismaInsightsPersistenceAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import { type Builder } from '../../../../foundation/modules/Builder.js';
2
+ import { type Prisma } from '../../../../generated/prisma/client.js';
3
+ import { type Call } from '../../../domain/models/Call.js';
4
+ import { type OngoingCall } from '../../../domain/models/OngoingCall.js';
5
+ import { ControllerFromPrismaControllerBuilder } from './ControllerFromPrismaControllerBuilder.js';
6
+ import { GuardFromPrismaGuardBuilder } from './GuardFromPrismaGuardBuilder.js';
7
+ import { HttpErrorFromPrismaHttpErrorBuilder } from './HttpErrorFromPrismaHttpErrorBuilder.js';
8
+ import { InterceptorFromPrismaInterceptorBuilder } from './InterceptorFromPrismaInterceptorBuilder.js';
9
+ import { MiddlewareFromPrismaMiddlewareBuilder } from './MiddlewareFromPrismaMiddlewareBuilder.js';
10
+ import { NativeMiddlewareFromPrismaNativeMiddlewareBuilder } from './NativeMiddlewareFromPrismaNativeMiddlewareBuilder.js';
11
+ import { PipeFromPrismaPipeBuilder } from './PipeFromPrismaPipeBuilder.js';
12
+ import { RequestFromPrismaRequestBuilder } from './RequestFromPrismaRequestBuilder.js';
13
+ import { ResponseFromPrismaResponseBuilder } from './ResponseFromPrismaResponseBuilder.js';
14
+ export declare const callInclude: {
15
+ controller: true;
16
+ guards: {
17
+ orderBy: {
18
+ started_at: "asc";
19
+ };
20
+ };
21
+ httpErrors: {
22
+ orderBy: {
23
+ started_at: "asc";
24
+ };
25
+ };
26
+ interceptors: {
27
+ orderBy: {
28
+ started_at: "asc";
29
+ };
30
+ };
31
+ middlewares: {
32
+ orderBy: {
33
+ started_at: "asc";
34
+ };
35
+ };
36
+ nativeMiddlewares: {
37
+ orderBy: {
38
+ started_at: "asc";
39
+ };
40
+ };
41
+ pipes: {
42
+ orderBy: {
43
+ started_at: "asc";
44
+ };
45
+ };
46
+ request: true;
47
+ response: true;
48
+ };
49
+ export type PrismaCallWithRelations = Prisma.CallGetPayload<{
50
+ include: typeof callInclude;
51
+ }>;
52
+ export declare class CallFromPrismaCallBuilder implements Builder<PrismaCallWithRelations, Call> {
53
+ #private;
54
+ constructor(controllerFromPrismaControllerBuilder: ControllerFromPrismaControllerBuilder, guardFromPrismaGuardBuilder: GuardFromPrismaGuardBuilder, httpErrorFromPrismaHttpErrorBuilder: HttpErrorFromPrismaHttpErrorBuilder, interceptorFromPrismaInterceptorBuilder: InterceptorFromPrismaInterceptorBuilder, middlewareFromPrismaMiddlewareBuilder: MiddlewareFromPrismaMiddlewareBuilder, nativeMiddlewareFromPrismaNativeMiddlewareBuilder: NativeMiddlewareFromPrismaNativeMiddlewareBuilder, pipeFromPrismaPipeBuilder: PipeFromPrismaPipeBuilder, requestFromPrismaRequestBuilder: RequestFromPrismaRequestBuilder, responseFromPrismaResponseBuilder: ResponseFromPrismaResponseBuilder);
55
+ build(input: PrismaCallWithRelations): Call;
56
+ buildOngoing(input: PrismaCallWithRelations): OngoingCall;
57
+ }
58
+ //# sourceMappingURL=CallFromPrismaCallBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CallFromPrismaCallBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/insights/adapter/prisma/builders/CallFromPrismaCallBuilder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,qCAAqC,EAAE,MAAM,4CAA4C,CAAC;AACnG,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,mCAAmC,EAAE,MAAM,0CAA0C,CAAC;AAC/F,OAAO,EAAE,uCAAuC,EAAE,MAAM,8CAA8C,CAAC;AACvG,OAAO,EAAE,qCAAqC,EAAE,MAAM,4CAA4C,CAAC;AACnG,OAAO,EAAE,iDAAiD,EAAE,MAAM,wDAAwD,CAAC;AAC3H,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAG3F,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAUM,CAAC;AAE/B,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,cAAc,CAAC;IAC1D,OAAO,EAAE,OAAO,WAAW,CAAC;CAC7B,CAAC,CAAC;AAEH,qBACa,yBAA0B,YAAW,OAAO,CACvD,uBAAuB,EACvB,IAAI,CACL;;gBAaG,qCAAqC,EAAE,qCAAqC,EAE5E,2BAA2B,EAAE,2BAA2B,EAExD,mCAAmC,EAAE,mCAAmC,EAExE,uCAAuC,EAAE,uCAAuC,EAEhF,qCAAqC,EAAE,qCAAqC,EAE5E,iDAAiD,EAAE,iDAAiD,EAEpG,yBAAyB,EAAE,yBAAyB,EAEpD,+BAA+B,EAAE,+BAA+B,EAEhE,iCAAiC,EAAE,iCAAiC;IAkB/D,KAAK,CAAC,KAAK,EAAE,uBAAuB,GAAG,IAAI;IAU3C,YAAY,CAAC,KAAK,EAAE,uBAAuB,GAAG,WAAW;CAsEjE"}
@@ -0,0 +1,124 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { inject, injectable } from 'inversify';
14
+ import { ControllerFromPrismaControllerBuilder } from './ControllerFromPrismaControllerBuilder.js';
15
+ import { GuardFromPrismaGuardBuilder } from './GuardFromPrismaGuardBuilder.js';
16
+ import { HttpErrorFromPrismaHttpErrorBuilder } from './HttpErrorFromPrismaHttpErrorBuilder.js';
17
+ import { InterceptorFromPrismaInterceptorBuilder } from './InterceptorFromPrismaInterceptorBuilder.js';
18
+ import { MiddlewareFromPrismaMiddlewareBuilder } from './MiddlewareFromPrismaMiddlewareBuilder.js';
19
+ import { NativeMiddlewareFromPrismaNativeMiddlewareBuilder } from './NativeMiddlewareFromPrismaNativeMiddlewareBuilder.js';
20
+ import { PipeFromPrismaPipeBuilder } from './PipeFromPrismaPipeBuilder.js';
21
+ import { RequestFromPrismaRequestBuilder } from './RequestFromPrismaRequestBuilder.js';
22
+ import { ResponseFromPrismaResponseBuilder } from './ResponseFromPrismaResponseBuilder.js';
23
+ // eslint-disable-next-line @typescript-eslint/typedef
24
+ export const callInclude = {
25
+ controller: true,
26
+ guards: { orderBy: { started_at: 'asc' } },
27
+ httpErrors: { orderBy: { started_at: 'asc' } },
28
+ interceptors: { orderBy: { started_at: 'asc' } },
29
+ middlewares: { orderBy: { started_at: 'asc' } },
30
+ nativeMiddlewares: { orderBy: { started_at: 'asc' } },
31
+ pipes: { orderBy: { started_at: 'asc' } },
32
+ request: true,
33
+ response: true,
34
+ };
35
+ let CallFromPrismaCallBuilder = class CallFromPrismaCallBuilder {
36
+ #controllerFromPrismaControllerBuilder;
37
+ #guardFromPrismaGuardBuilder;
38
+ #httpErrorFromPrismaHttpErrorBuilder;
39
+ #interceptorFromPrismaInterceptorBuilder;
40
+ #middlewareFromPrismaMiddlewareBuilder;
41
+ #nativeMiddlewareFromPrismaNativeMiddlewareBuilder;
42
+ #pipeFromPrismaPipeBuilder;
43
+ #requestFromPrismaRequestBuilder;
44
+ #responseFromPrismaResponseBuilder;
45
+ constructor(controllerFromPrismaControllerBuilder, guardFromPrismaGuardBuilder, httpErrorFromPrismaHttpErrorBuilder, interceptorFromPrismaInterceptorBuilder, middlewareFromPrismaMiddlewareBuilder, nativeMiddlewareFromPrismaNativeMiddlewareBuilder, pipeFromPrismaPipeBuilder, requestFromPrismaRequestBuilder, responseFromPrismaResponseBuilder) {
46
+ this.#controllerFromPrismaControllerBuilder =
47
+ controllerFromPrismaControllerBuilder;
48
+ this.#guardFromPrismaGuardBuilder = guardFromPrismaGuardBuilder;
49
+ this.#httpErrorFromPrismaHttpErrorBuilder =
50
+ httpErrorFromPrismaHttpErrorBuilder;
51
+ this.#interceptorFromPrismaInterceptorBuilder =
52
+ interceptorFromPrismaInterceptorBuilder;
53
+ this.#middlewareFromPrismaMiddlewareBuilder =
54
+ middlewareFromPrismaMiddlewareBuilder;
55
+ this.#nativeMiddlewareFromPrismaNativeMiddlewareBuilder =
56
+ nativeMiddlewareFromPrismaNativeMiddlewareBuilder;
57
+ this.#pipeFromPrismaPipeBuilder = pipeFromPrismaPipeBuilder;
58
+ this.#requestFromPrismaRequestBuilder = requestFromPrismaRequestBuilder;
59
+ this.#responseFromPrismaResponseBuilder = responseFromPrismaResponseBuilder;
60
+ }
61
+ build(input) {
62
+ return {
63
+ ...this.#buildBaseCall(input),
64
+ controller: this.#buildController(input.controller),
65
+ response: this.#responseFromPrismaResponseBuilder.build(this.#requireRelation(input.id, 'response', input.response)),
66
+ };
67
+ }
68
+ buildOngoing(input) {
69
+ return {
70
+ ...this.#buildBaseCall(input),
71
+ controller: this.#buildController(input.controller),
72
+ };
73
+ }
74
+ #buildBaseCall(input) {
75
+ return {
76
+ guards: input.guards.map((guard) => this.#guardFromPrismaGuardBuilder.build(guard)),
77
+ httpErrors: input.httpErrors.map((httpError) => this.#httpErrorFromPrismaHttpErrorBuilder.build(httpError)),
78
+ id: input.id,
79
+ interceptors: input.interceptors.map((interceptor) => this.#interceptorFromPrismaInterceptorBuilder.build(interceptor)),
80
+ middlewares: input.middlewares.map((middleware) => this.#middlewareFromPrismaMiddlewareBuilder.build(middleware)),
81
+ nativeMiddlewares: input.nativeMiddlewares.map((nativeMiddleware) => this.#nativeMiddlewareFromPrismaNativeMiddlewareBuilder.build(nativeMiddleware)),
82
+ pipes: input.pipes.map((pipe) => this.#pipeFromPrismaPipeBuilder.build(pipe)),
83
+ request: this.#requestFromPrismaRequestBuilder.build(this.#requireRelation(input.id, 'request', input.request)),
84
+ };
85
+ }
86
+ #buildController(controller) {
87
+ if (controller === null) {
88
+ return undefined;
89
+ }
90
+ return this.#controllerFromPrismaControllerBuilder.build(controller);
91
+ }
92
+ // Completed calls are queried only after request and response are
93
+ // present. A null relation there is a persistence query bug. Controller is
94
+ // optional.
95
+ #requireRelation(callId, relation, value) {
96
+ if (value === null) {
97
+ throw new Error(`Call "${callId}" is missing its "${relation}" relation.`);
98
+ }
99
+ return value;
100
+ }
101
+ };
102
+ CallFromPrismaCallBuilder = __decorate([
103
+ injectable(),
104
+ __param(0, inject(ControllerFromPrismaControllerBuilder)),
105
+ __param(1, inject(GuardFromPrismaGuardBuilder)),
106
+ __param(2, inject(HttpErrorFromPrismaHttpErrorBuilder)),
107
+ __param(3, inject(InterceptorFromPrismaInterceptorBuilder)),
108
+ __param(4, inject(MiddlewareFromPrismaMiddlewareBuilder)),
109
+ __param(5, inject(NativeMiddlewareFromPrismaNativeMiddlewareBuilder)),
110
+ __param(6, inject(PipeFromPrismaPipeBuilder)),
111
+ __param(7, inject(RequestFromPrismaRequestBuilder)),
112
+ __param(8, inject(ResponseFromPrismaResponseBuilder)),
113
+ __metadata("design:paramtypes", [ControllerFromPrismaControllerBuilder,
114
+ GuardFromPrismaGuardBuilder,
115
+ HttpErrorFromPrismaHttpErrorBuilder,
116
+ InterceptorFromPrismaInterceptorBuilder,
117
+ MiddlewareFromPrismaMiddlewareBuilder,
118
+ NativeMiddlewareFromPrismaNativeMiddlewareBuilder,
119
+ PipeFromPrismaPipeBuilder,
120
+ RequestFromPrismaRequestBuilder,
121
+ ResponseFromPrismaResponseBuilder])
122
+ ], CallFromPrismaCallBuilder);
123
+ export { CallFromPrismaCallBuilder };
124
+ //# sourceMappingURL=CallFromPrismaCallBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CallFromPrismaCallBuilder.js","sourceRoot":"","sources":["../../../../../src/insights/adapter/prisma/builders/CallFromPrismaCallBuilder.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAM/C,OAAO,EAAE,qCAAqC,EAAE,MAAM,4CAA4C,CAAC;AACnG,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,mCAAmC,EAAE,MAAM,0CAA0C,CAAC;AAC/F,OAAO,EAAE,uCAAuC,EAAE,MAAM,8CAA8C,CAAC;AACvG,OAAO,EAAE,qCAAqC,EAAE,MAAM,4CAA4C,CAAC;AACnG,OAAO,EAAE,iDAAiD,EAAE,MAAM,wDAAwD,CAAC;AAC3H,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAE3F,sDAAsD;AACtD,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE;IAC1C,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE;IAC9C,YAAY,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE;IAChD,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE;IAC/C,iBAAiB,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE;IACrD,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE;IACzC,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;CACc,CAAC;AAOxB,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAI3B,sCAAsC,CAAwC;IAC9E,4BAA4B,CAA8B;IAC1D,oCAAoC,CAAsC;IAC1E,wCAAwC,CAA0C;IAClF,sCAAsC,CAAwC;IAC9E,kDAAkD,CAAoD;IACtG,0BAA0B,CAA4B;IACtD,gCAAgC,CAAkC;IAClE,kCAAkC,CAAoC;IAE/E,YAEE,qCAA4E,EAE5E,2BAAwD,EAExD,mCAAwE,EAExE,uCAAgF,EAEhF,qCAA4E,EAE5E,iDAAoG,EAEpG,yBAAoD,EAEpD,+BAAgE,EAEhE,iCAAoE;QAEpE,IAAI,CAAC,sCAAsC;YACzC,qCAAqC,CAAC;QACxC,IAAI,CAAC,4BAA4B,GAAG,2BAA2B,CAAC;QAChE,IAAI,CAAC,oCAAoC;YACvC,mCAAmC,CAAC;QACtC,IAAI,CAAC,wCAAwC;YAC3C,uCAAuC,CAAC;QAC1C,IAAI,CAAC,sCAAsC;YACzC,qCAAqC,CAAC;QACxC,IAAI,CAAC,kDAAkD;YACrD,iDAAiD,CAAC;QACpD,IAAI,CAAC,0BAA0B,GAAG,yBAAyB,CAAC;QAC5D,IAAI,CAAC,gCAAgC,GAAG,+BAA+B,CAAC;QACxE,IAAI,CAAC,kCAAkC,GAAG,iCAAiC,CAAC;IAC9E,CAAC;IAEM,KAAK,CAAC,KAA8B;QACzC,OAAO;YACL,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;YAC7B,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC;YACnD,QAAQ,EAAE,IAAI,CAAC,kCAAkC,CAAC,KAAK,CACrD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAC5D;SACF,CAAC;IACJ,CAAC;IAEM,YAAY,CAAC,KAA8B;QAChD,OAAO;YACL,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;YAC7B,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC;SACpD,CAAC;IACJ,CAAC;IAED,cAAc,CACZ,KAA8B;QAE9B,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CACtB,CAAC,KAAoD,EAAE,EAAE,CACvD,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,KAAK,CAAC,CACjD;YACD,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAC9B,CAAC,SAA4D,EAAE,EAAE,CAC/D,IAAI,CAAC,oCAAoC,CAAC,KAAK,CAAC,SAAS,CAAC,CAC7D;YACD,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAClC,CAAC,WAAgE,EAAE,EAAE,CACnE,IAAI,CAAC,wCAAwC,CAAC,KAAK,CAAC,WAAW,CAAC,CACnE;YACD,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAChC,CAAC,UAA8D,EAAE,EAAE,CACjE,IAAI,CAAC,sCAAsC,CAAC,KAAK,CAAC,UAAU,CAAC,CAChE;YACD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAC5C,CACE,gBAEC,EACD,EAAE,CACF,IAAI,CAAC,kDAAkD,CAAC,KAAK,CAC3D,gBAAgB,CACjB,CACJ;YACD,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CACpB,CAAC,IAAkD,EAAE,EAAE,CACrD,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,IAAI,CAAC,CAC9C;YACD,OAAO,EAAE,IAAI,CAAC,gCAAgC,CAAC,KAAK,CAClD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAC1D;SACF,CAAC;IACJ,CAAC;IAED,gBAAgB,CACd,UAAiD;QAEjD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,CAAC,sCAAsC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACvE,CAAC;IAED,kEAAkE;IAClE,2EAA2E;IAC3E,YAAY;IACZ,gBAAgB,CAAI,MAAc,EAAE,QAAgB,EAAE,KAAe;QACnE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,SAAS,MAAM,qBAAqB,QAAQ,aAAa,CAC1D,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AAlIY,yBAAyB;IADrC,UAAU,EAAE;IAgBR,WAAA,MAAM,CAAC,qCAAqC,CAAC,CAAA;IAE7C,WAAA,MAAM,CAAC,2BAA2B,CAAC,CAAA;IAEnC,WAAA,MAAM,CAAC,mCAAmC,CAAC,CAAA;IAE3C,WAAA,MAAM,CAAC,uCAAuC,CAAC,CAAA;IAE/C,WAAA,MAAM,CAAC,qCAAqC,CAAC,CAAA;IAE7C,WAAA,MAAM,CAAC,iDAAiD,CAAC,CAAA;IAEzD,WAAA,MAAM,CAAC,yBAAyB,CAAC,CAAA;IAEjC,WAAA,MAAM,CAAC,+BAA+B,CAAC,CAAA;IAEvC,WAAA,MAAM,CAAC,iCAAiC,CAAC,CAAA;qCAfH,qCAAqC;QAE/C,2BAA2B;QAEnB,mCAAmC;QAE/B,uCAAuC;QAEzC,qCAAqC;QAEzB,iDAAiD;QAEzE,yBAAyB;QAEnB,+BAA+B;QAE7B,iCAAiC;GAhC3D,yBAAyB,CAkIrC"}