@nest-omni/core 4.1.3-2 → 4.1.3-20

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 (386) hide show
  1. package/audit/audit.module.d.ts +10 -0
  2. package/audit/audit.module.js +63 -1
  3. package/audit/controllers/audit.controller.d.ts +88 -0
  4. package/audit/controllers/audit.controller.js +74 -0
  5. package/audit/decorators/audit-action.decorator.d.ts +74 -0
  6. package/audit/decorators/audit-action.decorator.js +42 -0
  7. package/audit/decorators/audit-controller.decorator.d.ts +9 -1
  8. package/audit/decorators/audit-controller.decorator.js +11 -2
  9. package/audit/decorators/audit-operation.decorator.d.ts +45 -0
  10. package/audit/decorators/audit-operation.decorator.js +49 -0
  11. package/audit/decorators/entity-audit.decorator.d.ts +85 -1
  12. package/audit/decorators/entity-audit.decorator.js +153 -3
  13. package/audit/decorators/index.d.ts +2 -0
  14. package/audit/decorators/index.js +2 -0
  15. package/audit/dto/audit-log-query.dto.d.ts +3 -0
  16. package/audit/dto/audit-log-query.dto.js +3 -0
  17. package/audit/dto/begin-transaction.dto.d.ts +3 -0
  18. package/audit/dto/begin-transaction.dto.js +3 -0
  19. package/audit/dto/compare-entities.dto.d.ts +3 -0
  20. package/audit/dto/compare-entities.dto.js +3 -0
  21. package/audit/dto/pre-check-restore.dto.d.ts +3 -0
  22. package/audit/dto/pre-check-restore.dto.js +3 -0
  23. package/audit/dto/restore-entity.dto.d.ts +3 -0
  24. package/audit/dto/restore-entity.dto.js +3 -0
  25. package/audit/entities/audit-action-summary.entity.d.ts +23 -0
  26. package/audit/entities/audit-action-summary.entity.js +101 -0
  27. package/audit/entities/entity-audit-log.entity.d.ts +11 -0
  28. package/audit/entities/entity-audit-log.entity.js +57 -2
  29. package/audit/entities/entity-transaction.entity.d.ts +11 -2
  30. package/audit/entities/entity-transaction.entity.js +42 -3
  31. package/audit/entities/index.d.ts +3 -0
  32. package/audit/entities/index.js +3 -0
  33. package/audit/entities/manual-operation-log.entity.d.ts +4 -0
  34. package/audit/entities/manual-operation-log.entity.js +12 -1
  35. package/audit/entities/operation-template.entity.d.ts +4 -0
  36. package/audit/entities/operation-template.entity.js +4 -0
  37. package/audit/enums/audit.enums.d.ts +37 -6
  38. package/audit/enums/audit.enums.js +40 -7
  39. package/audit/index.d.ts +4 -1
  40. package/audit/index.js +34 -1
  41. package/audit/interceptors/audit-action.interceptor.d.ts +38 -0
  42. package/audit/interceptors/audit-action.interceptor.js +215 -0
  43. package/audit/interceptors/audit.interceptor.d.ts +15 -0
  44. package/audit/interceptors/audit.interceptor.js +23 -1
  45. package/audit/interceptors/index.d.ts +1 -0
  46. package/audit/interceptors/index.js +1 -0
  47. package/audit/interfaces/audit.interfaces.d.ts +187 -2
  48. package/audit/services/audit-action.service.d.ts +141 -0
  49. package/audit/services/audit-action.service.js +244 -0
  50. package/audit/services/audit-context.service.d.ts +97 -0
  51. package/audit/services/audit-context.service.js +185 -0
  52. package/audit/services/audit-strategy.service.d.ts +6 -0
  53. package/audit/services/audit-strategy.service.js +13 -0
  54. package/audit/services/entity-audit.service.d.ts +230 -3
  55. package/audit/services/entity-audit.service.js +607 -14
  56. package/audit/services/index.d.ts +3 -0
  57. package/audit/services/index.js +3 -0
  58. package/audit/services/manual-audit-log.service.d.ts +134 -9
  59. package/audit/services/manual-audit-log.service.js +157 -40
  60. package/audit/services/multi-database.service.d.ts +9 -2
  61. package/audit/services/multi-database.service.js +9 -21
  62. package/audit/services/operation-description.service.d.ts +71 -2
  63. package/audit/services/operation-description.service.js +231 -20
  64. package/audit/services/transaction-audit.service.d.ts +30 -0
  65. package/audit/services/transaction-audit.service.js +53 -5
  66. package/audit/subscribers/entity-audit.subscriber.d.ts +19 -0
  67. package/audit/subscribers/entity-audit.subscriber.js +76 -1
  68. package/cache/cache-metrics.service.d.ts +67 -0
  69. package/cache/cache-metrics.service.js +68 -4
  70. package/cache/cache-serialization.service.d.ts +31 -0
  71. package/cache/cache-serialization.service.js +25 -0
  72. package/cache/cache.constants.d.ts +9 -0
  73. package/cache/cache.constants.js +9 -0
  74. package/cache/cache.health.d.ts +26 -0
  75. package/cache/cache.health.js +30 -0
  76. package/cache/cache.module.d.ts +82 -2
  77. package/cache/cache.module.js +76 -5
  78. package/cache/cache.service.d.ts +140 -0
  79. package/cache/cache.service.js +169 -0
  80. package/cache/cache.warmup.service.d.ts +39 -0
  81. package/cache/cache.warmup.service.js +32 -0
  82. package/cache/decorators/cache-evict.decorator.d.ts +47 -0
  83. package/cache/decorators/cache-evict.decorator.js +56 -0
  84. package/cache/decorators/cache-put.decorator.d.ts +34 -0
  85. package/cache/decorators/cache-put.decorator.js +39 -0
  86. package/cache/decorators/cacheable.decorator.d.ts +40 -0
  87. package/cache/decorators/cacheable.decorator.js +55 -0
  88. package/cache/dependencies/callback.dependency.d.ts +33 -0
  89. package/cache/dependencies/callback.dependency.js +39 -1
  90. package/cache/dependencies/chain.dependency.d.ts +28 -0
  91. package/cache/dependencies/chain.dependency.js +34 -0
  92. package/cache/dependencies/db.dependency.d.ts +83 -7
  93. package/cache/dependencies/db.dependency.js +89 -14
  94. package/cache/dependencies/file.dependency.d.ts +32 -0
  95. package/cache/dependencies/file.dependency.js +34 -0
  96. package/cache/dependencies/tag.dependency.d.ts +75 -4
  97. package/cache/dependencies/tag.dependency.js +145 -11
  98. package/cache/dependencies/time.dependency.d.ts +43 -0
  99. package/cache/dependencies/time.dependency.js +43 -0
  100. package/cache/examples/basic-usage.d.ts +15 -0
  101. package/cache/examples/basic-usage.js +62 -8
  102. package/cache/index.js +9 -0
  103. package/cache/interfaces/cache-dependency.interface.d.ts +53 -0
  104. package/cache/interfaces/cache-options.interface.d.ts +89 -0
  105. package/cache/interfaces/cache-options.interface.js +6 -0
  106. package/cache/interfaces/cache-provider.interface.d.ts +78 -0
  107. package/cache/providers/base-cache.provider.d.ts +14 -0
  108. package/cache/providers/base-cache.provider.js +16 -0
  109. package/cache/providers/cls-cache.provider.d.ts +20 -0
  110. package/cache/providers/cls-cache.provider.js +28 -0
  111. package/cache/providers/memory-cache.provider.d.ts +43 -0
  112. package/cache/providers/memory-cache.provider.js +66 -0
  113. package/cache/providers/redis-cache.provider.d.ts +26 -0
  114. package/cache/providers/redis-cache.provider.js +29 -0
  115. package/cache/utils/dependency-manager.util.d.ts +52 -0
  116. package/cache/utils/dependency-manager.util.js +59 -0
  117. package/cache/utils/key-generator.util.d.ts +42 -0
  118. package/cache/utils/key-generator.util.js +53 -1
  119. package/common/abstract.entity.d.ts +14 -0
  120. package/common/abstract.entity.js +14 -0
  121. package/common/boilerplate.polyfill.d.ts +142 -0
  122. package/common/boilerplate.polyfill.js +18 -1
  123. package/common/dto/dto-container.d.ts +16 -0
  124. package/common/dto/dto-container.js +20 -0
  125. package/common/dto/dto-decorators.d.ts +18 -0
  126. package/common/dto/dto-decorators.js +14 -0
  127. package/common/dto/dto-extensions.d.ts +11 -0
  128. package/common/dto/dto-extensions.js +9 -0
  129. package/common/dto/dto-service-accessor.d.ts +17 -0
  130. package/common/dto/dto-service-accessor.js +18 -0
  131. package/common/dto/dto-transformer.d.ts +12 -0
  132. package/common/dto/dto-transformer.js +9 -0
  133. package/common/dto/index.js +2 -0
  134. package/common/examples/paginate-and-map.example.d.ts +6 -0
  135. package/common/examples/paginate-and-map.example.js +26 -0
  136. package/common/utils.d.ts +15 -0
  137. package/common/utils.js +15 -0
  138. package/constants/language-code.js +1 -0
  139. package/decorators/field.decorators.d.ts +1 -1
  140. package/decorators/field.decorators.js +8 -1
  141. package/decorators/property.decorators.js +1 -0
  142. package/decorators/public-route.decorator.js +1 -0
  143. package/decorators/transform.decorators.d.ts +27 -0
  144. package/decorators/transform.decorators.js +29 -0
  145. package/decorators/translate.decorator.js +1 -0
  146. package/decorators/user.decorator.js +1 -0
  147. package/decorators/validator.decorators.d.ts +8 -18
  148. package/decorators/validator.decorators.js +22 -190
  149. package/file-upload/controllers/file-access.controller.d.ts +23 -0
  150. package/file-upload/controllers/file-access.controller.js +128 -0
  151. package/file-upload/decorators/column.decorator.d.ts +151 -0
  152. package/file-upload/decorators/column.decorator.js +273 -0
  153. package/file-upload/decorators/csv-data.decorator.d.ts +30 -0
  154. package/file-upload/decorators/csv-data.decorator.js +85 -0
  155. package/file-upload/decorators/csv-import.decorator.d.ts +34 -0
  156. package/file-upload/decorators/csv-import.decorator.js +24 -0
  157. package/file-upload/decorators/examples/column-mapping.example.d.ts +76 -0
  158. package/file-upload/decorators/examples/column-mapping.example.js +122 -0
  159. package/file-upload/decorators/excel-data.decorator.d.ts +30 -0
  160. package/file-upload/decorators/excel-data.decorator.js +85 -0
  161. package/file-upload/decorators/file-upload.decorator.d.ts +83 -0
  162. package/file-upload/decorators/file-upload.decorator.js +172 -0
  163. package/file-upload/decorators/index.d.ts +5 -0
  164. package/file-upload/decorators/index.js +38 -0
  165. package/file-upload/decorators/process.decorator.d.ts +40 -0
  166. package/file-upload/decorators/process.decorator.js +52 -0
  167. package/file-upload/decorators/validate-data.decorator.d.ts +91 -0
  168. package/file-upload/decorators/validate-data.decorator.js +39 -0
  169. package/file-upload/dto/create-file.dto.d.ts +24 -0
  170. package/file-upload/dto/create-file.dto.js +112 -0
  171. package/file-upload/dto/find-files.dto.d.ts +15 -0
  172. package/file-upload/dto/find-files.dto.js +76 -0
  173. package/file-upload/dto/index.d.ts +4 -0
  174. package/file-upload/dto/index.js +20 -0
  175. package/file-upload/dto/pagination.dto.d.ts +7 -0
  176. package/file-upload/dto/pagination.dto.js +39 -0
  177. package/file-upload/dto/update-file.dto.d.ts +15 -0
  178. package/file-upload/dto/update-file.dto.js +67 -0
  179. package/file-upload/entities/file-metadata.entity.d.ts +25 -0
  180. package/file-upload/entities/file-metadata.entity.js +76 -0
  181. package/file-upload/entities/file.entity.d.ts +114 -0
  182. package/file-upload/entities/file.entity.js +350 -0
  183. package/file-upload/entities/index.d.ts +2 -0
  184. package/file-upload/entities/index.js +18 -0
  185. package/file-upload/enums/file-type.enum.d.ts +72 -0
  186. package/file-upload/enums/file-type.enum.js +212 -0
  187. package/file-upload/exceptions/file-upload.exception.d.ts +57 -0
  188. package/file-upload/exceptions/file-upload.exception.js +120 -0
  189. package/file-upload/exceptions/index.d.ts +1 -0
  190. package/file-upload/exceptions/index.js +17 -0
  191. package/file-upload/file-upload.module.d.ts +89 -0
  192. package/file-upload/file-upload.module.js +292 -0
  193. package/file-upload/index.d.ts +37 -0
  194. package/file-upload/index.js +77 -0
  195. package/file-upload/interceptors/file-upload.interceptor.d.ts +101 -0
  196. package/file-upload/interceptors/file-upload.interceptor.js +594 -0
  197. package/file-upload/interceptors/index.d.ts +1 -0
  198. package/file-upload/interceptors/index.js +17 -0
  199. package/file-upload/interfaces/custom-file-type.interface.d.ts +72 -0
  200. package/file-upload/interfaces/custom-file-type.interface.js +2 -0
  201. package/file-upload/interfaces/file-buffer.interface.d.ts +72 -0
  202. package/file-upload/interfaces/file-buffer.interface.js +2 -0
  203. package/file-upload/interfaces/file-entity.interface.d.ts +142 -0
  204. package/file-upload/interfaces/file-entity.interface.js +28 -0
  205. package/file-upload/interfaces/file-metadata.interface.d.ts +21 -0
  206. package/file-upload/interfaces/file-metadata.interface.js +2 -0
  207. package/file-upload/interfaces/file-processor.interface.d.ts +93 -0
  208. package/file-upload/interfaces/file-processor.interface.js +2 -0
  209. package/file-upload/interfaces/file-upload-options.interface.d.ts +74 -0
  210. package/file-upload/interfaces/file-upload-options.interface.js +5 -0
  211. package/file-upload/interfaces/index.d.ts +7 -0
  212. package/file-upload/interfaces/index.js +24 -0
  213. package/file-upload/interfaces/processor-options.interface.d.ts +102 -0
  214. package/file-upload/interfaces/processor-options.interface.js +2 -0
  215. package/file-upload/interfaces/storage-provider.interface.d.ts +239 -0
  216. package/file-upload/interfaces/storage-provider.interface.js +2 -0
  217. package/file-upload/interfaces/upload-options.interface.d.ts +19 -0
  218. package/file-upload/interfaces/upload-options.interface.js +2 -0
  219. package/file-upload/processors/csv.processor.d.ts +98 -0
  220. package/file-upload/processors/csv.processor.js +391 -0
  221. package/file-upload/processors/excel.processor.d.ts +130 -0
  222. package/file-upload/processors/excel.processor.js +547 -0
  223. package/file-upload/processors/image.processor.d.ts +199 -0
  224. package/file-upload/processors/image.processor.js +377 -0
  225. package/file-upload/providers/index.d.ts +2 -0
  226. package/file-upload/providers/index.js +18 -0
  227. package/file-upload/providers/local-storage.provider.d.ts +98 -0
  228. package/file-upload/providers/local-storage.provider.js +484 -0
  229. package/file-upload/providers/s3-storage.provider.d.ts +87 -0
  230. package/file-upload/providers/s3-storage.provider.js +455 -0
  231. package/file-upload/services/file-signature-validator.service.d.ts +118 -0
  232. package/file-upload/services/file-signature-validator.service.js +376 -0
  233. package/file-upload/services/file.service.d.ts +193 -0
  234. package/file-upload/services/file.service.js +638 -0
  235. package/file-upload/services/index.d.ts +4 -0
  236. package/file-upload/services/index.js +20 -0
  237. package/file-upload/services/malicious-file-detector.service.d.ts +300 -0
  238. package/file-upload/services/malicious-file-detector.service.js +1234 -0
  239. package/file-upload/services/mime-registry.service.d.ts +47 -0
  240. package/file-upload/services/mime-registry.service.js +167 -0
  241. package/file-upload/utils/checksum.util.d.ts +28 -0
  242. package/file-upload/utils/checksum.util.js +65 -0
  243. package/file-upload/utils/dynamic-import.util.d.ts +54 -0
  244. package/file-upload/utils/dynamic-import.util.js +156 -0
  245. package/file-upload/utils/filename.util.d.ts +59 -0
  246. package/file-upload/utils/filename.util.js +184 -0
  247. package/file-upload/utils/filepath.util.d.ts +70 -0
  248. package/file-upload/utils/filepath.util.js +152 -0
  249. package/file-upload/utils/index.d.ts +4 -0
  250. package/file-upload/utils/index.js +20 -0
  251. package/filters/constraint-errors.js +1 -0
  252. package/helpers/common.helper.d.ts +13 -0
  253. package/helpers/common.helper.js +13 -0
  254. package/http-client/config/http-client.config.d.ts +20 -0
  255. package/http-client/config/http-client.config.js +48 -21
  256. package/http-client/decorators/http-client.decorators.d.ts +55 -14
  257. package/http-client/decorators/http-client.decorators.js +154 -78
  258. package/http-client/entities/http-log.entity.d.ts +217 -8
  259. package/http-client/entities/http-log.entity.js +7 -22
  260. package/http-client/errors/http-client.errors.d.ts +57 -0
  261. package/http-client/errors/http-client.errors.js +58 -0
  262. package/http-client/examples/advanced-usage.example.d.ts +40 -0
  263. package/http-client/examples/advanced-usage.example.js +53 -61
  264. package/http-client/examples/auth-with-waiting-lock.example.d.ts +31 -0
  265. package/http-client/examples/auth-with-waiting-lock.example.js +52 -5
  266. package/http-client/examples/basic-usage.example.d.ts +60 -0
  267. package/http-client/examples/basic-usage.example.js +60 -0
  268. package/http-client/examples/multi-api-configuration.example.d.ts +60 -0
  269. package/http-client/examples/multi-api-configuration.example.js +76 -5
  270. package/http-client/examples/proxy-from-environment.example.d.ts +133 -0
  271. package/http-client/examples/proxy-from-environment.example.js +409 -0
  272. package/http-client/http-client.module.d.ts +48 -2
  273. package/http-client/http-client.module.js +147 -68
  274. package/http-client/index.d.ts +1 -1
  275. package/http-client/index.js +8 -0
  276. package/http-client/interfaces/api-client-config.interface.d.ts +80 -45
  277. package/http-client/interfaces/api-client-config.interface.js +3 -0
  278. package/http-client/interfaces/http-client-config.interface.d.ts +109 -52
  279. package/http-client/services/api-client-registry.service.d.ts +50 -11
  280. package/http-client/services/api-client-registry.service.js +90 -250
  281. package/http-client/services/circuit-breaker.service.d.ts +115 -2
  282. package/http-client/services/circuit-breaker.service.js +237 -7
  283. package/http-client/services/http-client.service.d.ts +124 -14
  284. package/http-client/services/http-client.service.js +437 -148
  285. package/http-client/services/http-log-query.service.d.ts +83 -0
  286. package/http-client/services/http-log-query.service.js +121 -13
  287. package/http-client/services/http-replay.service.d.ts +101 -0
  288. package/http-client/services/http-replay.service.js +86 -0
  289. package/http-client/services/index.d.ts +0 -1
  290. package/http-client/services/index.js +0 -1
  291. package/http-client/services/log-cleanup.service.d.ts +63 -0
  292. package/http-client/services/log-cleanup.service.js +54 -2
  293. package/http-client/services/logging.service.d.ts +116 -7
  294. package/http-client/services/logging.service.js +349 -86
  295. package/http-client/utils/call-stack-extractor.util.d.ts +63 -0
  296. package/http-client/utils/call-stack-extractor.util.js +83 -0
  297. package/http-client/utils/context-extractor.util.d.ts +49 -0
  298. package/http-client/utils/context-extractor.util.js +52 -0
  299. package/http-client/utils/curl-generator.util.d.ts +21 -0
  300. package/http-client/utils/curl-generator.util.js +44 -3
  301. package/http-client/utils/index.d.ts +1 -0
  302. package/http-client/utils/index.js +1 -0
  303. package/http-client/utils/proxy-environment.util.d.ts +42 -0
  304. package/http-client/utils/proxy-environment.util.js +148 -0
  305. package/http-client/utils/request-id.util.d.ts +18 -0
  306. package/http-client/utils/request-id.util.js +20 -0
  307. package/http-client/utils/retry-recorder.util.d.ts +42 -0
  308. package/http-client/utils/retry-recorder.util.js +44 -0
  309. package/http-client/utils/security-validator.util.d.ts +118 -0
  310. package/http-client/utils/security-validator.util.js +352 -0
  311. package/index.d.ts +3 -1
  312. package/index.js +12 -1
  313. package/interceptors/translation-interceptor.service.js +5 -0
  314. package/package.json +11 -7
  315. package/providers/context.provider.js +2 -0
  316. package/providers/generator.provider.d.ts +4 -0
  317. package/providers/generator.provider.js +4 -0
  318. package/redis-lock/comprehensive-lock-cleanup.service.d.ts +94 -0
  319. package/redis-lock/comprehensive-lock-cleanup.service.js +253 -0
  320. package/redis-lock/examples/lock-strategy.examples.d.ts +89 -0
  321. package/redis-lock/examples/lock-strategy.examples.js +130 -15
  322. package/redis-lock/index.d.ts +2 -0
  323. package/redis-lock/index.js +8 -1
  324. package/redis-lock/lock-heartbeat.service.d.ts +80 -0
  325. package/redis-lock/lock-heartbeat.service.js +232 -0
  326. package/redis-lock/redis-lock.decorator.d.ts +101 -0
  327. package/redis-lock/redis-lock.decorator.js +120 -0
  328. package/redis-lock/redis-lock.module.d.ts +66 -0
  329. package/redis-lock/redis-lock.module.js +175 -70
  330. package/redis-lock/redis-lock.service.d.ts +282 -0
  331. package/redis-lock/redis-lock.service.js +343 -20
  332. package/setup/bootstrap.setup.d.ts +1 -0
  333. package/setup/bootstrap.setup.js +21 -0
  334. package/setup/index.d.ts +1 -0
  335. package/setup/index.js +1 -0
  336. package/setup/mode.setup.d.ts +44 -0
  337. package/setup/mode.setup.js +44 -0
  338. package/setup/run-in-mode.decorator.d.ts +56 -0
  339. package/setup/run-in-mode.decorator.js +92 -0
  340. package/setup/schedule.decorator.d.ts +227 -0
  341. package/setup/schedule.decorator.js +240 -12
  342. package/setup/worker.decorator.d.ts +86 -0
  343. package/setup/worker.decorator.js +97 -0
  344. package/shared/index.d.ts +1 -1
  345. package/shared/index.js +1 -1
  346. package/shared/{serviceRegistryModule.js → service-registry.module.js} +19 -17
  347. package/shared/services/api-config.service.d.ts +3 -0
  348. package/shared/services/api-config.service.js +21 -9
  349. package/shared/services/index.d.ts +0 -1
  350. package/shared/services/index.js +0 -1
  351. package/validator-json/decorators.d.ts +17 -0
  352. package/validator-json/decorators.js +17 -2
  353. package/validator-json/default.d.ts +6 -0
  354. package/validator-json/default.js +30 -2
  355. package/validator-json/defaultConverters.js +1 -0
  356. package/validator-json/options.d.ts +23 -0
  357. package/validators/common-validators.d.ts +143 -0
  358. package/validators/common-validators.js +249 -0
  359. package/validators/custom-validate.examples.d.ts +23 -0
  360. package/validators/custom-validate.examples.js +78 -6
  361. package/validators/custom-validate.validator.d.ts +108 -0
  362. package/validators/custom-validate.validator.js +85 -0
  363. package/validators/file-mimetype.validator.d.ts +0 -2
  364. package/validators/file-mimetype.validator.js +4 -6
  365. package/validators/index.d.ts +1 -0
  366. package/validators/index.js +1 -0
  367. package/validators/is-exists.validator.d.ts +26 -6
  368. package/validators/is-exists.validator.js +30 -7
  369. package/validators/is-unique.validator.d.ts +33 -7
  370. package/validators/is-unique.validator.js +59 -17
  371. package/validators/skip-empty.validator.d.ts +5 -0
  372. package/validators/skip-empty.validator.js +5 -0
  373. package/vault/interfaces/vault-options.interface.d.ts +9 -0
  374. package/vault/vault-config.loader.d.ts +30 -0
  375. package/vault/vault-config.loader.js +48 -1
  376. package/vault/vault-config.service.d.ts +53 -0
  377. package/vault/vault-config.service.js +57 -0
  378. package/vault/vault.module.d.ts +4 -0
  379. package/vault/vault.module.js +4 -0
  380. package/decorators/examples/validation-decorators.example.d.ts +0 -69
  381. package/decorators/examples/validation-decorators.example.js +0 -331
  382. package/http-client/services/cache.service.d.ts +0 -24
  383. package/http-client/services/cache.service.js +0 -264
  384. package/shared/services/validator.service.d.ts +0 -3
  385. package/shared/services/validator.service.js +0 -20
  386. /package/shared/{serviceRegistryModule.d.ts → service-registry.module.d.ts} +0 -0
@@ -2,43 +2,110 @@ import { AxiosRequestConfig } from 'axios';
2
2
  import { HttpClientService } from './http-client.service';
3
3
  import { HttpLogQueryService } from './http-log-query.service';
4
4
  import { HttpLogEntity } from '../entities/http-log.entity';
5
+ /**
6
+ * 请求重放选项
7
+ */
5
8
  export interface HttpReplayOptions {
9
+ /** 是否覆盖原始请求头 */
6
10
  overrideHeaders?: boolean;
11
+ /** 是否覆盖原始请求体 */
7
12
  overrideBody?: boolean;
13
+ /** 是否覆盖原始参数 */
8
14
  overrideParams?: boolean;
15
+ /** 重放时的额外请求头 */
9
16
  additionalHeaders?: Record<string, string>;
17
+ /** 重放时的额外元数据 */
10
18
  metadata?: Record<string, any>;
19
+ /** 是否记录重放日志 */
11
20
  logReplay?: boolean;
21
+ /** 重放超时时间(毫秒) */
12
22
  timeout?: number;
13
23
  }
24
+ /**
25
+ * 请求重放结果
26
+ */
14
27
  export interface HttpReplayResult {
28
+ /** 重放的日志信息 */
15
29
  originalLog: HttpLogEntity;
30
+ /** 重放的请求配置 */
16
31
  requestConfig: AxiosRequestConfig;
32
+ /** 重放的响应结果 */
17
33
  response: any;
34
+ /** 重放耗时(毫秒) */
18
35
  responseTime: number;
36
+ /** 重放是否成功 */
19
37
  success: boolean;
38
+ /** 错误信息(如果失败) */
20
39
  error?: string;
40
+ /** 重放时间戳 */
21
41
  replayTimestamp: string;
42
+ /** 重放ID */
22
43
  replayId: string;
23
44
  }
45
+ /**
46
+ * 批量重放结果
47
+ */
24
48
  export interface BatchReplayResult {
49
+ /** 总请求数 */
25
50
  totalRequests: number;
51
+ /** 成功请求数 */
26
52
  successfulRequests: number;
53
+ /** 失败请求数 */
27
54
  failedRequests: number;
55
+ /** 成功率 */
28
56
  successRate: number;
57
+ /** 总耗时(毫秒) */
29
58
  totalResponseTime: number;
59
+ /** 平均响应时间(毫秒) */
30
60
  averageResponseTime: number;
61
+ /** 单个重放结果 */
31
62
  results: HttpReplayResult[];
32
63
  }
64
+ /**
65
+ * HTTP请求重放服务
66
+ * 提供基于HTTP日志的请求重放功能,支持单个请求和批量请求重放
67
+ */
33
68
  export declare class HttpReplayService {
34
69
  private readonly httpClient;
35
70
  private readonly logQueryService;
36
71
  private readonly logger;
37
72
  constructor(httpClient: HttpClientService, logQueryService: HttpLogQueryService);
73
+ /**
74
+ * 根据日志ID重放请求
75
+ * @param logId 日志ID
76
+ * @param options 重放选项
77
+ * @returns 重放结果
78
+ */
38
79
  replayByLogId(logId: string, options?: HttpReplayOptions): Promise<HttpReplayResult>;
80
+ /**
81
+ * 根据请求ID重放请求
82
+ * @param requestId 请求ID
83
+ * @param options 重放选项
84
+ * @returns 重放结果
85
+ */
39
86
  replayByRequestId(requestId: string, options?: HttpReplayOptions): Promise<HttpReplayResult>;
87
+ /**
88
+ * 批量重放请求
89
+ * @param logIds 日志ID数组
90
+ * @param options 重放选项
91
+ * @param concurrency 并发数
92
+ * @returns 批量重放结果
93
+ */
40
94
  batchReplay(logIds: string[], options?: HttpReplayOptions, concurrency?: number): Promise<BatchReplayResult>;
95
+ /**
96
+ * 根据查询条件批量重放请求
97
+ * @param queryOptions 查询选项
98
+ * @param replayOptions 重放选项
99
+ * @param concurrency 并发数
100
+ * @returns 批量重放结果
101
+ */
41
102
  batchReplayByQuery(queryOptions?: any, replayOptions?: HttpReplayOptions, concurrency?: number): Promise<BatchReplayResult>;
103
+ /**
104
+ * 重放请求并比较结果
105
+ * @param logId 日志ID
106
+ * @param options 重放选项
107
+ * @returns 包含原始和重放结果的比较
108
+ */
42
109
  replayAndCompare(logId: string, options?: HttpReplayOptions): Promise<{
43
110
  original: HttpLogEntity;
44
111
  replay: HttpReplayResult;
@@ -49,10 +116,44 @@ export declare class HttpReplayService {
49
116
  bodyMatch: boolean;
50
117
  };
51
118
  }>;
119
+ /**
120
+ * 构建重放配置
121
+ * @param log 原始日志
122
+ * @param options 重放选项
123
+ * @returns 请求配置
124
+ */
52
125
  private buildReplayConfig;
126
+ /**
127
+ * 执行重放请求
128
+ * @param config 请求配置
129
+ * @param options 重放选项
130
+ * @returns 响应结果
131
+ */
53
132
  private executeReplayRequest;
133
+ /**
134
+ * 生成重放ID
135
+ * @returns 重放ID
136
+ */
54
137
  private generateReplayId;
138
+ /**
139
+ * 数组分块
140
+ * @param array 原始数组
141
+ * @param size 块大小
142
+ * @returns 分块后的数组
143
+ */
55
144
  private chunkArray;
145
+ /**
146
+ * 比较响应头
147
+ * @param original 原始响应头
148
+ * @param replay 重放响应头
149
+ * @returns 是否匹配
150
+ */
56
151
  private compareHeaders;
152
+ /**
153
+ * 比较响应体
154
+ * @param original 原始响应体
155
+ * @param replay 重放响应体
156
+ * @returns 是否匹配
157
+ */
57
158
  private compareBodies;
58
159
  }
@@ -23,25 +23,39 @@ exports.HttpReplayService = void 0;
23
23
  const common_1 = require("@nestjs/common");
24
24
  const http_client_service_1 = require("./http-client.service");
25
25
  const http_log_query_service_1 = require("./http-log-query.service");
26
+ /**
27
+ * HTTP请求重放服务
28
+ * 提供基于HTTP日志的请求重放功能,支持单个请求和批量请求重放
29
+ */
26
30
  let HttpReplayService = HttpReplayService_1 = class HttpReplayService {
27
31
  constructor(httpClient, logQueryService) {
28
32
  this.httpClient = httpClient;
29
33
  this.logQueryService = logQueryService;
30
34
  this.logger = new common_1.Logger(HttpReplayService_1.name);
31
35
  }
36
+ /**
37
+ * 根据日志ID重放请求
38
+ * @param logId 日志ID
39
+ * @param options 重放选项
40
+ * @returns 重放结果
41
+ */
32
42
  replayByLogId(logId_1) {
33
43
  return __awaiter(this, arguments, void 0, function* (logId, options = {}) {
34
44
  const startTime = Date.now();
35
45
  const replayId = this.generateReplayId();
36
46
  try {
47
+ // 获取原始日志
37
48
  const originalLog = yield this.logQueryService.findLogById(logId, true);
38
49
  if (!originalLog) {
39
50
  throw new Error(`Log with ID ${logId} not found`);
40
51
  }
52
+ // 构建重放配置
41
53
  const requestConfig = this.buildReplayConfig(originalLog, options);
54
+ // 记录重放开始
42
55
  if (options.logReplay !== false) {
43
56
  this.logger.log(`Starting replay for log ${logId} (replay ID: ${replayId})`);
44
57
  }
58
+ // 执行重放请求
45
59
  const response = yield this.executeReplayRequest(requestConfig, options);
46
60
  const endTime = Date.now();
47
61
  const responseTime = endTime - startTime;
@@ -77,6 +91,12 @@ let HttpReplayService = HttpReplayService_1 = class HttpReplayService {
77
91
  }
78
92
  });
79
93
  }
94
+ /**
95
+ * 根据请求ID重放请求
96
+ * @param requestId 请求ID
97
+ * @param options 重放选项
98
+ * @returns 重放结果
99
+ */
80
100
  replayByRequestId(requestId_1) {
81
101
  return __awaiter(this, arguments, void 0, function* (requestId, options = {}) {
82
102
  const originalLog = yield this.logQueryService.findLogByRequestId(requestId);
@@ -86,10 +106,18 @@ let HttpReplayService = HttpReplayService_1 = class HttpReplayService {
86
106
  return this.replayByLogId(originalLog.id, options);
87
107
  });
88
108
  }
109
+ /**
110
+ * 批量重放请求
111
+ * @param logIds 日志ID数组
112
+ * @param options 重放选项
113
+ * @param concurrency 并发数
114
+ * @returns 批量重放结果
115
+ */
89
116
  batchReplay(logIds_1) {
90
117
  return __awaiter(this, arguments, void 0, function* (logIds, options = {}, concurrency = 5) {
91
118
  const startTime = Date.now();
92
119
  this.logger.log(`Starting batch replay for ${logIds.length} logs`);
120
+ // 分批处理
93
121
  const results = [];
94
122
  const chunks = this.chunkArray(logIds, concurrency);
95
123
  for (const chunk of chunks) {
@@ -114,6 +142,7 @@ let HttpReplayService = HttpReplayService_1 = class HttpReplayService {
114
142
  const chunkResults = yield Promise.all(chunkPromises);
115
143
  results.push(...chunkResults);
116
144
  }
145
+ // 统计结果
117
146
  const successfulRequests = results.filter((r) => r.success).length;
118
147
  const failedRequests = results.length - successfulRequests;
119
148
  const totalResponseTime = results.reduce((sum, r) => sum + r.responseTime, 0);
@@ -131,9 +160,18 @@ let HttpReplayService = HttpReplayService_1 = class HttpReplayService {
131
160
  return batchResult;
132
161
  });
133
162
  }
163
+ /**
164
+ * 根据查询条件批量重放请求
165
+ * @param queryOptions 查询选项
166
+ * @param replayOptions 重放选项
167
+ * @param concurrency 并发数
168
+ * @returns 批量重放结果
169
+ */
134
170
  batchReplayByQuery() {
135
171
  return __awaiter(this, arguments, void 0, function* (queryOptions = {}, replayOptions = {}, concurrency = 5) {
172
+ // 限制查询数量以避免过大的批量操作
136
173
  const limitedQueryOptions = Object.assign(Object.assign({}, queryOptions), { limit: Math.min(queryOptions.limit || 50, 100) });
174
+ // 查询日志
137
175
  const queryResult = yield this.logQueryService.findLogs(limitedQueryOptions);
138
176
  const logIds = queryResult.logs.map((log) => log.id);
139
177
  if (logIds.length === 0) {
@@ -152,6 +190,12 @@ let HttpReplayService = HttpReplayService_1 = class HttpReplayService {
152
190
  return this.batchReplay(logIds, replayOptions, concurrency);
153
191
  });
154
192
  }
193
+ /**
194
+ * 重放请求并比较结果
195
+ * @param logId 日志ID
196
+ * @param options 重放选项
197
+ * @returns 包含原始和重放结果的比较
198
+ */
155
199
  replayAndCompare(logId_1) {
156
200
  return __awaiter(this, arguments, void 0, function* (logId, options = {}) {
157
201
  var _a, _b, _c;
@@ -160,6 +204,7 @@ let HttpReplayService = HttpReplayService_1 = class HttpReplayService {
160
204
  throw new Error(`Log with ID ${logId} not found`);
161
205
  }
162
206
  const replayResult = yield this.replayByLogId(logId, options);
207
+ // 比较结果
163
208
  const comparison = {
164
209
  statusMatch: originalLog.statusCode === ((_a = replayResult.response) === null || _a === void 0 ? void 0 : _a.status),
165
210
  responseTimeDifference: replayResult.responseTime - originalLog.responseTime,
@@ -173,6 +218,12 @@ let HttpReplayService = HttpReplayService_1 = class HttpReplayService {
173
218
  };
174
219
  });
175
220
  }
221
+ /**
222
+ * 构建重放配置
223
+ * @param log 原始日志
224
+ * @param options 重放选项
225
+ * @returns 请求配置
226
+ */
176
227
  buildReplayConfig(log, options) {
177
228
  const config = {
178
229
  method: log.method,
@@ -180,6 +231,7 @@ let HttpReplayService = HttpReplayService_1 = class HttpReplayService {
180
231
  headers: Object.assign({}, log.headers),
181
232
  params: Object.assign({}, log.params),
182
233
  };
234
+ // 处理请求体
183
235
  if (log.body) {
184
236
  try {
185
237
  config.data =
@@ -189,6 +241,7 @@ let HttpReplayService = HttpReplayService_1 = class HttpReplayService {
189
241
  config.data = log.body;
190
242
  }
191
243
  }
244
+ // 应用覆盖选项
192
245
  if (options.overrideHeaders) {
193
246
  config.headers = Object.assign(Object.assign({}, config.headers), options.additionalHeaders);
194
247
  }
@@ -196,29 +249,49 @@ let HttpReplayService = HttpReplayService_1 = class HttpReplayService {
196
249
  config.headers = Object.assign(Object.assign({}, config.headers), options.additionalHeaders);
197
250
  }
198
251
  if (options.overrideBody && options.additionalHeaders) {
252
+ // 如果有额外的body数据,在这里处理
199
253
  }
200
254
  if (options.overrideParams && options.metadata) {
201
255
  config.params = Object.assign(Object.assign({}, config.params), options.metadata);
202
256
  }
257
+ // 添加超时
203
258
  if (options.timeout) {
204
259
  config.timeout = options.timeout;
205
260
  }
261
+ // 添加重放元数据(作为自定义属性)
206
262
  config.metadata = Object.assign({ originalLogId: log.id, originalRequestId: log.requestId, replayTimestamp: new Date().toISOString(), replayedBy: 'http-replay-service' }, options.metadata);
207
263
  return config;
208
264
  }
265
+ /**
266
+ * 执行重放请求
267
+ * @param config 请求配置
268
+ * @param options 重放选项
269
+ * @returns 响应结果
270
+ */
209
271
  executeReplayRequest(config, options) {
210
272
  return __awaiter(this, void 0, void 0, function* () {
211
273
  try {
212
274
  return yield this.httpClient.request(config);
213
275
  }
214
276
  catch (error) {
277
+ // 如果请求失败,重新抛出错误
215
278
  throw error;
216
279
  }
217
280
  });
218
281
  }
282
+ /**
283
+ * 生成重放ID
284
+ * @returns 重放ID
285
+ */
219
286
  generateReplayId() {
220
287
  return `replay-${Date.now()}-${Math.random().toString(36).substring(2, 15)}`;
221
288
  }
289
+ /**
290
+ * 数组分块
291
+ * @param array 原始数组
292
+ * @param size 块大小
293
+ * @returns 分块后的数组
294
+ */
222
295
  chunkArray(array, size) {
223
296
  const chunks = [];
224
297
  for (let i = 0; i < array.length; i += size) {
@@ -226,7 +299,14 @@ let HttpReplayService = HttpReplayService_1 = class HttpReplayService {
226
299
  }
227
300
  return chunks;
228
301
  }
302
+ /**
303
+ * 比较响应头
304
+ * @param original 原始响应头
305
+ * @param replay 重放响应头
306
+ * @returns 是否匹配
307
+ */
229
308
  compareHeaders(original, replay) {
309
+ // 简化比较:忽略时间相关的头部
230
310
  const ignoreHeaders = ['date', 'expires', 'last-modified', 'etag'];
231
311
  const originalFiltered = Object.keys(original)
232
312
  .filter((key) => !ignoreHeaders.includes(key.toLowerCase()))
@@ -242,6 +322,12 @@ let HttpReplayService = HttpReplayService_1 = class HttpReplayService {
242
322
  }, {});
243
323
  return JSON.stringify(originalFiltered) === JSON.stringify(replayFiltered);
244
324
  }
325
+ /**
326
+ * 比较响应体
327
+ * @param original 原始响应体
328
+ * @param replay 重放响应体
329
+ * @returns 是否匹配
330
+ */
245
331
  compareBodies(original, replay) {
246
332
  if (!original && !replay)
247
333
  return true;
@@ -1,7 +1,6 @@
1
1
  export * from './http-client.service';
2
2
  export * from './circuit-breaker.service';
3
3
  export * from './logging.service';
4
- export * from './cache.service';
5
4
  export * from './http-log-query.service';
6
5
  export * from './log-cleanup.service';
7
6
  export * from './api-client-registry.service';
@@ -17,7 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./http-client.service"), exports);
18
18
  __exportStar(require("./circuit-breaker.service"), exports);
19
19
  __exportStar(require("./logging.service"), exports);
20
- __exportStar(require("./cache.service"), exports);
21
20
  __exportStar(require("./http-log-query.service"), exports);
22
21
  __exportStar(require("./log-cleanup.service"), exports);
23
22
  __exportStar(require("./api-client-registry.service"), exports);
@@ -1,31 +1,61 @@
1
1
  import { OnModuleInit } from '@nestjs/common';
2
2
  import { CronExpression } from '@nestjs/schedule';
3
3
  import { HttpLogQueryService } from './http-log-query.service';
4
+ /**
5
+ * 日志清理配置接口
6
+ */
4
7
  export interface LogCleanupConfig {
8
+ /** 是否启用自动清理 */
5
9
  enabled: boolean;
10
+ /** 清理策略 */
6
11
  strategy: 'retention' | 'size' | 'combination';
12
+ /** 保留天数 */
7
13
  retentionDays: number;
14
+ /** 最大记录数 */
8
15
  maxRecords?: number;
16
+ /** 定时清理表达式 */
9
17
  schedule?: CronExpression;
18
+ /** 批处理大小 */
10
19
  batchSize?: number;
20
+ /** 是否保留错误日志 */
11
21
  preserveErrorLogs?: boolean;
22
+ /** 错误日志保留天数 */
12
23
  errorLogRetentionDays?: number;
24
+ /** 是否保留重要日志 */
13
25
  preserveImportantLogs?: boolean;
26
+ /** 重要日志保留天数 */
14
27
  importantLogRetentionDays?: number;
28
+ /** 是否保留慢请求日志 */
15
29
  preserveSlowRequests?: boolean;
30
+ /** 慢请求日志保留天数 */
16
31
  slowRequestRetentionDays?: number;
32
+ /** 慢请求阈值(毫秒) */
17
33
  slowRequestThreshold?: number;
18
34
  }
35
+ /**
36
+ * 清理统计信息
37
+ */
19
38
  export interface CleanupStats {
39
+ /** 清理时间 */
20
40
  cleanupTime: Date;
41
+ /** 清理策略 */
21
42
  strategy: string;
43
+ /** 清理前记录数 */
22
44
  beforeCount: number;
45
+ /** 清理后记录数 */
23
46
  afterCount: number;
47
+ /** 删除的记录数 */
24
48
  deletedCount: number;
49
+ /** 处理的批次数量 */
25
50
  batchCount: number;
51
+ /** 耗时(毫秒) */
26
52
  duration: number;
53
+ /** 错误信息 */
27
54
  errors: string[];
28
55
  }
56
+ /**
57
+ * HTTP日志清理服务
58
+ */
29
59
  export declare class HttpLogCleanupService implements OnModuleInit {
30
60
  private readonly logQueryService;
31
61
  private readonly logger;
@@ -33,16 +63,34 @@ export declare class HttpLogCleanupService implements OnModuleInit {
33
63
  constructor(logQueryService: HttpLogQueryService, config?: Partial<LogCleanupConfig>);
34
64
  private get cleanupConfig();
35
65
  onModuleInit(): void;
66
+ /**
67
+ * 定时清理任务
68
+ */
36
69
  scheduledCleanup(): Promise<CleanupStats>;
70
+ /**
71
+ * 执行手动清理
72
+ */
37
73
  manualCleanup(options?: Partial<LogCleanupConfig>): Promise<CleanupStats>;
74
+ /**
75
+ * 获取清理配置
76
+ */
38
77
  getConfig(): LogCleanupConfig;
78
+ /**
79
+ * 更新清理配置
80
+ */
39
81
  updateConfig(config: Partial<LogCleanupConfig>): void;
82
+ /**
83
+ * 检查清理状态
84
+ */
40
85
  getCleanupStatus(): Promise<{
41
86
  enabled: boolean;
42
87
  config: LogCleanupConfig;
43
88
  currentStats: any;
44
89
  recommendations: string[];
45
90
  }>;
91
+ /**
92
+ * 预览清理操作(不实际执行)
93
+ */
46
94
  previewCleanup(config?: Partial<LogCleanupConfig>): Promise<{
47
95
  strategy: string;
48
96
  currentRecords: number;
@@ -56,9 +104,24 @@ export declare class HttpLogCleanupService implements OnModuleInit {
56
104
  importantLogs: number;
57
105
  };
58
106
  }>;
107
+ /**
108
+ * 执行清理操作
109
+ */
59
110
  private performCleanup;
111
+ /**
112
+ * 基于时间的清理策略
113
+ */
60
114
  private cleanupByRetention;
115
+ /**
116
+ * 基于数量的清理策略
117
+ */
61
118
  private cleanupBySize;
119
+ /**
120
+ * 组合清理策略
121
+ */
62
122
  private cleanupByCombination;
123
+ /**
124
+ * 创建清理统计
125
+ */
63
126
  private createCleanupStats;
64
127
  }