@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
@@ -24,6 +24,9 @@ const common_1 = require("@nestjs/common");
24
24
  const schedule_1 = require("@nestjs/schedule");
25
25
  const http_log_query_service_1 = require("./http-log-query.service");
26
26
  const schedule_decorator_1 = require("../../setup/schedule.decorator");
27
+ /**
28
+ * HTTP日志清理服务
29
+ */
27
30
  let HttpLogCleanupService = HttpLogCleanupService_1 = class HttpLogCleanupService {
28
31
  constructor(logQueryService, config = {}) {
29
32
  this.logQueryService = logQueryService;
@@ -33,7 +36,7 @@ let HttpLogCleanupService = HttpLogCleanupService_1 = class HttpLogCleanupServic
33
36
  strategy: 'retention',
34
37
  retentionDays: 30,
35
38
  maxRecords: 1000000,
36
- schedule: schedule_1.CronExpression.EVERY_DAY_AT_2AM,
39
+ schedule: schedule_1.CronExpression.EVERY_DAY_AT_2AM, // 每天凌晨2点执行
37
40
  batchSize: 10000,
38
41
  preserveErrorLogs: true,
39
42
  errorLogRetentionDays: 90,
@@ -43,6 +46,7 @@ let HttpLogCleanupService = HttpLogCleanupService_1 = class HttpLogCleanupServic
43
46
  slowRequestRetentionDays: 60,
44
47
  slowRequestThreshold: 5000,
45
48
  };
49
+ // Override defaults with provided config
46
50
  if (Object.keys(config).length > 0) {
47
51
  Object.assign(this.defaultConfig, config);
48
52
  }
@@ -59,6 +63,9 @@ let HttpLogCleanupService = HttpLogCleanupService_1 = class HttpLogCleanupServic
59
63
  this.logger.warn('HTTP log cleanup is disabled');
60
64
  }
61
65
  }
66
+ /**
67
+ * 定时清理任务
68
+ */
62
69
  scheduledCleanup() {
63
70
  return __awaiter(this, void 0, void 0, function* () {
64
71
  if (!this.cleanupConfig.enabled) {
@@ -68,6 +75,9 @@ let HttpLogCleanupService = HttpLogCleanupService_1 = class HttpLogCleanupServic
68
75
  return this.performCleanup();
69
76
  });
70
77
  }
78
+ /**
79
+ * 执行手动清理
80
+ */
71
81
  manualCleanup(options) {
72
82
  return __awaiter(this, void 0, void 0, function* () {
73
83
  const config = Object.assign(Object.assign({}, this.cleanupConfig), options);
@@ -78,18 +88,28 @@ let HttpLogCleanupService = HttpLogCleanupService_1 = class HttpLogCleanupServic
78
88
  return this.performCleanup(config);
79
89
  });
80
90
  }
91
+ /**
92
+ * 获取清理配置
93
+ */
81
94
  getConfig() {
82
95
  return this.cleanupConfig;
83
96
  }
97
+ /**
98
+ * 更新清理配置
99
+ */
84
100
  updateConfig(config) {
85
101
  Object.assign(this.defaultConfig, config);
86
102
  this.logger.log('Cleanup configuration updated');
87
103
  }
104
+ /**
105
+ * 检查清理状态
106
+ */
88
107
  getCleanupStatus() {
89
108
  return __awaiter(this, void 0, void 0, function* () {
90
109
  const config = this.cleanupConfig;
91
110
  const stats = yield this.logQueryService.getStats();
92
111
  const recommendations = [];
112
+ // 生成建议
93
113
  if (stats.totalRequests > (config.maxRecords || Infinity) * 0.9) {
94
114
  recommendations.push('Current records approaching limit, consider adjusting retention policy');
95
115
  }
@@ -107,12 +127,17 @@ let HttpLogCleanupService = HttpLogCleanupService_1 = class HttpLogCleanupServic
107
127
  };
108
128
  });
109
129
  }
130
+ /**
131
+ * 预览清理操作(不实际执行)
132
+ */
110
133
  previewCleanup(config) {
111
134
  return __awaiter(this, void 0, void 0, function* () {
112
135
  const finalConfig = Object.assign(Object.assign({}, this.cleanupConfig), config);
113
136
  const stats = yield this.logQueryService.getStats();
114
137
  const cutoffDate = new Date();
115
138
  cutoffDate.setDate(cutoffDate.getDate() - finalConfig.retentionDays);
139
+ // 这里应该根据实际的数据库查询来计算分解数据
140
+ // 简化实现:
116
141
  return {
117
142
  strategy: finalConfig.strategy,
118
143
  currentRecords: stats.totalRequests,
@@ -128,6 +153,9 @@ let HttpLogCleanupService = HttpLogCleanupService_1 = class HttpLogCleanupServic
128
153
  };
129
154
  });
130
155
  }
156
+ /**
157
+ * 执行清理操作
158
+ */
131
159
  performCleanup() {
132
160
  return __awaiter(this, arguments, void 0, function* (config = this.cleanupConfig) {
133
161
  const startTime = Date.now();
@@ -135,6 +163,7 @@ let HttpLogCleanupService = HttpLogCleanupService_1 = class HttpLogCleanupServic
135
163
  let deletedCount = 0;
136
164
  const batchCount = 0;
137
165
  try {
166
+ // 获取清理前的总记录数
138
167
  const beforeStats = yield this.logQueryService.getStats();
139
168
  const beforeCount = beforeStats.totalRequests;
140
169
  switch (config.strategy) {
@@ -150,6 +179,7 @@ let HttpLogCleanupService = HttpLogCleanupService_1 = class HttpLogCleanupServic
150
179
  default:
151
180
  throw new Error(`Unknown cleanup strategy: ${config.strategy}`);
152
181
  }
182
+ // 获取清理后的总记录数
153
183
  const afterStats = yield this.logQueryService.getStats();
154
184
  const afterCount = afterStats.totalRequests;
155
185
  const duration = Date.now() - startTime;
@@ -176,12 +206,16 @@ let HttpLogCleanupService = HttpLogCleanupService_1 = class HttpLogCleanupServic
176
206
  }
177
207
  });
178
208
  }
209
+ /**
210
+ * 基于时间的清理策略
211
+ */
179
212
  cleanupByRetention(config, errors) {
180
213
  return __awaiter(this, void 0, void 0, function* () {
181
214
  let totalDeleted = 0;
182
215
  const cutoffDate = new Date();
183
216
  cutoffDate.setDate(cutoffDate.getDate() - config.retentionDays);
184
217
  try {
218
+ // 清理普通日志
185
219
  const normalDeleted = yield this.logQueryService.deleteOldLogs(config.retentionDays);
186
220
  totalDeleted += normalDeleted;
187
221
  }
@@ -189,17 +223,25 @@ let HttpLogCleanupService = HttpLogCleanupService_1 = class HttpLogCleanupServic
189
223
  errors.push(`Retention cleanup failed: ${error.message}`);
190
224
  return 0;
191
225
  }
226
+ // 如果需要保留错误日志
192
227
  if (config.preserveErrorLogs &&
193
228
  config.errorLogRetentionDays > config.retentionDays) {
229
+ // 保留错误日志的逻辑已经在deleteOldLogs中处理
194
230
  this.logger.log(`Preserving error logs for ${config.errorLogRetentionDays} days`);
195
231
  }
232
+ // 清理慢请求日志(如果启用了较长的保留期)
196
233
  if (config.preserveSlowRequests &&
197
234
  config.slowRequestRetentionDays > config.retentionDays) {
235
+ // 这里需要特殊的逻辑来保留慢请求
236
+ // 由于当前的deleteOldLogs不区分日志类型,我们需要实现特殊逻辑
198
237
  this.logger.log(`Preserving slow requests for ${config.slowRequestRetentionDays} days`);
199
238
  }
200
239
  return totalDeleted;
201
240
  });
202
241
  }
242
+ /**
243
+ * 基于数量的清理策略
244
+ */
203
245
  cleanupBySize(config, errors) {
204
246
  return __awaiter(this, void 0, void 0, function* () {
205
247
  if (!config.maxRecords) {
@@ -213,10 +255,12 @@ let HttpLogCleanupService = HttpLogCleanupService_1 = class HttpLogCleanupServic
213
255
  }
214
256
  const excessCount = stats.totalRequests - config.maxRecords;
215
257
  const targetCutoffDate = new Date();
216
- const averageDailyRecords = stats.totalRequests / 30;
258
+ // 计算需要删除的记录对应的时间点
259
+ const averageDailyRecords = stats.totalRequests / 30; // 假设30天的数据
217
260
  const daysToDelete = Math.ceil(excessCount / averageDailyRecords);
218
261
  targetCutoffDate.setDate(targetCutoffDate.getDate() - daysToDelete);
219
262
  try {
263
+ // 使用更精确的日期进行清理
220
264
  const deleted = yield this.logQueryService.deleteOldLogs(Math.ceil((Date.now() - targetCutoffDate.getTime()) / (24 * 60 * 60 * 1000)));
221
265
  this.logger.log(`Size-based cleanup: deleted ${deleted} records, cutoff date: ${targetCutoffDate.toISOString()}`);
222
266
  return deleted;
@@ -227,11 +271,16 @@ let HttpLogCleanupService = HttpLogCleanupService_1 = class HttpLogCleanupServic
227
271
  }
228
272
  });
229
273
  }
274
+ /**
275
+ * 组合清理策略
276
+ */
230
277
  cleanupByCombination(config, errors) {
231
278
  return __awaiter(this, void 0, void 0, function* () {
232
279
  let totalDeleted = 0;
280
+ // 首先基于时间清理
233
281
  const retentionDeleted = yield this.cleanupByRetention(config, errors);
234
282
  totalDeleted += retentionDeleted;
283
+ // 如果仍然超过最大记录数,进行基于数量的清理
235
284
  if (config.maxRecords) {
236
285
  const stats = yield this.logQueryService.getStats();
237
286
  if (stats.totalRequests > config.maxRecords) {
@@ -242,6 +291,9 @@ let HttpLogCleanupService = HttpLogCleanupService_1 = class HttpLogCleanupServic
242
291
  return totalDeleted;
243
292
  });
244
293
  }
294
+ /**
295
+ * 创建清理统计
296
+ */
245
297
  createCleanupStats(strategy, beforeCount, afterCount, deletedCount, batchCount, errors) {
246
298
  return {
247
299
  cleanupTime: new Date(),
@@ -1,14 +1,62 @@
1
- import { DataSource } from 'typeorm';
1
+ import { OnModuleDestroy } from '@nestjs/common';
2
+ import { Repository } from 'typeorm';
2
3
  import { AxiosError, AxiosRequestConfig, AxiosResponse } from 'axios';
3
4
  import { HttpLogEntity } from '../entities/http-log.entity';
4
- export declare class HttpLoggingService {
5
- private readonly dataSource?;
5
+ /**
6
+ * 异步日志配置
7
+ */
8
+ interface AsyncLogConfig {
9
+ /** 批量大小 */
10
+ batchSize: number;
11
+ /** 刷新间隔(毫秒) */
12
+ flushIntervalMs: number;
13
+ /** 最大重试次数 */
14
+ maxRetries: number;
15
+ /** 是否启用异步日志 */
16
+ enabled: boolean;
17
+ }
18
+ /**
19
+ * HTTP日志服务
20
+ * 基于Spring Boot的请求日志记录机制,集成现有的ContextProvider
21
+ * 支持异步批量日志写入以提升性能
22
+ */
23
+ export declare class HttpLoggingService implements OnModuleDestroy {
6
24
  private readonly logger;
7
25
  private logRepository;
8
- constructor(dataSource?: DataSource);
26
+ /** 日志队列 */
27
+ private logQueue;
28
+ /** 定时器 */
29
+ private flushTimer?;
30
+ /** 默认异步日志配置 */
31
+ private readonly asyncConfig;
32
+ /** 处理中标志 */
33
+ private isProcessing;
34
+ constructor();
35
+ onModuleDestroy(): void;
36
+ initRepository(dataSource: string, tableName: string): Repository<HttpLogEntity>;
37
+ /**
38
+ * 记录请求开始
39
+ */
9
40
  logRequestStart(config: AxiosRequestConfig, loggingOptions: any, requestId?: string): string;
10
- logRequestSuccess(response: AxiosResponse, startTime: number, requestId: string, loggingOptions: any, databaseLogging?: boolean, retryRecords?: any[], cacheHit?: boolean, circuitBreakerState?: string, decoratorContext?: any): void;
11
- logRequestError(error: AxiosError, startTime: number, requestId: string, attemptCount: number, loggingOptions: any, databaseLogging?: boolean, retryRecords?: any[], cacheHit?: boolean, circuitBreakerState?: string, decoratorContext?: any): void;
41
+ /**
42
+ * 记录请求成功响应
43
+ */
44
+ logRequestSuccess(response: AxiosResponse, startTime: number, requestId: string, loggingOptions: any, databaseLogging?: boolean, retryRecords?: any[], circuitBreakerState?: string, decoratorContext?: any, clientName?: string, callingContext?: {
45
+ serviceClass?: string;
46
+ methodName?: string;
47
+ operationName?: string;
48
+ }): Promise<void>;
49
+ /**
50
+ * 记录请求错误
51
+ */
52
+ logRequestError(error: AxiosError, startTime: number, requestId: string, attemptCount: number, loggingOptions: any, databaseLogging?: boolean, retryRecords?: any[], circuitBreakerState?: string, decoratorContext?: any, clientName?: string, callingContext?: {
53
+ serviceClass?: string;
54
+ methodName?: string;
55
+ operationName?: string;
56
+ }): void;
57
+ /**
58
+ * 查询请求日志
59
+ */
12
60
  findLogs(options: {
13
61
  requestId?: string;
14
62
  userId?: string;
@@ -21,16 +69,77 @@ export declare class HttpLoggingService {
21
69
  limit?: number;
22
70
  offset?: number;
23
71
  }): Promise<HttpLogEntity[]>;
72
+ /**
73
+ * 获取请求统计信息
74
+ */
24
75
  getStatistics(options: {
25
76
  startDate?: Date;
26
77
  endDate?: Date;
27
78
  userId?: string;
28
79
  }): Promise<any>;
29
- private initializeDatabaseLogging;
80
+ /**
81
+ * 提取调用信息
82
+ */
30
83
  private extractCallInfo;
84
+ /**
85
+ * 保存到数据库
86
+ * 如果启用异步日志,将日志项添加到队列中
87
+ * 否则同步保存到数据库
88
+ */
31
89
  private saveToDatabase;
90
+ /**
91
+ * 启动定期刷新任务
92
+ */
93
+ private startFlushTask;
94
+ /**
95
+ * 刷新日志队列到数据库
96
+ */
97
+ private flush;
98
+ /**
99
+ * 处理单个日志项
100
+ */
101
+ private processLogItem;
102
+ /**
103
+ * 同步保存日志到数据库(用于异步模式内部)
104
+ */
105
+ private saveLogToDatabase;
106
+ /**
107
+ * 获取日志队列统计信息
108
+ */
109
+ getQueueStats(): {
110
+ queueSize: number;
111
+ isProcessing: boolean;
112
+ config: AsyncLogConfig;
113
+ };
114
+ /**
115
+ * 手动刷新日志队列
116
+ */
117
+ manualFlush(): Promise<void>;
118
+ /**
119
+ * 设置异步日志配置
120
+ */
121
+ setAsyncConfig(config: Partial<AsyncLogConfig>): void;
122
+ /**
123
+ * 转换请求体为字符串
124
+ */
32
125
  private sanitizeBodyAsString;
126
+ /**
127
+ * 清理敏感头信息
128
+ */
33
129
  private sanitizeHeaders;
130
+ /**
131
+ * 清理敏感请求体信息
132
+ */
34
133
  private sanitizeBody;
134
+ /**
135
+ * 递归清理对象中的敏感字段
136
+ */
35
137
  private sanitizeObject;
138
+ /**
139
+ * 获取完整URL
140
+ * @param config Axios请求配置
141
+ * @returns 完整的URL字符串
142
+ */
143
+ private getFullUrl;
36
144
  }
145
+ export {};