@nest-omni/core 4.1.3-3 → 4.1.3-30

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 (370) hide show
  1. package/audit/audit.module.d.ts +1 -0
  2. package/audit/audit.module.js +51 -2
  3. package/audit/controllers/audit.controller.d.ts +57 -1
  4. package/audit/controllers/audit.controller.js +43 -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 +1 -1
  8. package/audit/decorators/audit-controller.decorator.js +2 -2
  9. package/audit/decorators/audit-operation.decorator.d.ts +0 -7
  10. package/audit/decorators/audit-operation.decorator.js +0 -7
  11. package/audit/decorators/entity-audit.decorator.d.ts +78 -2
  12. package/audit/decorators/entity-audit.decorator.js +145 -4
  13. package/audit/decorators/index.d.ts +2 -0
  14. package/audit/decorators/index.js +2 -0
  15. package/audit/dto/audit-action-query.dto.d.ts +13 -0
  16. package/audit/dto/audit-action-query.dto.js +77 -0
  17. package/audit/dto/index.d.ts +1 -0
  18. package/audit/dto/index.js +1 -0
  19. package/audit/entities/audit-action-summary.entity.d.ts +23 -0
  20. package/audit/entities/audit-action-summary.entity.js +101 -0
  21. package/audit/entities/entity-audit-log.entity.d.ts +7 -2
  22. package/audit/entities/entity-audit-log.entity.js +45 -9
  23. package/audit/entities/entity-transaction.entity.d.ts +8 -2
  24. package/audit/entities/entity-transaction.entity.js +39 -3
  25. package/audit/entities/index.d.ts +3 -0
  26. package/audit/entities/index.js +3 -0
  27. package/audit/entities/manual-operation-log.entity.d.ts +0 -2
  28. package/audit/entities/manual-operation-log.entity.js +8 -9
  29. package/audit/enums/audit.enums.d.ts +14 -6
  30. package/audit/enums/audit.enums.js +18 -9
  31. package/audit/examples/decorator-value-mapping.example.d.ts +70 -0
  32. package/audit/examples/decorator-value-mapping.example.js +414 -0
  33. package/audit/index.d.ts +5 -1
  34. package/audit/index.js +29 -2
  35. package/audit/interceptors/audit-action.interceptor.d.ts +39 -0
  36. package/audit/interceptors/audit-action.interceptor.js +217 -0
  37. package/audit/interceptors/audit.interceptor.d.ts +1 -0
  38. package/audit/interceptors/audit.interceptor.js +19 -11
  39. package/audit/interceptors/index.d.ts +1 -0
  40. package/audit/interceptors/index.js +1 -0
  41. package/audit/interfaces/audit.interfaces.d.ts +132 -4
  42. package/audit/services/audit-action.service.d.ts +142 -0
  43. package/audit/services/audit-action.service.js +246 -0
  44. package/audit/services/audit-context.service.d.ts +91 -0
  45. package/audit/services/audit-context.service.js +170 -0
  46. package/audit/services/entity-audit.service.d.ts +220 -9
  47. package/audit/services/entity-audit.service.js +761 -72
  48. package/audit/services/index.d.ts +3 -0
  49. package/audit/services/index.js +3 -0
  50. package/audit/services/manual-audit-log.service.d.ts +23 -23
  51. package/audit/services/manual-audit-log.service.js +34 -57
  52. package/audit/services/multi-database.service.d.ts +0 -5
  53. package/audit/services/multi-database.service.js +0 -24
  54. package/audit/services/operation-description.service.d.ts +14 -3
  55. package/audit/services/operation-description.service.js +165 -26
  56. package/audit/services/transaction-audit.service.d.ts +1 -0
  57. package/audit/services/transaction-audit.service.js +12 -9
  58. package/audit/subscribers/entity-audit.subscriber.d.ts +5 -0
  59. package/audit/subscribers/entity-audit.subscriber.js +69 -5
  60. package/cache/cache.module.d.ts +7 -8
  61. package/cache/cache.module.js +15 -13
  62. package/cache/cache.service.d.ts +6 -4
  63. package/cache/cache.service.js +24 -12
  64. package/cache/decorators/cache-put.decorator.js +5 -4
  65. package/cache/dependencies/callback.dependency.js +9 -0
  66. package/cache/dependencies/db.dependency.d.ts +43 -12
  67. package/cache/dependencies/db.dependency.js +46 -18
  68. package/cache/dependencies/tag.dependency.d.ts +31 -4
  69. package/cache/dependencies/tag.dependency.js +100 -11
  70. package/cache/entities/index.d.ts +1 -0
  71. package/cache/entities/index.js +17 -0
  72. package/cache/entities/typeorm-cache.entity.d.ts +71 -0
  73. package/cache/entities/typeorm-cache.entity.js +110 -0
  74. package/cache/index.d.ts +2 -1
  75. package/cache/index.js +19 -2
  76. package/cache/interfaces/cache-options.interface.d.ts +8 -0
  77. package/cache/providers/index.d.ts +2 -1
  78. package/cache/providers/index.js +2 -1
  79. package/cache/providers/lrucache.provider.d.ts +77 -0
  80. package/cache/providers/lrucache.provider.js +228 -0
  81. package/cache/providers/redis-cache.provider.d.ts +1 -0
  82. package/cache/providers/redis-cache.provider.js +8 -6
  83. package/cache/providers/typeorm-cache.provider.d.ts +211 -0
  84. package/cache/providers/typeorm-cache.provider.js +483 -0
  85. package/common/boilerplate.polyfill.d.ts +1 -0
  86. package/common/boilerplate.polyfill.js +18 -1
  87. package/common/helpers/validation-metadata-helper.d.ts +112 -0
  88. package/common/helpers/validation-metadata-helper.js +164 -0
  89. package/common/index.d.ts +1 -0
  90. package/common/index.js +4 -0
  91. package/decorators/examples/field-i18n.example.d.ts +294 -0
  92. package/decorators/examples/field-i18n.example.js +478 -0
  93. package/decorators/field.decorators.d.ts +95 -3
  94. package/decorators/field.decorators.js +152 -18
  95. package/decorators/transform.decorators.d.ts +0 -2
  96. package/decorators/transform.decorators.js +0 -23
  97. package/decorators/translate.decorator.d.ts +26 -0
  98. package/decorators/translate.decorator.js +26 -1
  99. package/email-log/email-log.constants.d.ts +8 -0
  100. package/email-log/email-log.constants.js +11 -0
  101. package/email-log/email-log.module.d.ts +47 -0
  102. package/email-log/email-log.module.js +140 -0
  103. package/email-log/index.d.ts +11 -0
  104. package/email-log/index.js +48 -0
  105. package/email-log/interfaces/email-log-options.interface.d.ts +61 -0
  106. package/email-log/interfaces/email-log-options.interface.js +134 -0
  107. package/email-log/interfaces/email-log-transport.interface.d.ts +20 -0
  108. package/email-log/interfaces/email-log-transport.interface.js +2 -0
  109. package/email-log/interfaces/index.d.ts +2 -0
  110. package/email-log/interfaces/index.js +18 -0
  111. package/email-log/providers/email-provider.d.ts +42 -0
  112. package/email-log/providers/email-provider.js +127 -0
  113. package/email-log/providers/index.d.ts +1 -0
  114. package/email-log/providers/index.js +17 -0
  115. package/email-log/services/email-log-alert.service.d.ts +46 -0
  116. package/email-log/services/email-log-alert.service.js +162 -0
  117. package/email-log/services/email-log-formatter.service.d.ts +78 -0
  118. package/email-log/services/email-log-formatter.service.js +442 -0
  119. package/email-log/services/email-log-logger.service.d.ts +85 -0
  120. package/email-log/services/email-log-logger.service.js +168 -0
  121. package/email-log/services/email-log-rate-limiter.service.d.ts +42 -0
  122. package/email-log/services/email-log-rate-limiter.service.js +110 -0
  123. package/email-log/services/email-log-transport.service.d.ts +80 -0
  124. package/email-log/services/email-log-transport.service.js +271 -0
  125. package/email-log/services/index.d.ts +5 -0
  126. package/email-log/services/index.js +21 -0
  127. package/email-log/transports/index.d.ts +1 -0
  128. package/email-log/transports/index.js +17 -0
  129. package/email-log/transports/pino-email.transport.d.ts +56 -0
  130. package/email-log/transports/pino-email.transport.js +188 -0
  131. package/email-log/utils/index.d.ts +2 -0
  132. package/email-log/utils/index.js +18 -0
  133. package/email-log/utils/log-level.helper.d.ts +46 -0
  134. package/email-log/utils/log-level.helper.js +74 -0
  135. package/email-log/utils/pino-transport.utils.d.ts +135 -0
  136. package/email-log/utils/pino-transport.utils.js +238 -0
  137. package/file-upload/controllers/file-access.controller.d.ts +23 -0
  138. package/file-upload/controllers/file-access.controller.js +128 -0
  139. package/file-upload/decorators/column.decorator.d.ts +151 -0
  140. package/file-upload/decorators/column.decorator.js +273 -0
  141. package/file-upload/decorators/csv-data.decorator.d.ts +30 -0
  142. package/file-upload/decorators/csv-data.decorator.js +85 -0
  143. package/file-upload/decorators/csv-import.decorator.d.ts +34 -0
  144. package/file-upload/decorators/csv-import.decorator.js +24 -0
  145. package/file-upload/decorators/examples/column-mapping.example.d.ts +76 -0
  146. package/file-upload/decorators/examples/column-mapping.example.js +122 -0
  147. package/file-upload/decorators/excel-data.decorator.d.ts +30 -0
  148. package/file-upload/decorators/excel-data.decorator.js +85 -0
  149. package/file-upload/decorators/file-upload.decorator.d.ts +83 -0
  150. package/file-upload/decorators/file-upload.decorator.js +172 -0
  151. package/file-upload/decorators/index.d.ts +5 -0
  152. package/file-upload/decorators/index.js +38 -0
  153. package/file-upload/decorators/process.decorator.d.ts +40 -0
  154. package/file-upload/decorators/process.decorator.js +52 -0
  155. package/file-upload/decorators/validate-data.decorator.d.ts +91 -0
  156. package/file-upload/decorators/validate-data.decorator.js +39 -0
  157. package/file-upload/dto/create-file.dto.d.ts +24 -0
  158. package/file-upload/dto/create-file.dto.js +112 -0
  159. package/file-upload/dto/find-files.dto.d.ts +15 -0
  160. package/file-upload/dto/find-files.dto.js +76 -0
  161. package/file-upload/dto/index.d.ts +4 -0
  162. package/file-upload/dto/index.js +20 -0
  163. package/file-upload/dto/pagination.dto.d.ts +7 -0
  164. package/file-upload/dto/pagination.dto.js +39 -0
  165. package/file-upload/dto/update-file.dto.d.ts +15 -0
  166. package/file-upload/dto/update-file.dto.js +67 -0
  167. package/file-upload/entities/file-metadata.entity.d.ts +25 -0
  168. package/file-upload/entities/file-metadata.entity.js +76 -0
  169. package/file-upload/entities/file.entity.d.ts +114 -0
  170. package/file-upload/entities/file.entity.js +350 -0
  171. package/file-upload/entities/index.d.ts +2 -0
  172. package/file-upload/entities/index.js +18 -0
  173. package/file-upload/enums/file-type.enum.d.ts +72 -0
  174. package/file-upload/enums/file-type.enum.js +212 -0
  175. package/file-upload/exceptions/file-upload.exception.d.ts +57 -0
  176. package/file-upload/exceptions/file-upload.exception.js +120 -0
  177. package/file-upload/exceptions/index.d.ts +1 -0
  178. package/file-upload/exceptions/index.js +17 -0
  179. package/file-upload/file-upload.module.d.ts +89 -0
  180. package/file-upload/file-upload.module.js +292 -0
  181. package/file-upload/index.d.ts +37 -0
  182. package/file-upload/index.js +77 -0
  183. package/file-upload/interceptors/file-upload.interceptor.d.ts +101 -0
  184. package/file-upload/interceptors/file-upload.interceptor.js +594 -0
  185. package/file-upload/interceptors/index.d.ts +1 -0
  186. package/file-upload/interceptors/index.js +17 -0
  187. package/file-upload/interfaces/custom-file-type.interface.d.ts +72 -0
  188. package/file-upload/interfaces/custom-file-type.interface.js +2 -0
  189. package/file-upload/interfaces/file-buffer.interface.d.ts +72 -0
  190. package/file-upload/interfaces/file-buffer.interface.js +2 -0
  191. package/file-upload/interfaces/file-entity.interface.d.ts +142 -0
  192. package/file-upload/interfaces/file-entity.interface.js +28 -0
  193. package/file-upload/interfaces/file-metadata.interface.d.ts +21 -0
  194. package/file-upload/interfaces/file-metadata.interface.js +2 -0
  195. package/file-upload/interfaces/file-processor.interface.d.ts +93 -0
  196. package/file-upload/interfaces/file-processor.interface.js +2 -0
  197. package/file-upload/interfaces/file-upload-options.interface.d.ts +74 -0
  198. package/file-upload/interfaces/file-upload-options.interface.js +5 -0
  199. package/file-upload/interfaces/index.d.ts +7 -0
  200. package/file-upload/interfaces/index.js +24 -0
  201. package/file-upload/interfaces/processor-options.interface.d.ts +102 -0
  202. package/file-upload/interfaces/processor-options.interface.js +2 -0
  203. package/file-upload/interfaces/storage-provider.interface.d.ts +239 -0
  204. package/file-upload/interfaces/storage-provider.interface.js +2 -0
  205. package/file-upload/interfaces/upload-options.interface.d.ts +19 -0
  206. package/file-upload/interfaces/upload-options.interface.js +2 -0
  207. package/file-upload/processors/csv.processor.d.ts +98 -0
  208. package/file-upload/processors/csv.processor.js +391 -0
  209. package/file-upload/processors/excel.processor.d.ts +130 -0
  210. package/file-upload/processors/excel.processor.js +547 -0
  211. package/file-upload/processors/image.processor.d.ts +199 -0
  212. package/file-upload/processors/image.processor.js +377 -0
  213. package/file-upload/providers/index.d.ts +2 -0
  214. package/file-upload/providers/index.js +18 -0
  215. package/file-upload/providers/local-storage.provider.d.ts +98 -0
  216. package/file-upload/providers/local-storage.provider.js +484 -0
  217. package/file-upload/providers/s3-storage.provider.d.ts +87 -0
  218. package/file-upload/providers/s3-storage.provider.js +455 -0
  219. package/file-upload/services/file-signature-validator.service.d.ts +118 -0
  220. package/file-upload/services/file-signature-validator.service.js +376 -0
  221. package/file-upload/services/file.service.d.ts +193 -0
  222. package/file-upload/services/file.service.js +638 -0
  223. package/file-upload/services/index.d.ts +4 -0
  224. package/file-upload/services/index.js +20 -0
  225. package/file-upload/services/malicious-file-detector.service.d.ts +300 -0
  226. package/file-upload/services/malicious-file-detector.service.js +1234 -0
  227. package/file-upload/services/mime-registry.service.d.ts +47 -0
  228. package/file-upload/services/mime-registry.service.js +167 -0
  229. package/file-upload/utils/checksum.util.d.ts +28 -0
  230. package/file-upload/utils/checksum.util.js +65 -0
  231. package/file-upload/utils/dynamic-import.util.d.ts +54 -0
  232. package/file-upload/utils/dynamic-import.util.js +156 -0
  233. package/file-upload/utils/filename.util.d.ts +59 -0
  234. package/file-upload/utils/filename.util.js +184 -0
  235. package/file-upload/utils/filepath.util.d.ts +70 -0
  236. package/file-upload/utils/filepath.util.js +152 -0
  237. package/file-upload/utils/index.d.ts +4 -0
  238. package/file-upload/utils/index.js +20 -0
  239. package/filters/bad-request.filter.d.ts +9 -0
  240. package/filters/bad-request.filter.js +57 -16
  241. package/http-client/config/http-client.config.d.ts +5 -0
  242. package/http-client/config/http-client.config.js +27 -14
  243. package/http-client/decorators/http-client.decorators.d.ts +7 -28
  244. package/http-client/decorators/http-client.decorators.js +124 -99
  245. package/http-client/entities/http-log.entity.d.ts +0 -20
  246. package/http-client/entities/http-log.entity.js +1 -21
  247. package/http-client/examples/advanced-usage.example.d.ts +4 -5
  248. package/http-client/examples/advanced-usage.example.js +7 -59
  249. package/http-client/examples/axios-config-extended.example.d.ts +17 -0
  250. package/http-client/examples/axios-config-extended.example.js +311 -0
  251. package/http-client/examples/flexible-response-example.d.ts +28 -0
  252. package/http-client/examples/flexible-response-example.js +120 -0
  253. package/http-client/examples/index.d.ts +2 -0
  254. package/http-client/examples/index.js +2 -0
  255. package/http-client/examples/proxy-from-environment.example.d.ts +133 -0
  256. package/http-client/examples/proxy-from-environment.example.js +409 -0
  257. package/http-client/examples/ssl-certificate.example.d.ts +47 -0
  258. package/http-client/examples/ssl-certificate.example.js +432 -0
  259. package/http-client/http-client.module.d.ts +43 -2
  260. package/http-client/http-client.module.js +150 -90
  261. package/http-client/index.d.ts +1 -1
  262. package/http-client/interfaces/api-client-config.interface.d.ts +24 -103
  263. package/http-client/interfaces/http-client-config.interface.d.ts +137 -62
  264. package/http-client/services/api-client-registry.service.d.ts +8 -21
  265. package/http-client/services/api-client-registry.service.js +31 -282
  266. package/http-client/services/circuit-breaker.service.d.ts +69 -2
  267. package/http-client/services/circuit-breaker.service.js +185 -7
  268. package/http-client/services/http-client.service.d.ts +85 -23
  269. package/http-client/services/http-client.service.js +512 -168
  270. package/http-client/services/http-log-query.service.js +0 -13
  271. package/http-client/services/index.d.ts +0 -1
  272. package/http-client/services/index.js +0 -1
  273. package/http-client/services/logging.service.d.ts +69 -16
  274. package/http-client/services/logging.service.js +290 -170
  275. package/http-client/utils/call-stack-extractor.util.d.ts +26 -0
  276. package/http-client/utils/call-stack-extractor.util.js +35 -0
  277. package/http-client/utils/context-extractor.util.d.ts +2 -0
  278. package/http-client/utils/context-extractor.util.js +17 -3
  279. package/http-client/utils/curl-generator.util.js +2 -5
  280. package/http-client/utils/index.d.ts +2 -0
  281. package/http-client/utils/index.js +2 -0
  282. package/http-client/utils/proxy-environment.util.d.ts +42 -0
  283. package/http-client/utils/proxy-environment.util.js +154 -0
  284. package/http-client/utils/retry-recorder.util.d.ts +0 -4
  285. package/http-client/utils/retry-recorder.util.js +2 -27
  286. package/http-client/utils/sanitize.util.d.ts +58 -0
  287. package/http-client/utils/sanitize.util.js +188 -0
  288. package/http-client/utils/security-validator.util.d.ts +118 -0
  289. package/http-client/utils/security-validator.util.js +354 -0
  290. package/index.d.ts +4 -1
  291. package/index.js +6 -1
  292. package/interceptors/translation-interceptor.service.d.ts +7 -0
  293. package/interceptors/translation-interceptor.service.js +40 -8
  294. package/ip-filter/constants.d.ts +21 -0
  295. package/ip-filter/constants.js +24 -0
  296. package/ip-filter/decorators/index.d.ts +1 -0
  297. package/ip-filter/decorators/index.js +17 -0
  298. package/ip-filter/decorators/ip-filter.decorator.d.ts +58 -0
  299. package/ip-filter/decorators/ip-filter.decorator.js +79 -0
  300. package/ip-filter/guards/index.d.ts +1 -0
  301. package/ip-filter/guards/index.js +17 -0
  302. package/ip-filter/guards/ip-filter.guard.d.ts +62 -0
  303. package/ip-filter/guards/ip-filter.guard.js +174 -0
  304. package/ip-filter/index.d.ts +7 -0
  305. package/ip-filter/index.js +23 -0
  306. package/ip-filter/interfaces/index.d.ts +4 -0
  307. package/ip-filter/interfaces/index.js +20 -0
  308. package/ip-filter/interfaces/ip-filter-async-options.interface.d.ts +15 -0
  309. package/ip-filter/interfaces/ip-filter-async-options.interface.js +2 -0
  310. package/ip-filter/interfaces/ip-filter-metadata.interface.d.ts +26 -0
  311. package/ip-filter/interfaces/ip-filter-metadata.interface.js +2 -0
  312. package/ip-filter/interfaces/ip-filter-options.interface.d.ts +34 -0
  313. package/ip-filter/interfaces/ip-filter-options.interface.js +2 -0
  314. package/ip-filter/interfaces/ip-rule.interface.d.ts +36 -0
  315. package/ip-filter/interfaces/ip-rule.interface.js +2 -0
  316. package/ip-filter/ip-filter.module.d.ts +55 -0
  317. package/ip-filter/ip-filter.module.js +105 -0
  318. package/ip-filter/services/index.d.ts +1 -0
  319. package/ip-filter/services/index.js +17 -0
  320. package/ip-filter/services/ip-filter.service.d.ts +92 -0
  321. package/ip-filter/services/ip-filter.service.js +238 -0
  322. package/ip-filter/utils/index.d.ts +1 -0
  323. package/ip-filter/utils/index.js +17 -0
  324. package/ip-filter/utils/ip-utils.d.ts +61 -0
  325. package/ip-filter/utils/ip-utils.js +162 -0
  326. package/package.json +34 -29
  327. package/providers/context.provider.d.ts +9 -0
  328. package/providers/context.provider.js +13 -0
  329. package/redis-lock/comprehensive-lock-cleanup.service.d.ts +94 -0
  330. package/redis-lock/comprehensive-lock-cleanup.service.js +253 -0
  331. package/redis-lock/index.d.ts +2 -0
  332. package/redis-lock/index.js +5 -1
  333. package/redis-lock/lock-heartbeat.service.d.ts +80 -0
  334. package/redis-lock/lock-heartbeat.service.js +232 -0
  335. package/redis-lock/redis-lock.module.d.ts +6 -0
  336. package/redis-lock/redis-lock.module.js +136 -77
  337. package/redis-lock/redis-lock.service.d.ts +31 -0
  338. package/redis-lock/redis-lock.service.js +124 -17
  339. package/setup/bootstrap.setup.d.ts +2 -1
  340. package/setup/bootstrap.setup.js +3 -2
  341. package/setup/index.d.ts +1 -0
  342. package/setup/index.js +1 -0
  343. package/setup/run-in-mode.decorator.d.ts +56 -0
  344. package/setup/run-in-mode.decorator.js +92 -0
  345. package/setup/schedule.decorator.d.ts +1 -0
  346. package/setup/schedule.decorator.js +28 -13
  347. package/setup/worker.decorator.js +10 -1
  348. package/shared/index.d.ts +1 -1
  349. package/shared/index.js +1 -1
  350. package/shared/{serviceRegistryModule.js → service-registry.module.js} +28 -17
  351. package/shared/services/api-config.service.d.ts +41 -0
  352. package/shared/services/api-config.service.js +166 -8
  353. package/shared/services/index.d.ts +0 -1
  354. package/shared/services/index.js +0 -1
  355. package/validators/custom-validate.validator.d.ts +1 -0
  356. package/validators/custom-validate.validator.js +1 -0
  357. package/validators/file-mimetype.validator.d.ts +0 -2
  358. package/validators/file-mimetype.validator.js +4 -6
  359. package/validators/is-exists.validator.d.ts +15 -6
  360. package/validators/is-exists.validator.js +8 -7
  361. package/validators/is-unique.validator.d.ts +22 -7
  362. package/validators/is-unique.validator.js +41 -17
  363. package/vault/vault-config.service.js +1 -1
  364. package/cache/providers/memory-cache.provider.d.ts +0 -49
  365. package/cache/providers/memory-cache.provider.js +0 -197
  366. package/http-client/services/cache.service.d.ts +0 -76
  367. package/http-client/services/cache.service.js +0 -333
  368. package/shared/services/validator.service.d.ts +0 -3
  369. package/shared/services/validator.service.js +0 -20
  370. /package/shared/{serviceRegistryModule.d.ts → service-registry.module.d.ts} +0 -0
@@ -3,3 +3,6 @@ export * from './audit-strategy.service';
3
3
  export * from './entity-audit.service';
4
4
  export * from './transaction-audit.service';
5
5
  export * from './multi-database.service';
6
+ export * from './operation-description.service';
7
+ export * from './manual-audit-log.service';
8
+ export * from './audit-action.service';
@@ -19,3 +19,6 @@ __exportStar(require("./audit-strategy.service"), exports);
19
19
  __exportStar(require("./entity-audit.service"), exports);
20
20
  __exportStar(require("./transaction-audit.service"), exports);
21
21
  __exportStar(require("./multi-database.service"), exports);
22
+ __exportStar(require("./operation-description.service"), exports);
23
+ __exportStar(require("./manual-audit-log.service"), exports);
24
+ __exportStar(require("./audit-action.service"), exports);
@@ -2,20 +2,20 @@ import { Repository, DataSource } from 'typeorm';
2
2
  import { ManualOperationLogEntity, EntityTransactionEntity } from '../entities';
3
3
  import { AuditContextService } from './audit-context.service';
4
4
  import { ManualLogOptions } from '../interfaces';
5
+ import { AuditTransactionStatus } from '../enums';
5
6
  /**
6
7
  * 手动审计日志服务
7
8
  *
8
- * 提供全局静态方法,在任意地方手动记录操作日志
9
+ * 提供标准的依赖注入方式记录操作日志
9
10
  */
10
11
  export declare class ManualAuditLogService {
11
12
  private readonly manualLogRepository;
12
13
  private readonly transactionRepository;
13
14
  private readonly contextService;
14
15
  private readonly dataSource;
15
- private static instance;
16
16
  constructor(manualLogRepository: Repository<ManualOperationLogEntity>, transactionRepository: Repository<EntityTransactionEntity>, contextService: AuditContextService, dataSource: DataSource);
17
17
  /**
18
- * 全局静态方法:记录操作日志
18
+ * 记录操作日志
19
19
  *
20
20
  * @description
21
21
  * 支持三种记录模式:
@@ -25,7 +25,7 @@ export declare class ManualAuditLogService {
25
25
  *
26
26
  * @example
27
27
  * // 模式1:模板键模式
28
- * await ManualAuditLogService.log({
28
+ * await this.manualAuditLogService.log({
29
29
  * templateKey: 'user.login',
30
30
  * descriptionParams: {
31
31
  * username: 'john.doe',
@@ -35,13 +35,13 @@ export declare class ManualAuditLogService {
35
35
  *
36
36
  * @example
37
37
  * // 模式2:直接描述模式(字符串)
38
- * await ManualAuditLogService.log({
38
+ * await this.manualAuditLogService.log({
39
39
  * description: '用户登录系统',
40
40
  * });
41
41
  *
42
42
  * @example
43
43
  * // 模式2:直接描述模式(多语言)
44
- * await ManualAuditLogService.log({
44
+ * await this.manualAuditLogService.log({
45
45
  * description: {
46
46
  * zh: '用户登录系统',
47
47
  * en: 'User logged in',
@@ -50,7 +50,7 @@ export declare class ManualAuditLogService {
50
50
  *
51
51
  * @example
52
52
  * // 模式3:内联模板模式
53
- * await ManualAuditLogService.log({
53
+ * await this.manualAuditLogService.log({
54
54
  * descriptionTemplate: {
55
55
  * zh: '用户 {username} 在 {time} 登录了系统',
56
56
  * en: 'User {username} logged in at {time}',
@@ -61,52 +61,52 @@ export declare class ManualAuditLogService {
61
61
  * },
62
62
  * });
63
63
  */
64
- static log(options: ManualLogOptions): Promise<ManualOperationLogEntity>;
64
+ log(options: ManualLogOptions): Promise<ManualOperationLogEntity>;
65
65
  /**
66
66
  * 实例方法:记录操作日志
67
67
  */
68
68
  logOperation(options: ManualLogOptions): Promise<ManualOperationLogEntity>;
69
69
  /**
70
- * 静态方法:带事务记录
70
+ * 开始事务
71
71
  *
72
72
  * @example
73
73
  * ```typescript
74
- * const txId = await ManualAuditLogService.beginTransaction('user-123', 'John Doe');
74
+ * const txId = await this.manualAuditLogService.beginTransaction('user-123', 'John Doe');
75
75
  *
76
- * await ManualAuditLogService.log({
76
+ * await this.manualAuditLogService.log({
77
77
  * templateKey: 'order.create',
78
78
  * descriptionParams: { orderId: 'order-1' },
79
79
  * transactionId: txId,
80
80
  * autoCreateTransaction: false,
81
81
  * });
82
82
  *
83
- * await ManualAuditLogService.log({
83
+ * await this.manualAuditLogService.log({
84
84
  * templateKey: 'payment.process',
85
85
  * descriptionParams: { paymentId: 'pay-1' },
86
86
  * transactionId: txId,
87
87
  * autoCreateTransaction: false,
88
88
  * });
89
89
  *
90
- * await ManualAuditLogService.commitTransaction(txId);
90
+ * await this.manualAuditLogService.commitTransaction(txId);
91
91
  * ```
92
92
  */
93
- static beginTransaction(userId?: string, username?: string): Promise<string>;
93
+ beginTransaction(userId?: string, username?: string): Promise<string>;
94
94
  /**
95
- * 静态方法:提交事务
95
+ * 提交事务
96
96
  */
97
- static commitTransaction(transactionId: string): Promise<void>;
97
+ commitTransaction(transactionId: string): Promise<void>;
98
98
  /**
99
- * 静态方法:回滚事务
99
+ * 回滚事务
100
100
  */
101
- static rollbackTransaction(transactionId: string): Promise<void>;
101
+ rollbackTransaction(transactionId: string): Promise<void>;
102
102
  /**
103
103
  * 创建事务
104
104
  */
105
- private createTransaction;
105
+ createTransaction(userId?: string, username?: string): Promise<string>;
106
106
  /**
107
107
  * 更新事务状态
108
108
  */
109
- private updateTransactionStatus;
109
+ updateTransactionStatus(transactionId: string, status: AuditTransactionStatus): Promise<void>;
110
110
  /**
111
111
  * 生成事务ID
112
112
  */
@@ -120,7 +120,7 @@ export declare class ManualAuditLogService {
120
120
  * @example
121
121
  * ```typescript
122
122
  * // 混合使用多种模式
123
- * await ManualAuditLogService.logBatch([
123
+ * await this.manualAuditLogService.logBatch([
124
124
  * {
125
125
  * templateKey: 'product.update',
126
126
  * descriptionParams: { productId: 'p1', field: 'price' },
@@ -138,11 +138,11 @@ export declare class ManualAuditLogService {
138
138
  * ]);
139
139
  * ```
140
140
  */
141
- static logBatch(operations: ManualLogOptions[], sharedTransactionId?: string): Promise<ManualOperationLogEntity[]>;
141
+ logBatch(operations: ManualLogOptions[], sharedTransactionId?: string): Promise<ManualOperationLogEntity[]>;
142
142
  /**
143
143
  * 查询操作日志
144
144
  */
145
- static findLogs(options: {
145
+ findLogs(options: {
146
146
  templateKey?: string;
147
147
  userId?: string;
148
148
  transactionId?: string;
@@ -20,7 +20,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
20
20
  step((generator = generator.apply(thisArg, _arguments || [])).next());
21
21
  });
22
22
  };
23
- var ManualAuditLogService_1;
24
23
  Object.defineProperty(exports, "__esModule", { value: true });
25
24
  exports.ManualAuditLogService = void 0;
26
25
  const common_1 = require("@nestjs/common");
@@ -33,19 +32,17 @@ const crypto_1 = require("crypto");
33
32
  /**
34
33
  * 手动审计日志服务
35
34
  *
36
- * 提供全局静态方法,在任意地方手动记录操作日志
35
+ * 提供标准的依赖注入方式记录操作日志
37
36
  */
38
- let ManualAuditLogService = ManualAuditLogService_1 = class ManualAuditLogService {
37
+ let ManualAuditLogService = class ManualAuditLogService {
39
38
  constructor(manualLogRepository, transactionRepository, contextService, dataSource) {
40
39
  this.manualLogRepository = manualLogRepository;
41
40
  this.transactionRepository = transactionRepository;
42
41
  this.contextService = contextService;
43
42
  this.dataSource = dataSource;
44
- // 设置静态实例
45
- ManualAuditLogService_1.instance = this;
46
43
  }
47
44
  /**
48
- * 全局静态方法:记录操作日志
45
+ * 记录操作日志
49
46
  *
50
47
  * @description
51
48
  * 支持三种记录模式:
@@ -55,7 +52,7 @@ let ManualAuditLogService = ManualAuditLogService_1 = class ManualAuditLogServic
55
52
  *
56
53
  * @example
57
54
  * // 模式1:模板键模式
58
- * await ManualAuditLogService.log({
55
+ * await this.manualAuditLogService.log({
59
56
  * templateKey: 'user.login',
60
57
  * descriptionParams: {
61
58
  * username: 'john.doe',
@@ -65,13 +62,13 @@ let ManualAuditLogService = ManualAuditLogService_1 = class ManualAuditLogServic
65
62
  *
66
63
  * @example
67
64
  * // 模式2:直接描述模式(字符串)
68
- * await ManualAuditLogService.log({
65
+ * await this.manualAuditLogService.log({
69
66
  * description: '用户登录系统',
70
67
  * });
71
68
  *
72
69
  * @example
73
70
  * // 模式2:直接描述模式(多语言)
74
- * await ManualAuditLogService.log({
71
+ * await this.manualAuditLogService.log({
75
72
  * description: {
76
73
  * zh: '用户登录系统',
77
74
  * en: 'User logged in',
@@ -80,7 +77,7 @@ let ManualAuditLogService = ManualAuditLogService_1 = class ManualAuditLogServic
80
77
  *
81
78
  * @example
82
79
  * // 模式3:内联模板模式
83
- * await ManualAuditLogService.log({
80
+ * await this.manualAuditLogService.log({
84
81
  * descriptionTemplate: {
85
82
  * zh: '用户 {username} 在 {time} 登录了系统',
86
83
  * en: 'User {username} logged in at {time}',
@@ -91,12 +88,9 @@ let ManualAuditLogService = ManualAuditLogService_1 = class ManualAuditLogServic
91
88
  * },
92
89
  * });
93
90
  */
94
- static log(options) {
91
+ log(options) {
95
92
  return __awaiter(this, void 0, void 0, function* () {
96
- if (!ManualAuditLogService_1.instance) {
97
- throw new Error('ManualAuditLogService is not initialized. Make sure AuditModule is imported.');
98
- }
99
- return ManualAuditLogService_1.instance.logOperation(options);
93
+ return this.logOperation(options);
100
94
  });
101
95
  }
102
96
  /**
@@ -104,7 +98,7 @@ let ManualAuditLogService = ManualAuditLogService_1 = class ManualAuditLogServic
104
98
  */
105
99
  logOperation(options) {
106
100
  return __awaiter(this, void 0, void 0, function* () {
107
- const { templateKey, description, descriptionTemplate, descriptionParams, userId, username, requestIp, rollbackActions, transactionId, autoCreateTransaction = true, } = options;
101
+ const { templateKey, description, descriptionTemplate, descriptionParams, userId, username, requestIp, transactionId, autoCreateTransaction = true, } = options;
108
102
  // 验证参数:至少提供一种模式
109
103
  if (!templateKey && !description && !descriptionTemplate) {
110
104
  throw new Error('ManualAuditLogService.log() requires one of: templateKey, description, or descriptionTemplate');
@@ -140,63 +134,53 @@ let ManualAuditLogService = ManualAuditLogService_1 = class ManualAuditLogServic
140
134
  userId: finalUserId,
141
135
  username: finalUsername,
142
136
  requestIp: finalRequestIp,
143
- rollbackActions: rollbackActions || [],
144
137
  });
145
138
  return this.manualLogRepository.save(manualLog);
146
139
  });
147
140
  }
148
141
  /**
149
- * 静态方法:带事务记录
142
+ * 开始事务
150
143
  *
151
144
  * @example
152
145
  * ```typescript
153
- * const txId = await ManualAuditLogService.beginTransaction('user-123', 'John Doe');
146
+ * const txId = await this.manualAuditLogService.beginTransaction('user-123', 'John Doe');
154
147
  *
155
- * await ManualAuditLogService.log({
148
+ * await this.manualAuditLogService.log({
156
149
  * templateKey: 'order.create',
157
150
  * descriptionParams: { orderId: 'order-1' },
158
151
  * transactionId: txId,
159
152
  * autoCreateTransaction: false,
160
153
  * });
161
154
  *
162
- * await ManualAuditLogService.log({
155
+ * await this.manualAuditLogService.log({
163
156
  * templateKey: 'payment.process',
164
157
  * descriptionParams: { paymentId: 'pay-1' },
165
158
  * transactionId: txId,
166
159
  * autoCreateTransaction: false,
167
160
  * });
168
161
  *
169
- * await ManualAuditLogService.commitTransaction(txId);
162
+ * await this.manualAuditLogService.commitTransaction(txId);
170
163
  * ```
171
164
  */
172
- static beginTransaction(userId, username) {
165
+ beginTransaction(userId, username) {
173
166
  return __awaiter(this, void 0, void 0, function* () {
174
- if (!ManualAuditLogService_1.instance) {
175
- throw new Error('ManualAuditLogService is not initialized');
176
- }
177
- return ManualAuditLogService_1.instance.createTransaction(userId, username);
167
+ return this.createTransaction(userId, username);
178
168
  });
179
169
  }
180
170
  /**
181
- * 静态方法:提交事务
171
+ * 提交事务
182
172
  */
183
- static commitTransaction(transactionId) {
173
+ commitTransaction(transactionId) {
184
174
  return __awaiter(this, void 0, void 0, function* () {
185
- if (!ManualAuditLogService_1.instance) {
186
- throw new Error('ManualAuditLogService is not initialized');
187
- }
188
- yield ManualAuditLogService_1.instance.updateTransactionStatus(transactionId, enums_1.TransactionStatus.COMMITTED);
175
+ yield this.updateTransactionStatus(transactionId, enums_1.AuditTransactionStatus.COMMITTED);
189
176
  });
190
177
  }
191
178
  /**
192
- * 静态方法:回滚事务
179
+ * 回滚事务
193
180
  */
194
- static rollbackTransaction(transactionId) {
181
+ rollbackTransaction(transactionId) {
195
182
  return __awaiter(this, void 0, void 0, function* () {
196
- if (!ManualAuditLogService_1.instance) {
197
- throw new Error('ManualAuditLogService is not initialized');
198
- }
199
- yield ManualAuditLogService_1.instance.updateTransactionStatus(transactionId, enums_1.TransactionStatus.ROLLED_BACK);
183
+ yield this.updateTransactionStatus(transactionId, enums_1.AuditTransactionStatus.ROLLED_BACK);
200
184
  });
201
185
  }
202
186
  /**
@@ -210,7 +194,7 @@ let ManualAuditLogService = ManualAuditLogService_1 = class ManualAuditLogServic
210
194
  userId: userId || context.userId || 'system',
211
195
  username: username || context.username || 'system',
212
196
  requestIp: context.requestIp || 'unknown',
213
- status: enums_1.TransactionStatus.PENDING,
197
+ status: enums_1.AuditTransactionStatus.PENDING,
214
198
  entities: [],
215
199
  });
216
200
  const saved = yield this.transactionRepository.save(transaction);
@@ -240,7 +224,7 @@ let ManualAuditLogService = ManualAuditLogService_1 = class ManualAuditLogServic
240
224
  * @example
241
225
  * ```typescript
242
226
  * // 混合使用多种模式
243
- * await ManualAuditLogService.logBatch([
227
+ * await this.manualAuditLogService.logBatch([
244
228
  * {
245
229
  * templateKey: 'product.update',
246
230
  * descriptionParams: { productId: 'p1', field: 'price' },
@@ -258,22 +242,18 @@ let ManualAuditLogService = ManualAuditLogService_1 = class ManualAuditLogServic
258
242
  * ]);
259
243
  * ```
260
244
  */
261
- static logBatch(operations, sharedTransactionId) {
245
+ logBatch(operations, sharedTransactionId) {
262
246
  return __awaiter(this, void 0, void 0, function* () {
263
- if (!ManualAuditLogService_1.instance) {
264
- throw new Error('ManualAuditLogService is not initialized');
265
- }
266
247
  // 创建共享事务ID
267
- const transactionId = sharedTransactionId ||
268
- (yield ManualAuditLogService_1.instance.createTransaction());
248
+ const transactionId = sharedTransactionId || (yield this.createTransaction());
269
249
  const results = [];
270
250
  for (const operation of operations) {
271
- const result = yield ManualAuditLogService_1.instance.logOperation(Object.assign(Object.assign({}, operation), { transactionId, autoCreateTransaction: false }));
251
+ const result = yield this.logOperation(Object.assign(Object.assign({}, operation), { transactionId, autoCreateTransaction: false }));
272
252
  results.push(result);
273
253
  }
274
254
  // 自动提交事务(如果是自动创建的)
275
255
  if (!sharedTransactionId) {
276
- yield ManualAuditLogService_1.instance.updateTransactionStatus(transactionId, enums_1.TransactionStatus.COMMITTED);
256
+ yield this.updateTransactionStatus(transactionId, enums_1.AuditTransactionStatus.COMMITTED);
277
257
  }
278
258
  return results;
279
259
  });
@@ -281,13 +261,10 @@ let ManualAuditLogService = ManualAuditLogService_1 = class ManualAuditLogServic
281
261
  /**
282
262
  * 查询操作日志
283
263
  */
284
- static findLogs(options) {
264
+ findLogs(options) {
285
265
  return __awaiter(this, void 0, void 0, function* () {
286
- if (!ManualAuditLogService_1.instance) {
287
- throw new Error('ManualAuditLogService is not initialized');
288
- }
289
266
  const { templateKey, userId, transactionId, startTime, endTime, limit = 100 } = options;
290
- const query = ManualAuditLogService_1.instance.manualLogRepository
267
+ const query = this.manualLogRepository
291
268
  .createQueryBuilder('log')
292
269
  .orderBy('log.createdAt', 'DESC')
293
270
  .take(limit);
@@ -311,10 +288,10 @@ let ManualAuditLogService = ManualAuditLogService_1 = class ManualAuditLogServic
311
288
  }
312
289
  };
313
290
  exports.ManualAuditLogService = ManualAuditLogService;
314
- exports.ManualAuditLogService = ManualAuditLogService = ManualAuditLogService_1 = __decorate([
291
+ exports.ManualAuditLogService = ManualAuditLogService = __decorate([
315
292
  (0, common_1.Injectable)(),
316
- __param(0, (0, typeorm_1.InjectRepository)(entities_1.ManualOperationLogEntity, 'audit')),
317
- __param(1, (0, typeorm_1.InjectRepository)(entities_1.EntityTransactionEntity, 'audit')),
293
+ __param(0, (0, typeorm_1.InjectRepository)(entities_1.ManualOperationLogEntity)),
294
+ __param(1, (0, typeorm_1.InjectRepository)(entities_1.EntityTransactionEntity)),
318
295
  __metadata("design:paramtypes", [typeorm_2.Repository,
319
296
  typeorm_2.Repository,
320
297
  audit_context_service_1.AuditContextService,
@@ -1,4 +1,3 @@
1
- import { DataSource } from 'typeorm';
2
1
  import { ModuleRef } from '@nestjs/core';
3
2
  /**
4
3
  * 多数据库连接管理服务
@@ -7,10 +6,6 @@ export declare class MultiDatabaseService {
7
6
  private readonly moduleRef;
8
7
  private readonly config?;
9
8
  constructor(moduleRef: ModuleRef, config?: any);
10
- /**
11
- * 获取指定连接的 DataSource
12
- */
13
- getDataSource(connectionName?: string): Promise<DataSource>;
14
9
  /**
15
10
  * 获取所有监听的数据库连接
16
11
  */
@@ -11,19 +11,9 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  return function (target, key) { decorator(target, key, paramIndex); }
13
13
  };
14
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
- return new (P || (P = Promise))(function (resolve, reject) {
17
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
- step((generator = generator.apply(thisArg, _arguments || [])).next());
21
- });
22
- };
23
14
  Object.defineProperty(exports, "__esModule", { value: true });
24
15
  exports.MultiDatabaseService = void 0;
25
16
  const common_1 = require("@nestjs/common");
26
- const typeorm_1 = require("@nestjs/typeorm");
27
17
  const core_1 = require("@nestjs/core");
28
18
  /**
29
19
  * 多数据库连接管理服务
@@ -33,20 +23,6 @@ let MultiDatabaseService = class MultiDatabaseService {
33
23
  this.moduleRef = moduleRef;
34
24
  this.config = config;
35
25
  }
36
- /**
37
- * 获取指定连接的 DataSource
38
- */
39
- getDataSource() {
40
- return __awaiter(this, arguments, void 0, function* (connectionName = 'default') {
41
- try {
42
- const dataSource = this.moduleRef.get((0, typeorm_1.getDataSourceToken)(connectionName), { strict: false });
43
- return dataSource;
44
- }
45
- catch (error) {
46
- throw new Error(`Failed to get DataSource for connection: ${connectionName}`);
47
- }
48
- });
49
- }
50
26
  /**
51
27
  * 获取所有监听的数据库连接
52
28
  */
@@ -1,6 +1,7 @@
1
1
  import { Repository } from 'typeorm';
2
2
  import { OperationTemplateEntity, EntityTransactionEntity, EntityAuditLogEntity, ManualOperationLogEntity } from '../entities';
3
3
  import { ChangeDetail, TransactionDescription } from '../interfaces';
4
+ import { CacheService } from '../../cache';
4
5
  /**
5
6
  * 操作描述服务
6
7
  * 负责根据模板和参数动态生成多语言描述
@@ -10,8 +11,11 @@ export declare class OperationDescriptionService {
10
11
  private readonly transactionRepository;
11
12
  private readonly auditLogRepository;
12
13
  private readonly manualOperationRepository;
13
- private templateCache;
14
- constructor(templateRepository: Repository<OperationTemplateEntity>, transactionRepository: Repository<EntityTransactionEntity>, auditLogRepository: Repository<EntityAuditLogEntity>, manualOperationRepository: Repository<ManualOperationLogEntity>);
14
+ private readonly cacheService;
15
+ private readonly logger;
16
+ private readonly CACHE_NAMESPACE;
17
+ private readonly CACHE_TTL;
18
+ constructor(templateRepository: Repository<OperationTemplateEntity>, transactionRepository: Repository<EntityTransactionEntity>, auditLogRepository: Repository<EntityAuditLogEntity>, manualOperationRepository: Repository<ManualOperationLogEntity>, cacheService: CacheService);
15
19
  /**
16
20
  * 动态生成操作名称
17
21
  * @param templateKey 模板键
@@ -63,11 +67,18 @@ export declare class OperationDescriptionService {
63
67
  */
64
68
  private formatDisplayValue;
65
69
  /**
66
- * 获取操作模板(带缓存)
70
+ * 获取操作模板(使用统一缓存服务)
67
71
  * @param templateKey 模板键
68
72
  * @returns 操作模板
69
73
  */
70
74
  private getOperationTemplate;
75
+ /**
76
+ * 获取模板字符串(仅返回模板文本,不填充参数)
77
+ * @param templateKey 模板键
78
+ * @param language 语言
79
+ * @returns 模板字符串
80
+ */
81
+ getTemplate(templateKey: string, language?: string): Promise<string | null>;
71
82
  /**
72
83
  * 清除模板缓存
73
84
  */