@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 operators_1 = require("rxjs/operators");
24
24
  const crypto_1 = require("crypto");
25
25
  const audit_context_service_1 = require("../services/audit-context.service");
26
26
  const decorators_1 = require("../decorators");
27
+ /**
28
+ * 审计拦截器
29
+ */
27
30
  let AuditInterceptor = class AuditInterceptor {
28
31
  constructor(contextService) {
29
32
  this.contextService = contextService;
@@ -32,16 +35,23 @@ let AuditInterceptor = class AuditInterceptor {
32
35
  const request = context.switchToHttp().getRequest();
33
36
  const handler = context.getHandler();
34
37
  const controller = context.getClass();
38
+ // 检查是否启用了审计
35
39
  if (!this.isAuditEnabled(controller, handler)) {
36
40
  return next.handle();
37
41
  }
42
+ // 设置请求上下文
38
43
  this.setRequestContext(request);
39
44
  return next.handle().pipe((0, operators_1.tap)(() => {
45
+ // 在响应后执行的操作
40
46
  }), (0, operators_1.catchError)((error) => __awaiter(this, void 0, void 0, function* () {
47
+ // 处理错误情况
41
48
  yield this.handleError(error, request);
42
49
  throw error;
43
50
  })));
44
51
  }
52
+ /**
53
+ * 设置请求上下文
54
+ */
45
55
  setRequestContext(request) {
46
56
  var _a, _b, _c;
47
57
  const user = request.user || {};
@@ -55,8 +65,12 @@ let AuditInterceptor = class AuditInterceptor {
55
65
  };
56
66
  this.contextService.setContext(auditContext);
57
67
  }
68
+ /**
69
+ * 处理错误
70
+ */
58
71
  handleError(error, request) {
59
72
  return __awaiter(this, void 0, void 0, function* () {
73
+ // 记录错误信息到上下文
60
74
  this.contextService.setContext({
61
75
  metadata: {
62
76
  error: {
@@ -68,12 +82,17 @@ let AuditInterceptor = class AuditInterceptor {
68
82
  });
69
83
  });
70
84
  }
85
+ /**
86
+ * 检查是否启用了审计
87
+ */
71
88
  isAuditEnabled(controller, handler) {
72
89
  try {
90
+ // 检查控制器级别设置
73
91
  const controllerMetadata = Reflect.getMetadata(decorators_1.CONTROLLER_AUDIT_OPTIONS, controller);
74
92
  if (controllerMetadata && controllerMetadata.enabled === false) {
75
93
  return false;
76
94
  }
95
+ // 检查方法级别设置
77
96
  const handlerMetadata = Reflect.getMetadata(decorators_1.METHOD_AUDIT_OPTIONS, handler);
78
97
  if (handlerMetadata && handlerMetadata.enabled === false) {
79
98
  return false;
@@ -81,9 +100,12 @@ let AuditInterceptor = class AuditInterceptor {
81
100
  return true;
82
101
  }
83
102
  catch (error) {
84
- return true;
103
+ return true; // 默认启用
85
104
  }
86
105
  }
106
+ /**
107
+ * 生成请求ID
108
+ */
87
109
  generateRequestId() {
88
110
  return (0, crypto_1.randomBytes)(16).toString('hex');
89
111
  }
@@ -1 +1,2 @@
1
1
  export * from './audit.interceptor';
2
+ export * from './audit-action.interceptor';
@@ -15,3 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./audit.interceptor"), exports);
18
+ __exportStar(require("./audit-action.interceptor"), exports);
@@ -1,4 +1,7 @@
1
- import { AuditOperation, MaskingStrategy, RecordStrategy } from '../enums/audit.enums';
1
+ import { AuditOperation, MaskingStrategy, RecordStrategy, RollbackActionType, ChangeType } from '../enums/audit.enums';
2
+ /**
3
+ * 审计上下文
4
+ */
2
5
  export interface AuditContext {
3
6
  userId?: string;
4
7
  username?: string;
@@ -9,16 +12,25 @@ export interface AuditContext {
9
12
  transactionId?: string;
10
13
  metadata?: Record<string, any>;
11
14
  }
15
+ /**
16
+ * 审计策略接口
17
+ */
12
18
  export interface IAuditStrategy {
13
19
  shouldRecord(entityType: string, operation: AuditOperation): boolean;
14
20
  getRecordStrategy(entityType: string, operation: AuditOperation): RecordStrategy;
15
21
  getFieldFilter(entityType: string): IFieldFilter;
16
22
  }
23
+ /**
24
+ * 字段过滤器接口
25
+ */
17
26
  export interface IFieldFilter {
18
27
  shouldIncludeField(fieldName: string, path: string[]): boolean;
19
28
  shouldMaskField(fieldName: string, path: string[]): boolean;
20
29
  getMaskingStrategy(fieldName: string, path: string[]): MaskingStrategy;
21
30
  }
31
+ /**
32
+ * 实体差异
33
+ */
22
34
  export interface EntityDifference {
23
35
  changes: Array<{
24
36
  path: string[];
@@ -32,6 +44,9 @@ export interface EntityDifference {
32
44
  changed: number;
33
45
  };
34
46
  }
47
+ /**
48
+ * 恢复选项
49
+ */
35
50
  export interface RestoreOptions {
36
51
  force?: boolean;
37
52
  dryRun?: boolean;
@@ -40,6 +55,9 @@ export interface RestoreOptions {
40
55
  skipDependencies?: boolean;
41
56
  connectionName?: string;
42
57
  }
58
+ /**
59
+ * 恢复结果
60
+ */
43
61
  export interface RestoreResult {
44
62
  success: boolean;
45
63
  message?: string;
@@ -54,6 +72,9 @@ export interface RestoreResult {
54
72
  entityId: string;
55
73
  }>;
56
74
  }
75
+ /**
76
+ * 预检查结果
77
+ */
57
78
  export interface PreCheckResult {
58
79
  canRestore: boolean;
59
80
  conflicts: Array<{
@@ -64,6 +85,9 @@ export interface PreCheckResult {
64
85
  }>;
65
86
  warnings: string[];
66
87
  }
88
+ /**
89
+ * 批量操作结果
90
+ */
67
91
  export interface BatchOperationResult {
68
92
  total: number;
69
93
  success: number;
@@ -74,6 +98,9 @@ export interface BatchOperationResult {
74
98
  }>;
75
99
  results: any[];
76
100
  }
101
+ /**
102
+ * 审计配置
103
+ */
77
104
  export interface AuditConfig {
78
105
  enabled?: boolean;
79
106
  defaultStrategy?: RecordStrategy;
@@ -94,26 +121,184 @@ export interface AuditConfig {
94
121
  };
95
122
  };
96
123
  }
124
+ /**
125
+ * 实体级别审计配置
126
+ */
127
+ /**
128
+ * 实体审计配置
129
+ *
130
+ * @description
131
+ * 支持基础审计配置
132
+ *
133
+ * @example
134
+ * ```typescript
135
+ * @EntityAudit({
136
+ * enabled: true,
137
+ * excludeFields: ['password'],
138
+ * maskFields: ['email', 'phone'],
139
+ * templateKey: 'user',
140
+ * })
141
+ * ```
142
+ */
97
143
  export interface EntityAuditConfig {
98
144
  enabled?: boolean;
99
145
  strategy?: RecordStrategy;
100
146
  includeFields?: string[];
101
147
  excludeFields?: string[];
102
148
  maskFields?: string[];
149
+ /**
150
+ * 实体标签(支持多语言)
151
+ * @example
152
+ * // 单语言
153
+ * label: '订单'
154
+ *
155
+ * // 多语言
156
+ * label: { zh: '订单', en: 'Order', ja: '注文' }
157
+ */
158
+ label?: string | Record<string, string>;
159
+ /**
160
+ * 操作模板键前缀
161
+ * @example 'user' -> 生成 'user.create', 'user.update', 'user.delete'
162
+ */
163
+ templateKey?: string;
103
164
  }
165
+ /**
166
+ * 操作级别审计配置
167
+ */
104
168
  export interface OperationAuditConfig {
105
169
  enabled?: boolean;
106
170
  strategy?: RecordStrategy;
107
171
  }
172
+ /**
173
+ * 字段显示选项
174
+ */
108
175
  export interface FieldDisplayOptions {
109
- displayName?: string;
176
+ /**
177
+ * 字段标签(支持多语言)
178
+ * @example
179
+ * // 单语言
180
+ * label: '姓名'
181
+ *
182
+ * // 多语言
183
+ * label: { zh: '姓名', en: 'Name' }
184
+ */
185
+ label?: string | Record<string, string>;
186
+ /**
187
+ * 字段值的多语言标签映射
188
+ * @example
189
+ * valueLabels: {
190
+ * active: { zh: '激活', en: 'Active' },
191
+ * inactive: { zh: '未激活', en: 'Inactive' }
192
+ * }
193
+ */
194
+ valueLabels?: Record<string, Record<string, string>>;
110
195
  sensitive?: boolean;
111
196
  formatter?: (value: any) => string;
112
197
  }
198
+ /**
199
+ * 控制器审计选项
200
+ */
113
201
  export interface ControllerAuditOptions {
114
202
  enabled?: boolean;
115
203
  operations?: AuditOperation[];
116
204
  }
205
+ /**
206
+ * 方法审计选项
207
+ */
117
208
  export interface MethodAuditOptions {
118
209
  enabled?: boolean;
119
210
  }
211
+ /**
212
+ * 变更详情
213
+ */
214
+ export interface ChangeDetail {
215
+ fieldName: string;
216
+ fieldLabels?: Record<string, string>;
217
+ oldValue: any;
218
+ newValue: any;
219
+ displayOldValue?: Record<string, string>;
220
+ displayNewValue?: Record<string, string>;
221
+ changeType: ChangeType;
222
+ }
223
+ /**
224
+ * 回滚操作
225
+ */
226
+ export interface RollbackAction {
227
+ type: RollbackActionType;
228
+ action: string;
229
+ params: Record<string, any>;
230
+ order: number;
231
+ handler?: string;
232
+ }
233
+ /**
234
+ * 操作模板配置(用于数据库存储)
235
+ */
236
+ export interface OperationTemplateData {
237
+ key: string;
238
+ entityName: string;
239
+ operation: AuditOperation;
240
+ nameTemplates: Record<string, string>;
241
+ descriptionTemplates: Record<string, string>;
242
+ fieldLabels?: Record<string, Record<string, string>>;
243
+ valueDisplays?: Record<string, Record<string, Record<string, string>>>;
244
+ }
245
+ /**
246
+ * 手动操作日志数据
247
+ */
248
+ export interface ManualOperationData {
249
+ transactionId: string;
250
+ operationTemplateKey: string;
251
+ descriptionParams: Record<string, any>;
252
+ userId?: string;
253
+ username?: string;
254
+ requestIp?: string;
255
+ rollbackActions?: RollbackAction[];
256
+ }
257
+ /**
258
+ * 手动日志记录选项(支持三种模式)
259
+ */
260
+ export interface ManualLogOptions {
261
+ templateKey?: string;
262
+ descriptionParams?: Record<string, any>;
263
+ description?: string | Record<string, string>;
264
+ descriptionTemplate?: Record<string, string>;
265
+ userId?: string;
266
+ username?: string;
267
+ requestIp?: string;
268
+ rollbackActions?: RollbackAction[];
269
+ transactionId?: string;
270
+ autoCreateTransaction?: boolean;
271
+ }
272
+ /**
273
+ * 方法审计选项(支持模板和回滚)
274
+ */
275
+ export interface AuditOperationOptions {
276
+ templateKey: string;
277
+ descriptionParams?: (args: any[], result: any, context: any) => Record<string, any>;
278
+ rollbackActions?: (args: any[], result: any, context: any) => RollbackAction[];
279
+ autoTransaction?: boolean;
280
+ }
281
+ /**
282
+ * 增强的实体审计配置(支持多语言)
283
+ */
284
+ export interface EnhancedEntityAuditConfig extends EntityAuditConfig {
285
+ templateKey?: string;
286
+ fieldLabels?: Record<string, Record<string, string>>;
287
+ valueDisplays?: Record<string, Record<string, Record<string, string>>>;
288
+ }
289
+ /**
290
+ * 事务描述结果
291
+ */
292
+ export interface TransactionDescription {
293
+ operationName: string;
294
+ description: string;
295
+ changes: Array<{
296
+ entityName?: string;
297
+ entityId?: string;
298
+ operation?: AuditOperation;
299
+ type?: string;
300
+ description: string;
301
+ details: any;
302
+ createdAt: Date;
303
+ }>;
304
+ }
@@ -0,0 +1,141 @@
1
+ import { AuditContextService } from './audit-context.service';
2
+ import { EntityAuditService } from './entity-audit.service';
3
+ import { AuditOperation } from '../enums';
4
+ /**
5
+ * 审计动作选项
6
+ */
7
+ export interface AuditActionOptions {
8
+ /**
9
+ * 动作名称,如 'createOrder', 'updateUser'
10
+ */
11
+ actionName: string;
12
+ /**
13
+ * 操作模板键(可选)
14
+ * @example 'order.create'
15
+ */
16
+ operationTemplateKey?: string;
17
+ /**
18
+ * 描述参数,用于模板填充
19
+ * @example { productCount: 3, receiver: '张三', totalAmount: 299.99 }
20
+ */
21
+ descriptionParams?: Record<string, any>;
22
+ /**
23
+ * 自定义元数据
24
+ */
25
+ metadata?: Record<string, any>;
26
+ }
27
+ /**
28
+ * 审计动作结果
29
+ */
30
+ export interface AuditActionResult {
31
+ actionId: string;
32
+ actionName: string;
33
+ entityChanges: Array<{
34
+ entityType: string;
35
+ entityId: string;
36
+ operation: string;
37
+ sequence: number;
38
+ }>;
39
+ duration: number;
40
+ success: boolean;
41
+ error?: Error;
42
+ }
43
+ /**
44
+ * 审计动作服务
45
+ * 提供声明式的审计动作管理,自动关联同一业务操作的所有实体变化
46
+ */
47
+ export declare class AuditActionService {
48
+ private readonly contextService;
49
+ private readonly auditService;
50
+ constructor(contextService: AuditContextService, auditService: EntityAuditService);
51
+ /**
52
+ * 在审计动作上下文中执行操作
53
+ * 自动关联该动作内的所有实体变化
54
+ *
55
+ * @example
56
+ * ```typescript
57
+ * const result = await auditActionService.executeAction(
58
+ * {
59
+ * actionName: 'createOrder',
60
+ * operationTemplateKey: 'order.create',
61
+ * descriptionParams: {
62
+ * productCount: orderItems.length,
63
+ * receiver: order.receiverName,
64
+ * totalAmount: order.totalAmount,
65
+ * address: order.shippingAddress,
66
+ * },
67
+ * },
68
+ * async () => {
69
+ * // 1. 创建订单
70
+ * const order = await this.orderRepository.save(newOrder);
71
+ *
72
+ * // 2. 创建订单项
73
+ * await this.orderItemRepository.save(orderItems);
74
+ *
75
+ * // 3. 扣减库存
76
+ * await this.inventoryService.deduct(orderItems);
77
+ *
78
+ * // 4. 创建物流信息
79
+ * await this.shippingService.create(order.id);
80
+ *
81
+ * return order;
82
+ * }
83
+ * );
84
+ *
85
+ * // 结果中包含所有实体变化:
86
+ * // result.entityChanges = [
87
+ * // { entityType: 'Order', entityId: '1', operation: 'CREATE', sequence: 1 },
88
+ * // { entityType: 'OrderItem', entityId: '1', operation: 'CREATE', sequence: 2 },
89
+ * // { entityType: 'OrderItem', entityId: '2', operation: 'CREATE', sequence: 3 },
90
+ * // { entityType: 'Inventory', entityId: '1', operation: 'UPDATE', sequence: 4 },
91
+ * // { entityType: 'Shipping', entityId: '1', operation: 'CREATE', sequence: 5 },
92
+ * // ]
93
+ * ```
94
+ */
95
+ executeAction<T>(options: AuditActionOptions, operation: () => Promise<T>): Promise<AuditActionResult>;
96
+ /**
97
+ * 记录审计动作汇总日志
98
+ */
99
+ private recordActionSummary;
100
+ /**
101
+ * 获取审计动作的所有实体变化
102
+ */
103
+ getActionAuditLogs(actionId: string): Promise<{
104
+ actionId: string;
105
+ logs: import("..").EntityAuditLogEntity[];
106
+ summary: {
107
+ totalChanges: number;
108
+ operations: {
109
+ [k: string]: number;
110
+ };
111
+ entities: {
112
+ [k: string]: number;
113
+ };
114
+ };
115
+ }>;
116
+ /**
117
+ * 获取请求内的所有审计动作
118
+ */
119
+ getRequestActions(requestId: string): Promise<{
120
+ requestId: string;
121
+ actions: {
122
+ actionId: string;
123
+ actionName: string;
124
+ entityChanges: {
125
+ entityType: string;
126
+ entityId: string;
127
+ operation: AuditOperation;
128
+ sequence: number;
129
+ timestamp: Date;
130
+ }[];
131
+ logs: import("..").EntityAuditLogEntity[];
132
+ }[];
133
+ noActionLogs: import("..").EntityAuditLogEntity[];
134
+ summary: {
135
+ totalActions: number;
136
+ totalChanges: number;
137
+ };
138
+ }>;
139
+ private groupByOperation;
140
+ private groupByEntity;
141
+ }