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

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 (441) hide show
  1. package/audit/audit.module.d.ts +11 -0
  2. package/audit/audit.module.js +65 -1
  3. package/audit/controllers/audit.controller.d.ts +81 -1
  4. package/audit/controllers/audit.controller.js +67 -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 +38 -0
  10. package/audit/decorators/audit-operation.decorator.js +42 -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-action-query.dto.d.ts +13 -0
  16. package/audit/dto/audit-action-query.dto.js +77 -0
  17. package/audit/dto/audit-log-query.dto.d.ts +3 -0
  18. package/audit/dto/audit-log-query.dto.js +3 -0
  19. package/audit/dto/begin-transaction.dto.d.ts +3 -0
  20. package/audit/dto/begin-transaction.dto.js +3 -0
  21. package/audit/dto/compare-entities.dto.d.ts +3 -0
  22. package/audit/dto/compare-entities.dto.js +3 -0
  23. package/audit/dto/index.d.ts +1 -0
  24. package/audit/dto/index.js +1 -0
  25. package/audit/dto/pre-check-restore.dto.d.ts +3 -0
  26. package/audit/dto/pre-check-restore.dto.js +3 -0
  27. package/audit/dto/restore-entity.dto.d.ts +3 -0
  28. package/audit/dto/restore-entity.dto.js +3 -0
  29. package/audit/entities/audit-action-summary.entity.d.ts +23 -0
  30. package/audit/entities/audit-action-summary.entity.js +101 -0
  31. package/audit/entities/entity-audit-log.entity.d.ts +10 -2
  32. package/audit/entities/entity-audit-log.entity.js +48 -9
  33. package/audit/entities/entity-transaction.entity.d.ts +11 -2
  34. package/audit/entities/entity-transaction.entity.js +42 -3
  35. package/audit/entities/index.d.ts +3 -0
  36. package/audit/entities/index.js +3 -0
  37. package/audit/entities/manual-operation-log.entity.d.ts +4 -2
  38. package/audit/entities/manual-operation-log.entity.js +12 -9
  39. package/audit/entities/operation-template.entity.d.ts +4 -0
  40. package/audit/entities/operation-template.entity.js +4 -0
  41. package/audit/enums/audit.enums.d.ts +29 -6
  42. package/audit/enums/audit.enums.js +31 -7
  43. package/audit/examples/decorator-value-mapping.example.d.ts +70 -0
  44. package/audit/examples/decorator-value-mapping.example.js +414 -0
  45. package/audit/index.d.ts +5 -1
  46. package/audit/index.js +38 -1
  47. package/audit/interceptors/audit-action.interceptor.d.ts +38 -0
  48. package/audit/interceptors/audit-action.interceptor.js +215 -0
  49. package/audit/interceptors/audit.interceptor.d.ts +16 -0
  50. package/audit/interceptors/audit.interceptor.js +41 -11
  51. package/audit/interceptors/index.d.ts +1 -0
  52. package/audit/interceptors/index.js +1 -0
  53. package/audit/interfaces/audit.interfaces.d.ts +174 -4
  54. package/audit/services/audit-action.service.d.ts +141 -0
  55. package/audit/services/audit-action.service.js +244 -0
  56. package/audit/services/audit-context.service.d.ts +106 -0
  57. package/audit/services/audit-context.service.js +185 -0
  58. package/audit/services/audit-strategy.service.d.ts +6 -0
  59. package/audit/services/audit-strategy.service.js +13 -0
  60. package/audit/services/entity-audit.service.d.ts +273 -5
  61. package/audit/services/entity-audit.service.js +840 -60
  62. package/audit/services/index.d.ts +3 -0
  63. package/audit/services/index.js +3 -0
  64. package/audit/services/manual-audit-log.service.d.ts +133 -9
  65. package/audit/services/manual-audit-log.service.js +157 -42
  66. package/audit/services/multi-database.service.d.ts +9 -2
  67. package/audit/services/multi-database.service.js +9 -21
  68. package/audit/services/operation-description.service.d.ts +71 -2
  69. package/audit/services/operation-description.service.js +231 -20
  70. package/audit/services/transaction-audit.service.d.ts +30 -0
  71. package/audit/services/transaction-audit.service.js +53 -5
  72. package/audit/subscribers/entity-audit.subscriber.d.ts +20 -0
  73. package/audit/subscribers/entity-audit.subscriber.js +98 -6
  74. package/cache/cache-metrics.service.d.ts +67 -0
  75. package/cache/cache-metrics.service.js +68 -4
  76. package/cache/cache-serialization.service.d.ts +31 -0
  77. package/cache/cache-serialization.service.js +25 -0
  78. package/cache/cache.constants.d.ts +9 -0
  79. package/cache/cache.constants.js +9 -0
  80. package/cache/cache.health.d.ts +26 -0
  81. package/cache/cache.health.js +30 -0
  82. package/cache/cache.module.d.ts +87 -2
  83. package/cache/cache.module.js +84 -11
  84. package/cache/cache.service.d.ts +143 -3
  85. package/cache/cache.service.js +173 -4
  86. package/cache/cache.warmup.service.d.ts +39 -0
  87. package/cache/cache.warmup.service.js +32 -0
  88. package/cache/decorators/cache-evict.decorator.d.ts +47 -0
  89. package/cache/decorators/cache-evict.decorator.js +56 -0
  90. package/cache/decorators/cache-put.decorator.d.ts +34 -0
  91. package/cache/decorators/cache-put.decorator.js +39 -0
  92. package/cache/decorators/cacheable.decorator.d.ts +40 -0
  93. package/cache/decorators/cacheable.decorator.js +55 -0
  94. package/cache/dependencies/callback.dependency.d.ts +33 -0
  95. package/cache/dependencies/callback.dependency.js +39 -1
  96. package/cache/dependencies/chain.dependency.d.ts +28 -0
  97. package/cache/dependencies/chain.dependency.js +34 -0
  98. package/cache/dependencies/db.dependency.d.ts +83 -7
  99. package/cache/dependencies/db.dependency.js +89 -14
  100. package/cache/dependencies/file.dependency.d.ts +32 -0
  101. package/cache/dependencies/file.dependency.js +34 -0
  102. package/cache/dependencies/tag.dependency.d.ts +75 -4
  103. package/cache/dependencies/tag.dependency.js +145 -11
  104. package/cache/dependencies/time.dependency.d.ts +43 -0
  105. package/cache/dependencies/time.dependency.js +43 -0
  106. package/cache/entities/index.d.ts +1 -0
  107. package/cache/entities/index.js +17 -0
  108. package/cache/entities/typeorm-cache.entity.d.ts +71 -0
  109. package/cache/entities/typeorm-cache.entity.js +110 -0
  110. package/cache/examples/basic-usage.d.ts +15 -0
  111. package/cache/examples/basic-usage.js +62 -8
  112. package/cache/index.d.ts +2 -1
  113. package/cache/index.js +28 -2
  114. package/cache/interfaces/cache-dependency.interface.d.ts +53 -0
  115. package/cache/interfaces/cache-options.interface.d.ts +89 -0
  116. package/cache/interfaces/cache-options.interface.js +6 -0
  117. package/cache/interfaces/cache-provider.interface.d.ts +78 -0
  118. package/cache/providers/base-cache.provider.d.ts +14 -0
  119. package/cache/providers/base-cache.provider.js +16 -0
  120. package/cache/providers/cls-cache.provider.d.ts +20 -0
  121. package/cache/providers/cls-cache.provider.js +28 -0
  122. package/cache/providers/index.d.ts +2 -1
  123. package/cache/providers/index.js +2 -1
  124. package/cache/providers/lrucache.provider.d.ts +76 -0
  125. package/cache/providers/lrucache.provider.js +226 -0
  126. package/cache/providers/redis-cache.provider.d.ts +26 -0
  127. package/cache/providers/redis-cache.provider.js +29 -0
  128. package/cache/providers/typeorm-cache.provider.d.ts +211 -0
  129. package/cache/providers/typeorm-cache.provider.js +483 -0
  130. package/cache/utils/dependency-manager.util.d.ts +52 -0
  131. package/cache/utils/dependency-manager.util.js +59 -0
  132. package/cache/utils/key-generator.util.d.ts +42 -0
  133. package/cache/utils/key-generator.util.js +53 -1
  134. package/common/abstract.entity.d.ts +14 -0
  135. package/common/abstract.entity.js +14 -0
  136. package/common/boilerplate.polyfill.d.ts +143 -0
  137. package/common/boilerplate.polyfill.js +35 -1
  138. package/common/dto/dto-container.d.ts +16 -0
  139. package/common/dto/dto-container.js +20 -0
  140. package/common/dto/dto-decorators.d.ts +18 -0
  141. package/common/dto/dto-decorators.js +14 -0
  142. package/common/dto/dto-extensions.d.ts +11 -0
  143. package/common/dto/dto-extensions.js +9 -0
  144. package/common/dto/dto-service-accessor.d.ts +17 -0
  145. package/common/dto/dto-service-accessor.js +18 -0
  146. package/common/dto/dto-transformer.d.ts +12 -0
  147. package/common/dto/dto-transformer.js +9 -0
  148. package/common/dto/index.js +2 -0
  149. package/common/examples/paginate-and-map.example.d.ts +6 -0
  150. package/common/examples/paginate-and-map.example.js +26 -0
  151. package/common/helpers/validation-metadata-helper.d.ts +55 -0
  152. package/common/helpers/validation-metadata-helper.js +60 -0
  153. package/common/index.d.ts +1 -0
  154. package/common/index.js +4 -0
  155. package/common/utils.d.ts +15 -0
  156. package/common/utils.js +15 -0
  157. package/constants/language-code.js +1 -0
  158. package/decorators/field.decorators.d.ts +72 -3
  159. package/decorators/field.decorators.js +155 -19
  160. package/decorators/property.decorators.js +1 -0
  161. package/decorators/public-route.decorator.js +1 -0
  162. package/decorators/transform.decorators.d.ts +27 -2
  163. package/decorators/transform.decorators.js +29 -23
  164. package/decorators/translate.decorator.js +1 -0
  165. package/decorators/user.decorator.js +1 -0
  166. package/decorators/validator.decorators.d.ts +8 -18
  167. package/decorators/validator.decorators.js +22 -190
  168. package/file-upload/controllers/file-access.controller.d.ts +23 -0
  169. package/file-upload/controllers/file-access.controller.js +128 -0
  170. package/file-upload/decorators/column.decorator.d.ts +151 -0
  171. package/file-upload/decorators/column.decorator.js +273 -0
  172. package/file-upload/decorators/csv-data.decorator.d.ts +30 -0
  173. package/file-upload/decorators/csv-data.decorator.js +85 -0
  174. package/file-upload/decorators/csv-import.decorator.d.ts +34 -0
  175. package/file-upload/decorators/csv-import.decorator.js +24 -0
  176. package/file-upload/decorators/examples/column-mapping.example.d.ts +76 -0
  177. package/file-upload/decorators/examples/column-mapping.example.js +122 -0
  178. package/file-upload/decorators/excel-data.decorator.d.ts +30 -0
  179. package/file-upload/decorators/excel-data.decorator.js +85 -0
  180. package/file-upload/decorators/file-upload.decorator.d.ts +83 -0
  181. package/file-upload/decorators/file-upload.decorator.js +172 -0
  182. package/file-upload/decorators/index.d.ts +5 -0
  183. package/file-upload/decorators/index.js +38 -0
  184. package/file-upload/decorators/process.decorator.d.ts +40 -0
  185. package/file-upload/decorators/process.decorator.js +52 -0
  186. package/file-upload/decorators/validate-data.decorator.d.ts +91 -0
  187. package/file-upload/decorators/validate-data.decorator.js +39 -0
  188. package/file-upload/dto/create-file.dto.d.ts +24 -0
  189. package/file-upload/dto/create-file.dto.js +112 -0
  190. package/file-upload/dto/find-files.dto.d.ts +15 -0
  191. package/file-upload/dto/find-files.dto.js +76 -0
  192. package/file-upload/dto/index.d.ts +4 -0
  193. package/file-upload/dto/index.js +20 -0
  194. package/file-upload/dto/pagination.dto.d.ts +7 -0
  195. package/file-upload/dto/pagination.dto.js +39 -0
  196. package/file-upload/dto/update-file.dto.d.ts +15 -0
  197. package/file-upload/dto/update-file.dto.js +67 -0
  198. package/file-upload/entities/file-metadata.entity.d.ts +25 -0
  199. package/file-upload/entities/file-metadata.entity.js +76 -0
  200. package/file-upload/entities/file.entity.d.ts +114 -0
  201. package/file-upload/entities/file.entity.js +350 -0
  202. package/file-upload/entities/index.d.ts +2 -0
  203. package/file-upload/entities/index.js +18 -0
  204. package/file-upload/enums/file-type.enum.d.ts +72 -0
  205. package/file-upload/enums/file-type.enum.js +212 -0
  206. package/file-upload/exceptions/file-upload.exception.d.ts +57 -0
  207. package/file-upload/exceptions/file-upload.exception.js +120 -0
  208. package/file-upload/exceptions/index.d.ts +1 -0
  209. package/file-upload/exceptions/index.js +17 -0
  210. package/file-upload/file-upload.module.d.ts +89 -0
  211. package/file-upload/file-upload.module.js +292 -0
  212. package/file-upload/index.d.ts +37 -0
  213. package/file-upload/index.js +77 -0
  214. package/file-upload/interceptors/file-upload.interceptor.d.ts +101 -0
  215. package/file-upload/interceptors/file-upload.interceptor.js +594 -0
  216. package/file-upload/interceptors/index.d.ts +1 -0
  217. package/file-upload/interceptors/index.js +17 -0
  218. package/file-upload/interfaces/custom-file-type.interface.d.ts +72 -0
  219. package/file-upload/interfaces/custom-file-type.interface.js +2 -0
  220. package/file-upload/interfaces/file-buffer.interface.d.ts +72 -0
  221. package/file-upload/interfaces/file-buffer.interface.js +2 -0
  222. package/file-upload/interfaces/file-entity.interface.d.ts +142 -0
  223. package/file-upload/interfaces/file-entity.interface.js +28 -0
  224. package/file-upload/interfaces/file-metadata.interface.d.ts +21 -0
  225. package/file-upload/interfaces/file-metadata.interface.js +2 -0
  226. package/file-upload/interfaces/file-processor.interface.d.ts +93 -0
  227. package/file-upload/interfaces/file-processor.interface.js +2 -0
  228. package/file-upload/interfaces/file-upload-options.interface.d.ts +74 -0
  229. package/file-upload/interfaces/file-upload-options.interface.js +5 -0
  230. package/file-upload/interfaces/index.d.ts +7 -0
  231. package/file-upload/interfaces/index.js +24 -0
  232. package/file-upload/interfaces/processor-options.interface.d.ts +102 -0
  233. package/file-upload/interfaces/processor-options.interface.js +2 -0
  234. package/file-upload/interfaces/storage-provider.interface.d.ts +239 -0
  235. package/file-upload/interfaces/storage-provider.interface.js +2 -0
  236. package/file-upload/interfaces/upload-options.interface.d.ts +19 -0
  237. package/file-upload/interfaces/upload-options.interface.js +2 -0
  238. package/file-upload/processors/csv.processor.d.ts +98 -0
  239. package/file-upload/processors/csv.processor.js +391 -0
  240. package/file-upload/processors/excel.processor.d.ts +130 -0
  241. package/file-upload/processors/excel.processor.js +547 -0
  242. package/file-upload/processors/image.processor.d.ts +199 -0
  243. package/file-upload/processors/image.processor.js +377 -0
  244. package/file-upload/providers/index.d.ts +2 -0
  245. package/file-upload/providers/index.js +18 -0
  246. package/file-upload/providers/local-storage.provider.d.ts +98 -0
  247. package/file-upload/providers/local-storage.provider.js +484 -0
  248. package/file-upload/providers/s3-storage.provider.d.ts +87 -0
  249. package/file-upload/providers/s3-storage.provider.js +455 -0
  250. package/file-upload/services/file-signature-validator.service.d.ts +118 -0
  251. package/file-upload/services/file-signature-validator.service.js +376 -0
  252. package/file-upload/services/file.service.d.ts +193 -0
  253. package/file-upload/services/file.service.js +638 -0
  254. package/file-upload/services/index.d.ts +4 -0
  255. package/file-upload/services/index.js +20 -0
  256. package/file-upload/services/malicious-file-detector.service.d.ts +300 -0
  257. package/file-upload/services/malicious-file-detector.service.js +1234 -0
  258. package/file-upload/services/mime-registry.service.d.ts +47 -0
  259. package/file-upload/services/mime-registry.service.js +167 -0
  260. package/file-upload/utils/checksum.util.d.ts +28 -0
  261. package/file-upload/utils/checksum.util.js +65 -0
  262. package/file-upload/utils/dynamic-import.util.d.ts +54 -0
  263. package/file-upload/utils/dynamic-import.util.js +156 -0
  264. package/file-upload/utils/filename.util.d.ts +59 -0
  265. package/file-upload/utils/filename.util.js +184 -0
  266. package/file-upload/utils/filepath.util.d.ts +70 -0
  267. package/file-upload/utils/filepath.util.js +152 -0
  268. package/file-upload/utils/index.d.ts +4 -0
  269. package/file-upload/utils/index.js +20 -0
  270. package/filters/bad-request.filter.js +19 -4
  271. package/filters/constraint-errors.js +1 -0
  272. package/helpers/common.helper.d.ts +13 -0
  273. package/helpers/common.helper.js +13 -0
  274. package/http-client/config/http-client.config.d.ts +20 -0
  275. package/http-client/config/http-client.config.js +48 -21
  276. package/http-client/decorators/http-client.decorators.d.ts +55 -14
  277. package/http-client/decorators/http-client.decorators.js +154 -78
  278. package/http-client/entities/http-log.entity.d.ts +217 -8
  279. package/http-client/entities/http-log.entity.js +7 -22
  280. package/http-client/errors/http-client.errors.d.ts +57 -0
  281. package/http-client/errors/http-client.errors.js +58 -0
  282. package/http-client/examples/advanced-usage.example.d.ts +40 -0
  283. package/http-client/examples/advanced-usage.example.js +53 -61
  284. package/http-client/examples/auth-with-waiting-lock.example.d.ts +31 -0
  285. package/http-client/examples/auth-with-waiting-lock.example.js +52 -5
  286. package/http-client/examples/basic-usage.example.d.ts +60 -0
  287. package/http-client/examples/basic-usage.example.js +60 -0
  288. package/http-client/examples/multi-api-configuration.example.d.ts +60 -0
  289. package/http-client/examples/multi-api-configuration.example.js +76 -5
  290. package/http-client/examples/proxy-from-environment.example.d.ts +133 -0
  291. package/http-client/examples/proxy-from-environment.example.js +409 -0
  292. package/http-client/http-client.module.d.ts +48 -2
  293. package/http-client/http-client.module.js +147 -68
  294. package/http-client/index.d.ts +1 -1
  295. package/http-client/index.js +8 -0
  296. package/http-client/interfaces/api-client-config.interface.d.ts +80 -45
  297. package/http-client/interfaces/api-client-config.interface.js +3 -0
  298. package/http-client/interfaces/http-client-config.interface.d.ts +109 -52
  299. package/http-client/services/api-client-registry.service.d.ts +50 -11
  300. package/http-client/services/api-client-registry.service.js +90 -250
  301. package/http-client/services/circuit-breaker.service.d.ts +115 -2
  302. package/http-client/services/circuit-breaker.service.js +237 -7
  303. package/http-client/services/http-client.service.d.ts +124 -14
  304. package/http-client/services/http-client.service.js +437 -148
  305. package/http-client/services/http-log-query.service.d.ts +83 -0
  306. package/http-client/services/http-log-query.service.js +121 -13
  307. package/http-client/services/http-replay.service.d.ts +101 -0
  308. package/http-client/services/http-replay.service.js +86 -0
  309. package/http-client/services/index.d.ts +0 -1
  310. package/http-client/services/index.js +0 -1
  311. package/http-client/services/log-cleanup.service.d.ts +63 -0
  312. package/http-client/services/log-cleanup.service.js +54 -2
  313. package/http-client/services/logging.service.d.ts +116 -7
  314. package/http-client/services/logging.service.js +349 -86
  315. package/http-client/utils/call-stack-extractor.util.d.ts +63 -0
  316. package/http-client/utils/call-stack-extractor.util.js +83 -0
  317. package/http-client/utils/context-extractor.util.d.ts +49 -0
  318. package/http-client/utils/context-extractor.util.js +54 -0
  319. package/http-client/utils/curl-generator.util.d.ts +21 -0
  320. package/http-client/utils/curl-generator.util.js +44 -3
  321. package/http-client/utils/index.d.ts +1 -0
  322. package/http-client/utils/index.js +1 -0
  323. package/http-client/utils/proxy-environment.util.d.ts +42 -0
  324. package/http-client/utils/proxy-environment.util.js +148 -0
  325. package/http-client/utils/request-id.util.d.ts +18 -0
  326. package/http-client/utils/request-id.util.js +20 -0
  327. package/http-client/utils/retry-recorder.util.d.ts +42 -0
  328. package/http-client/utils/retry-recorder.util.js +44 -0
  329. package/http-client/utils/security-validator.util.d.ts +118 -0
  330. package/http-client/utils/security-validator.util.js +352 -0
  331. package/index.d.ts +3 -1
  332. package/index.js +12 -1
  333. package/interceptors/translation-interceptor.service.js +5 -0
  334. package/ip-filter/constants.d.ts +21 -0
  335. package/ip-filter/constants.js +24 -0
  336. package/ip-filter/decorators/index.d.ts +1 -0
  337. package/ip-filter/decorators/index.js +17 -0
  338. package/ip-filter/decorators/ip-filter.decorator.d.ts +58 -0
  339. package/ip-filter/decorators/ip-filter.decorator.js +79 -0
  340. package/ip-filter/guards/index.d.ts +1 -0
  341. package/ip-filter/guards/index.js +17 -0
  342. package/ip-filter/guards/ip-filter.guard.d.ts +62 -0
  343. package/ip-filter/guards/ip-filter.guard.js +174 -0
  344. package/ip-filter/index.d.ts +7 -0
  345. package/ip-filter/index.js +23 -0
  346. package/ip-filter/interfaces/index.d.ts +4 -0
  347. package/ip-filter/interfaces/index.js +20 -0
  348. package/ip-filter/interfaces/ip-filter-async-options.interface.d.ts +15 -0
  349. package/ip-filter/interfaces/ip-filter-async-options.interface.js +2 -0
  350. package/ip-filter/interfaces/ip-filter-metadata.interface.d.ts +26 -0
  351. package/ip-filter/interfaces/ip-filter-metadata.interface.js +2 -0
  352. package/ip-filter/interfaces/ip-filter-options.interface.d.ts +34 -0
  353. package/ip-filter/interfaces/ip-filter-options.interface.js +2 -0
  354. package/ip-filter/interfaces/ip-rule.interface.d.ts +36 -0
  355. package/ip-filter/interfaces/ip-rule.interface.js +2 -0
  356. package/ip-filter/ip-filter.module.d.ts +55 -0
  357. package/ip-filter/ip-filter.module.js +105 -0
  358. package/ip-filter/services/index.d.ts +1 -0
  359. package/ip-filter/services/index.js +17 -0
  360. package/ip-filter/services/ip-filter.service.d.ts +92 -0
  361. package/ip-filter/services/ip-filter.service.js +238 -0
  362. package/ip-filter/utils/index.d.ts +1 -0
  363. package/ip-filter/utils/index.js +17 -0
  364. package/ip-filter/utils/ip-utils.d.ts +61 -0
  365. package/ip-filter/utils/ip-utils.js +162 -0
  366. package/package.json +32 -29
  367. package/providers/context.provider.d.ts +9 -0
  368. package/providers/context.provider.js +15 -0
  369. package/providers/generator.provider.d.ts +4 -0
  370. package/providers/generator.provider.js +4 -0
  371. package/redis-lock/comprehensive-lock-cleanup.service.d.ts +94 -0
  372. package/redis-lock/comprehensive-lock-cleanup.service.js +253 -0
  373. package/redis-lock/examples/lock-strategy.examples.d.ts +89 -0
  374. package/redis-lock/examples/lock-strategy.examples.js +130 -15
  375. package/redis-lock/index.d.ts +2 -0
  376. package/redis-lock/index.js +8 -1
  377. package/redis-lock/lock-heartbeat.service.d.ts +80 -0
  378. package/redis-lock/lock-heartbeat.service.js +232 -0
  379. package/redis-lock/redis-lock.decorator.d.ts +101 -0
  380. package/redis-lock/redis-lock.decorator.js +120 -0
  381. package/redis-lock/redis-lock.module.d.ts +66 -0
  382. package/redis-lock/redis-lock.module.js +175 -70
  383. package/redis-lock/redis-lock.service.d.ts +282 -0
  384. package/redis-lock/redis-lock.service.js +343 -20
  385. package/setup/bootstrap.setup.d.ts +2 -1
  386. package/setup/bootstrap.setup.js +22 -1
  387. package/setup/index.d.ts +1 -0
  388. package/setup/index.js +1 -0
  389. package/setup/mode.setup.d.ts +44 -0
  390. package/setup/mode.setup.js +44 -0
  391. package/setup/run-in-mode.decorator.d.ts +56 -0
  392. package/setup/run-in-mode.decorator.js +92 -0
  393. package/setup/schedule.decorator.d.ts +227 -0
  394. package/setup/schedule.decorator.js +240 -12
  395. package/setup/worker.decorator.d.ts +86 -0
  396. package/setup/worker.decorator.js +97 -0
  397. package/shared/index.d.ts +1 -1
  398. package/shared/index.js +1 -1
  399. package/shared/{serviceRegistryModule.js → service-registry.module.js} +19 -18
  400. package/shared/services/api-config.service.d.ts +3 -0
  401. package/shared/services/api-config.service.js +21 -9
  402. package/shared/services/index.d.ts +0 -1
  403. package/shared/services/index.js +0 -1
  404. package/validator-json/decorators.d.ts +17 -0
  405. package/validator-json/decorators.js +17 -2
  406. package/validator-json/default.d.ts +6 -0
  407. package/validator-json/default.js +30 -2
  408. package/validator-json/defaultConverters.js +1 -0
  409. package/validator-json/options.d.ts +23 -0
  410. package/validators/common-validators.d.ts +143 -0
  411. package/validators/common-validators.js +249 -0
  412. package/validators/custom-validate.examples.d.ts +23 -0
  413. package/validators/custom-validate.examples.js +78 -6
  414. package/validators/custom-validate.validator.d.ts +108 -0
  415. package/validators/custom-validate.validator.js +85 -0
  416. package/validators/file-mimetype.validator.d.ts +0 -2
  417. package/validators/file-mimetype.validator.js +4 -6
  418. package/validators/index.d.ts +1 -0
  419. package/validators/index.js +1 -0
  420. package/validators/is-exists.validator.d.ts +26 -6
  421. package/validators/is-exists.validator.js +30 -7
  422. package/validators/is-unique.validator.d.ts +33 -7
  423. package/validators/is-unique.validator.js +59 -17
  424. package/validators/skip-empty.validator.d.ts +5 -0
  425. package/validators/skip-empty.validator.js +5 -0
  426. package/vault/interfaces/vault-options.interface.d.ts +9 -0
  427. package/vault/vault-config.loader.d.ts +30 -0
  428. package/vault/vault-config.loader.js +48 -1
  429. package/vault/vault-config.service.d.ts +53 -0
  430. package/vault/vault-config.service.js +57 -0
  431. package/vault/vault.module.d.ts +4 -0
  432. package/vault/vault.module.js +4 -0
  433. package/cache/providers/memory-cache.provider.d.ts +0 -26
  434. package/cache/providers/memory-cache.provider.js +0 -171
  435. package/decorators/examples/validation-decorators.example.d.ts +0 -69
  436. package/decorators/examples/validation-decorators.example.js +0 -331
  437. package/http-client/services/cache.service.d.ts +0 -24
  438. package/http-client/services/cache.service.js +0 -264
  439. package/shared/services/validator.service.d.ts +0 -3
  440. package/shared/services/validator.service.js +0 -20
  441. /package/shared/{serviceRegistryModule.d.ts → service-registry.module.d.ts} +0 -0
@@ -1,5 +1,89 @@
1
1
  import { EntityAuditConfig, FieldDisplayOptions } from '../interfaces';
2
2
  export declare const ENTITY_AUDIT_OPTIONS: unique symbol;
3
3
  export declare const FIELD_AUDIT_OPTIONS: unique symbol;
4
- export declare function EntityAudit(options?: EntityAuditConfig): ClassDecorator;
4
+ /**
5
+ * 实体审计装饰器
6
+ *
7
+ * @description
8
+ * 支持基础审计配置和多语言标签。
9
+ * 字段标签和值标签请使用 @AuditField({ label: { zh: '姓名', en: 'Name' } })
10
+ *
11
+ * @param options 审计配置选项
12
+ *
13
+ * @example
14
+ * // 基础用法
15
+ * @AuditEntity({
16
+ * enabled: true,
17
+ * label: { zh: '订单', en: 'Order' },
18
+ * excludeFields: ['password'],
19
+ * maskFields: ['email']
20
+ * })
21
+ *
22
+ * @example
23
+ * // 指定模板键
24
+ * @AuditEntity({
25
+ * enabled: true,
26
+ * label: { zh: '用户', en: 'User' },
27
+ * templateKey: 'user',
28
+ * })
29
+ */
30
+ export declare function AuditEntity(options?: EntityAuditConfig): ClassDecorator;
31
+ /**
32
+ * 字段审计装饰器
33
+ * @param options 字段显示选项(支持多语言 label 和 valueLabels)
34
+ *
35
+ * @example
36
+ * // 单语言
37
+ * @AuditField({ label: '姓名' })
38
+ *
39
+ * @example
40
+ * // 多语言
41
+ * @AuditField({ label: { zh: '姓名', en: 'Name' } })
42
+ *
43
+ * @example
44
+ * // 带值标签映射
45
+ * @AuditField({
46
+ * label: { zh: '状态', en: 'Status' },
47
+ * valueLabels: {
48
+ * active: { zh: '激活', en: 'Active' },
49
+ * inactive: { zh: '未激活', en: 'Inactive' }
50
+ * }
51
+ * })
52
+ */
5
53
  export declare function AuditField(options?: FieldDisplayOptions): PropertyDecorator;
54
+ /**
55
+ * 获取实体审计配置
56
+ * @param target 目标类
57
+ * @returns 审计配置
58
+ */
59
+ export declare function getEntityAuditConfig(target: any): EntityAuditConfig;
60
+ /**
61
+ * 获取字段审计配置
62
+ * @param target 目标类
63
+ * @returns 字段配置映射
64
+ */
65
+ export declare function getFieldAuditConfig(target: any): Record<string, FieldDisplayOptions>;
66
+ /**
67
+ * 获取字段的标签(支持多语言)
68
+ * @param target 目标类
69
+ * @param fieldName 字段名
70
+ * @param language 语言代码(默认:zh)
71
+ * @returns 字段标签
72
+ */
73
+ export declare function getFieldLabel(target: any, fieldName: string, language?: string): string;
74
+ /**
75
+ * 获取字段值的标签(支持多语言)
76
+ * @param target 目标类
77
+ * @param fieldName 字段名
78
+ * @param value 值
79
+ * @param language 语言代码(默认:zh)
80
+ * @returns 值的标签
81
+ */
82
+ export declare function getFieldValueLabel(target: any, fieldName: string, value: any, language?: string): string;
83
+ /**
84
+ * 获取实体的标签(支持多语言)
85
+ * @param target 目标类
86
+ * @param language 语言代码(默认:zh)
87
+ * @returns 实体标签
88
+ */
89
+ export declare function getEntityLabel(target: any, language?: string): string;
@@ -1,15 +1,85 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FIELD_AUDIT_OPTIONS = exports.ENTITY_AUDIT_OPTIONS = void 0;
4
- exports.EntityAudit = EntityAudit;
4
+ exports.AuditEntity = AuditEntity;
5
5
  exports.AuditField = AuditField;
6
+ exports.getEntityAuditConfig = getEntityAuditConfig;
7
+ exports.getFieldAuditConfig = getFieldAuditConfig;
8
+ exports.getFieldLabel = getFieldLabel;
9
+ exports.getFieldValueLabel = getFieldValueLabel;
10
+ exports.getEntityLabel = getEntityLabel;
11
+ // 元数据键
6
12
  exports.ENTITY_AUDIT_OPTIONS = Symbol('ENTITY_AUDIT_OPTIONS');
7
13
  exports.FIELD_AUDIT_OPTIONS = Symbol('FIELD_AUDIT_OPTIONS');
8
- function EntityAudit(options) {
14
+ /**
15
+ * 实体审计装饰器
16
+ *
17
+ * @description
18
+ * 支持基础审计配置和多语言标签。
19
+ * 字段标签和值标签请使用 @AuditField({ label: { zh: '姓名', en: 'Name' } })
20
+ *
21
+ * @param options 审计配置选项
22
+ *
23
+ * @example
24
+ * // 基础用法
25
+ * @AuditEntity({
26
+ * enabled: true,
27
+ * label: { zh: '订单', en: 'Order' },
28
+ * excludeFields: ['password'],
29
+ * maskFields: ['email']
30
+ * })
31
+ *
32
+ * @example
33
+ * // 指定模板键
34
+ * @AuditEntity({
35
+ * enabled: true,
36
+ * label: { zh: '用户', en: 'User' },
37
+ * templateKey: 'user',
38
+ * })
39
+ */
40
+ function AuditEntity(options) {
9
41
  return (target) => {
10
- Reflect.defineMetadata(exports.ENTITY_AUDIT_OPTIONS, options || {}, target);
42
+ // 存储审计元数据
43
+ const auditOptions = Object.assign({}, options);
44
+ // 去重 maskFields
45
+ if (auditOptions.maskFields && auditOptions.maskFields.length > 0) {
46
+ auditOptions.maskFields = [...new Set(auditOptions.maskFields)];
47
+ }
48
+ // 存储基础审计元数据
49
+ Reflect.defineMetadata(exports.ENTITY_AUDIT_OPTIONS, auditOptions, target);
50
+ // 如果有 templateKey,同时存储到 entity-log 元数据(兼容性)
51
+ if (auditOptions.templateKey) {
52
+ Reflect.defineMetadata('entity-log:enabled', true, target);
53
+ Reflect.defineMetadata('entity-log:options', {
54
+ templateKey: auditOptions.templateKey,
55
+ excludeFields: auditOptions.excludeFields,
56
+ sensitiveFields: auditOptions.maskFields,
57
+ }, target);
58
+ }
11
59
  };
12
60
  }
61
+ /**
62
+ * 字段审计装饰器
63
+ * @param options 字段显示选项(支持多语言 label 和 valueLabels)
64
+ *
65
+ * @example
66
+ * // 单语言
67
+ * @AuditField({ label: '姓名' })
68
+ *
69
+ * @example
70
+ * // 多语言
71
+ * @AuditField({ label: { zh: '姓名', en: 'Name' } })
72
+ *
73
+ * @example
74
+ * // 带值标签映射
75
+ * @AuditField({
76
+ * label: { zh: '状态', en: 'Status' },
77
+ * valueLabels: {
78
+ * active: { zh: '激活', en: 'Active' },
79
+ * inactive: { zh: '未激活', en: 'Inactive' }
80
+ * }
81
+ * })
82
+ */
13
83
  function AuditField(options) {
14
84
  return (target, propertyKey) => {
15
85
  const existingOptions = Reflect.getMetadata(exports.FIELD_AUDIT_OPTIONS, target.constructor) || {};
@@ -17,3 +87,83 @@ function AuditField(options) {
17
87
  Reflect.defineMetadata(exports.FIELD_AUDIT_OPTIONS, existingOptions, target.constructor);
18
88
  };
19
89
  }
90
+ /**
91
+ * 获取实体审计配置
92
+ * @param target 目标类
93
+ * @returns 审计配置
94
+ */
95
+ function getEntityAuditConfig(target) {
96
+ return Reflect.getMetadata(exports.ENTITY_AUDIT_OPTIONS, target) || {};
97
+ }
98
+ /**
99
+ * 获取字段审计配置
100
+ * @param target 目标类
101
+ * @returns 字段配置映射
102
+ */
103
+ function getFieldAuditConfig(target) {
104
+ return Reflect.getMetadata(exports.FIELD_AUDIT_OPTIONS, target) || {};
105
+ }
106
+ /**
107
+ * 获取字段的标签(支持多语言)
108
+ * @param target 目标类
109
+ * @param fieldName 字段名
110
+ * @param language 语言代码(默认:zh)
111
+ * @returns 字段标签
112
+ */
113
+ function getFieldLabel(target, fieldName, language = 'zh') {
114
+ var _a;
115
+ const fieldConfig = getFieldAuditConfig(target);
116
+ const label = (_a = fieldConfig[fieldName]) === null || _a === void 0 ? void 0 : _a.label;
117
+ if (!label) {
118
+ return fieldName;
119
+ }
120
+ // 如果是字符串,直接返回
121
+ if (typeof label === 'string') {
122
+ return label;
123
+ }
124
+ // 如果是对象,返回指定语言的值
125
+ return label[language] || label['zh'] || fieldName;
126
+ }
127
+ /**
128
+ * 获取字段值的标签(支持多语言)
129
+ * @param target 目标类
130
+ * @param fieldName 字段名
131
+ * @param value 值
132
+ * @param language 语言代码(默认:zh)
133
+ * @returns 值的标签
134
+ */
135
+ function getFieldValueLabel(target, fieldName, value, language = 'zh') {
136
+ var _a;
137
+ const fieldConfig = getFieldAuditConfig(target);
138
+ const valueLabels = (_a = fieldConfig[fieldName]) === null || _a === void 0 ? void 0 : _a.valueLabels;
139
+ if (!valueLabels || !valueLabels[value]) {
140
+ return value;
141
+ }
142
+ const labelMap = valueLabels[value];
143
+ // 如果是字符串,直接返回
144
+ if (typeof labelMap === 'string') {
145
+ return labelMap;
146
+ }
147
+ // 如果是对象,返回指定语言的值
148
+ return labelMap[language] || labelMap['zh'] || value;
149
+ }
150
+ /**
151
+ * 获取实体的标签(支持多语言)
152
+ * @param target 目标类
153
+ * @param language 语言代码(默认:zh)
154
+ * @returns 实体标签
155
+ */
156
+ function getEntityLabel(target, language = 'zh') {
157
+ const config = getEntityAuditConfig(target);
158
+ const label = config.label;
159
+ if (!label) {
160
+ // 如果没有配置标签,返回类名
161
+ return target.name || 'Entity';
162
+ }
163
+ // 如果是字符串,直接返回
164
+ if (typeof label === 'string') {
165
+ return label;
166
+ }
167
+ // 如果是对象,返回指定语言的值
168
+ return label[language] || label['zh'] || target.name || 'Entity';
169
+ }
@@ -1,2 +1,4 @@
1
1
  export * from './entity-audit.decorator';
2
2
  export * from './audit-controller.decorator';
3
+ export * from './audit-operation.decorator';
4
+ export * from './audit-action.decorator';
@@ -16,3 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./entity-audit.decorator"), exports);
18
18
  __exportStar(require("./audit-controller.decorator"), exports);
19
+ __exportStar(require("./audit-operation.decorator"), exports);
20
+ __exportStar(require("./audit-action.decorator"), exports);
@@ -0,0 +1,13 @@
1
+ /**
2
+ * 审计动作查询 DTO
3
+ */
4
+ export declare class AuditActionQueryDto {
5
+ page?: number;
6
+ limit?: number;
7
+ userId?: string;
8
+ username?: string;
9
+ actionName?: string;
10
+ success?: boolean;
11
+ startTime?: string;
12
+ endTime?: string;
13
+ }
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AuditActionQueryDto = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_validator_1 = require("class-validator");
15
+ const class_transformer_1 = require("class-transformer");
16
+ /**
17
+ * 审计动作查询 DTO
18
+ */
19
+ class AuditActionQueryDto {
20
+ constructor() {
21
+ this.page = 1;
22
+ this.limit = 20;
23
+ }
24
+ }
25
+ exports.AuditActionQueryDto = AuditActionQueryDto;
26
+ __decorate([
27
+ (0, swagger_1.ApiPropertyOptional)({ description: '页码', default: 1 }),
28
+ (0, class_validator_1.IsOptional)(),
29
+ (0, class_transformer_1.Type)(() => Number),
30
+ (0, class_validator_1.Min)(1),
31
+ __metadata("design:type", Number)
32
+ ], AuditActionQueryDto.prototype, "page", void 0);
33
+ __decorate([
34
+ (0, swagger_1.ApiPropertyOptional)({ description: '每页数量', default: 20 }),
35
+ (0, class_validator_1.IsOptional)(),
36
+ (0, class_transformer_1.Type)(() => Number),
37
+ (0, class_validator_1.Min)(1),
38
+ (0, class_validator_1.Max)(100),
39
+ __metadata("design:type", Number)
40
+ ], AuditActionQueryDto.prototype, "limit", void 0);
41
+ __decorate([
42
+ (0, swagger_1.ApiPropertyOptional)({ description: '用户ID' }),
43
+ (0, class_validator_1.IsOptional)(),
44
+ (0, class_validator_1.IsString)(),
45
+ __metadata("design:type", String)
46
+ ], AuditActionQueryDto.prototype, "userId", void 0);
47
+ __decorate([
48
+ (0, swagger_1.ApiPropertyOptional)({ description: '用户名' }),
49
+ (0, class_validator_1.IsOptional)(),
50
+ (0, class_validator_1.IsString)(),
51
+ __metadata("design:type", String)
52
+ ], AuditActionQueryDto.prototype, "username", void 0);
53
+ __decorate([
54
+ (0, swagger_1.ApiPropertyOptional)({ description: '动作名称' }),
55
+ (0, class_validator_1.IsOptional)(),
56
+ (0, class_validator_1.IsString)(),
57
+ __metadata("design:type", String)
58
+ ], AuditActionQueryDto.prototype, "actionName", void 0);
59
+ __decorate([
60
+ (0, swagger_1.ApiPropertyOptional)({ description: '是否成功' }),
61
+ (0, class_validator_1.IsOptional)(),
62
+ (0, class_transformer_1.Type)(() => Boolean),
63
+ (0, class_validator_1.IsBoolean)(),
64
+ __metadata("design:type", Boolean)
65
+ ], AuditActionQueryDto.prototype, "success", void 0);
66
+ __decorate([
67
+ (0, swagger_1.ApiPropertyOptional)({ description: '开始时间' }),
68
+ (0, class_validator_1.IsOptional)(),
69
+ (0, class_validator_1.IsDateString)(),
70
+ __metadata("design:type", String)
71
+ ], AuditActionQueryDto.prototype, "startTime", void 0);
72
+ __decorate([
73
+ (0, swagger_1.ApiPropertyOptional)({ description: '结束时间' }),
74
+ (0, class_validator_1.IsOptional)(),
75
+ (0, class_validator_1.IsDateString)(),
76
+ __metadata("design:type", String)
77
+ ], AuditActionQueryDto.prototype, "endTime", void 0);
@@ -1,4 +1,7 @@
1
1
  import { AuditOperation } from '../enums';
2
+ /**
3
+ * 审计日志查询DTO
4
+ */
2
5
  export declare class AuditLogQueryDto {
3
6
  page?: number;
4
7
  limit?: number;
@@ -14,6 +14,9 @@ const swagger_1 = require("@nestjs/swagger");
14
14
  const class_validator_1 = require("class-validator");
15
15
  const class_transformer_1 = require("class-transformer");
16
16
  const enums_1 = require("../enums");
17
+ /**
18
+ * 审计日志查询DTO
19
+ */
17
20
  class AuditLogQueryDto {
18
21
  constructor() {
19
22
  this.page = 1;
@@ -1,3 +1,6 @@
1
+ /**
2
+ * 开始事务DTO
3
+ */
1
4
  export declare class BeginTransactionDto {
2
5
  description: string;
3
6
  }
@@ -12,6 +12,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.BeginTransactionDto = void 0;
13
13
  const swagger_1 = require("@nestjs/swagger");
14
14
  const class_validator_1 = require("class-validator");
15
+ /**
16
+ * 开始事务DTO
17
+ */
15
18
  class BeginTransactionDto {
16
19
  }
17
20
  exports.BeginTransactionDto = BeginTransactionDto;
@@ -1,3 +1,6 @@
1
+ /**
2
+ * 比较实体DTO
3
+ */
1
4
  export declare class CompareEntitiesDto {
2
5
  entityType: string;
3
6
  entityId: string;
@@ -13,6 +13,9 @@ exports.CompareEntitiesDto = void 0;
13
13
  const swagger_1 = require("@nestjs/swagger");
14
14
  const class_validator_1 = require("class-validator");
15
15
  const class_transformer_1 = require("class-transformer");
16
+ /**
17
+ * 比较实体DTO
18
+ */
16
19
  class CompareEntitiesDto {
17
20
  }
18
21
  exports.CompareEntitiesDto = CompareEntitiesDto;
@@ -1,4 +1,5 @@
1
1
  export * from './audit-log-query.dto';
2
+ export * from './audit-action-query.dto';
2
3
  export * from './compare-entities.dto';
3
4
  export * from './restore-entity.dto';
4
5
  export * from './pre-check-restore.dto';
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./audit-log-query.dto"), exports);
18
+ __exportStar(require("./audit-action-query.dto"), exports);
18
19
  __exportStar(require("./compare-entities.dto"), exports);
19
20
  __exportStar(require("./restore-entity.dto"), exports);
20
21
  __exportStar(require("./pre-check-restore.dto"), exports);
@@ -1,3 +1,6 @@
1
+ /**
2
+ * 预检查恢复DTO
3
+ */
1
4
  export declare class PreCheckRestoreDto {
2
5
  entityType: string;
3
6
  entityId: string;
@@ -12,6 +12,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.PreCheckRestoreDto = void 0;
13
13
  const swagger_1 = require("@nestjs/swagger");
14
14
  const class_validator_1 = require("class-validator");
15
+ /**
16
+ * 预检查恢复DTO
17
+ */
15
18
  class PreCheckRestoreDto {
16
19
  }
17
20
  exports.PreCheckRestoreDto = PreCheckRestoreDto;
@@ -1,5 +1,8 @@
1
1
  import { RecoveryStrategy } from '../enums';
2
2
  import { RestoreOptions } from '../interfaces';
3
+ /**
4
+ * 恢复实体DTO
5
+ */
3
6
  export declare class RestoreEntityDto {
4
7
  entityType: string;
5
8
  entityId: string;
@@ -13,6 +13,9 @@ exports.RestoreEntityDto = void 0;
13
13
  const swagger_1 = require("@nestjs/swagger");
14
14
  const class_validator_1 = require("class-validator");
15
15
  const enums_1 = require("../enums");
16
+ /**
17
+ * 恢复实体DTO
18
+ */
16
19
  class RestoreEntityDto {
17
20
  constructor() {
18
21
  this.strategy = enums_1.RecoveryStrategy.ENTITY_ONLY;
@@ -0,0 +1,23 @@
1
+ import { AbstractUuidPrimaryEntity } from '../../common/abstract.entity';
2
+ /**
3
+ * 审计动作汇总实体
4
+ * 记录一次 API 调用的审计摘要信息
5
+ */
6
+ export declare class AuditActionSummaryEntity extends AbstractUuidPrimaryEntity {
7
+ actionName: string;
8
+ operationTemplateKey: string;
9
+ descriptionParams: Record<string, any>;
10
+ description: string;
11
+ requestId: string;
12
+ userId: string;
13
+ username: string;
14
+ requestIp: string;
15
+ userAgent: string;
16
+ entityChangesCount: number;
17
+ entityTypes: string[];
18
+ operationStats: Record<string, number>;
19
+ success: boolean;
20
+ errorMessage: string;
21
+ duration: number;
22
+ metadata: Record<string, any>;
23
+ }
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AuditActionSummaryEntity = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const abstract_entity_1 = require("../../common/abstract.entity");
15
+ /**
16
+ * 审计动作汇总实体
17
+ * 记录一次 API 调用的审计摘要信息
18
+ */
19
+ let AuditActionSummaryEntity = class AuditActionSummaryEntity extends abstract_entity_1.AbstractUuidPrimaryEntity {
20
+ };
21
+ exports.AuditActionSummaryEntity = AuditActionSummaryEntity;
22
+ __decorate([
23
+ (0, typeorm_1.Column)({ comment: '操作名称,如 createOrder, cancelOrder' }),
24
+ __metadata("design:type", String)
25
+ ], AuditActionSummaryEntity.prototype, "actionName", void 0);
26
+ __decorate([
27
+ (0, typeorm_1.Column)({ nullable: true, comment: '操作模板键,用于多语言支持' }),
28
+ __metadata("design:type", String)
29
+ ], AuditActionSummaryEntity.prototype, "operationTemplateKey", void 0);
30
+ __decorate([
31
+ (0, typeorm_1.Column)({ type: 'json', nullable: true, comment: '描述参数,用于填充模板' }),
32
+ __metadata("design:type", Object)
33
+ ], AuditActionSummaryEntity.prototype, "descriptionParams", void 0);
34
+ __decorate([
35
+ (0, typeorm_1.Column)({ type: 'text', nullable: true, comment: '操作描述文本(根据模板生成)' }),
36
+ __metadata("design:type", String)
37
+ ], AuditActionSummaryEntity.prototype, "description", void 0);
38
+ __decorate([
39
+ (0, typeorm_1.Column)({ comment: '请求ID' }),
40
+ __metadata("design:type", String)
41
+ ], AuditActionSummaryEntity.prototype, "requestId", void 0);
42
+ __decorate([
43
+ (0, typeorm_1.Column)({ nullable: true, comment: '用户ID' }),
44
+ __metadata("design:type", String)
45
+ ], AuditActionSummaryEntity.prototype, "userId", void 0);
46
+ __decorate([
47
+ (0, typeorm_1.Column)({ nullable: true, comment: '用户名' }),
48
+ __metadata("design:type", String)
49
+ ], AuditActionSummaryEntity.prototype, "username", void 0);
50
+ __decorate([
51
+ (0, typeorm_1.Column)({ nullable: true, comment: '请求IP' }),
52
+ __metadata("design:type", String)
53
+ ], AuditActionSummaryEntity.prototype, "requestIp", void 0);
54
+ __decorate([
55
+ (0, typeorm_1.Column)({ type: 'text', nullable: true, comment: '用户代理' }),
56
+ __metadata("design:type", String)
57
+ ], AuditActionSummaryEntity.prototype, "userAgent", void 0);
58
+ __decorate([
59
+ (0, typeorm_1.Column)({ type: 'int', default: 0, comment: '涉及的实体变更数量' }),
60
+ __metadata("design:type", Number)
61
+ ], AuditActionSummaryEntity.prototype, "entityChangesCount", void 0);
62
+ __decorate([
63
+ (0, typeorm_1.Column)({ type: 'json', nullable: true, comment: '涉及的实体类型列表' }),
64
+ __metadata("design:type", Array)
65
+ ], AuditActionSummaryEntity.prototype, "entityTypes", void 0);
66
+ __decorate([
67
+ (0, typeorm_1.Column)({ type: 'json', nullable: true, comment: '操作统计: {CREATE: 3, UPDATE: 2}' }),
68
+ __metadata("design:type", Object)
69
+ ], AuditActionSummaryEntity.prototype, "operationStats", void 0);
70
+ __decorate([
71
+ (0, typeorm_1.Column)({ type: 'boolean', default: true, comment: '操作是否成功' }),
72
+ __metadata("design:type", Boolean)
73
+ ], AuditActionSummaryEntity.prototype, "success", void 0);
74
+ __decorate([
75
+ (0, typeorm_1.Column)({ type: 'text', nullable: true, comment: '错误信息(如果失败)' }),
76
+ __metadata("design:type", String)
77
+ ], AuditActionSummaryEntity.prototype, "errorMessage", void 0);
78
+ __decorate([
79
+ (0, typeorm_1.Column)({ type: 'int', default: 0, comment: '操作耗时(毫秒)' }),
80
+ __metadata("design:type", Number)
81
+ ], AuditActionSummaryEntity.prototype, "duration", void 0);
82
+ __decorate([
83
+ (0, typeorm_1.Column)({ type: 'json', nullable: true, comment: '扩展元数据' }),
84
+ __metadata("design:type", Object)
85
+ ], AuditActionSummaryEntity.prototype, "metadata", void 0);
86
+ exports.AuditActionSummaryEntity = AuditActionSummaryEntity = __decorate([
87
+ (0, typeorm_1.Entity)('audit_action_summary')
88
+ // 单字段索引
89
+ ,
90
+ (0, typeorm_1.Index)('idx_action_name', ['actionName']),
91
+ (0, typeorm_1.Index)('idx_request_id', ['requestId']),
92
+ (0, typeorm_1.Index)('idx_user', ['userId']),
93
+ (0, typeorm_1.Index)('idx_created_at', ['createdAt']),
94
+ (0, typeorm_1.Index)('idx_success', ['success'])
95
+ // 复合索引 - 优化常见查询
96
+ ,
97
+ (0, typeorm_1.Index)('idx_action_user', ['actionName', 'userId']),
98
+ (0, typeorm_1.Index)('idx_user_time', ['userId', 'createdAt']),
99
+ (0, typeorm_1.Index)('idx_success_time', ['success', 'createdAt']),
100
+ (0, typeorm_1.Index)('idx_action_success_time', ['actionName', 'success', 'createdAt'])
101
+ ], AuditActionSummaryEntity);
@@ -1,5 +1,9 @@
1
1
  import { AbstractUuidPrimaryEntity } from '../../common/abstract.entity';
2
2
  import { AuditOperation } from '../enums';
3
+ import { ChangeDetail } from '../interfaces';
4
+ /**
5
+ * 实体审计日志
6
+ */
3
7
  export declare class EntityAuditLogEntity extends AbstractUuidPrimaryEntity {
4
8
  entityType: string;
5
9
  entityId: string;
@@ -7,12 +11,16 @@ export declare class EntityAuditLogEntity extends AbstractUuidPrimaryEntity {
7
11
  oldValue: Record<string, any>;
8
12
  newValue: Record<string, any>;
9
13
  changedFields: string[];
10
- changedFieldPaths: string;
11
14
  userId: string;
12
15
  username: string;
13
16
  requestId: string;
14
17
  requestIp: string;
15
18
  userAgent: string;
16
19
  description: string;
17
- hashChain: Record<string, any>;
20
+ auditActionId: string;
21
+ auditActionName: string;
22
+ sequenceInAction: number;
23
+ operationTemplateKey: string;
24
+ descriptionParams: Record<string, any>;
25
+ changeDetails: ChangeDetail[];
18
26
  }