@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,98 +1,307 @@
1
1
  import { AbstractUuidPrimaryEntity } from '../../common';
2
+ /**
3
+ * HTTP请求日志实体
4
+ * 用于TypeORM数据库记录
5
+ */
2
6
  export declare class HttpLogEntity extends AbstractUuidPrimaryEntity {
7
+ /**
8
+ * 请求ID(从ContextProvider获取)
9
+ */
3
10
  requestId?: string;
11
+ /**
12
+ * 用户ID(从ContextProvider获取)
13
+ */
4
14
  userId?: string;
15
+ /**
16
+ * HTTP方法
17
+ */
5
18
  method: string;
19
+ /**
20
+ * 请求URL
21
+ */
6
22
  url: string;
23
+ /**
24
+ * 请求头信息(JSON格式)
25
+ */
7
26
  headers?: Record<string, string>;
27
+ /**
28
+ * 请求体内容
29
+ */
8
30
  body?: string;
31
+ /**
32
+ * 查询参数(JSON格式)
33
+ */
9
34
  params?: Record<string, any>;
35
+ /**
36
+ * HTTP状态码
37
+ */
10
38
  statusCode?: number;
39
+ /**
40
+ * 响应时间(毫秒)
41
+ */
11
42
  responseTime: number;
43
+ /**
44
+ * 尝试次数
45
+ */
12
46
  attemptCount: number;
47
+ /**
48
+ * 是否成功
49
+ */
13
50
  success: boolean;
51
+ /**
52
+ * 错误信息
53
+ */
14
54
  errorMessage?: string;
55
+ /**
56
+ * 错误堆栈
57
+ */
15
58
  errorStack?: string;
59
+ /**
60
+ * 错误代码
61
+ */
16
62
  errorCode?: string;
63
+ /**
64
+ * 响应头信息(JSON格式)
65
+ */
17
66
  responseHeaders?: Record<string, string>;
67
+ /**
68
+ * 响应体内容
69
+ */
18
70
  responseBody?: string;
19
- responseSize?: number;
20
- requestSize?: number;
71
+ /**
72
+ * 服务名称(用于微服务环境)
73
+ */
21
74
  serviceName?: string;
75
+ /**
76
+ * 自定义操作名称(用于业务标识)
77
+ */
22
78
  operationName?: string;
79
+ /**
80
+ * 客户端IP地址
81
+ */
23
82
  clientIp?: string;
83
+ /**
84
+ * 请求来源
85
+ */
24
86
  source?: string;
87
+ /**
88
+ * 请求标签(用于分类)
89
+ */
25
90
  tags?: string[];
91
+ /**
92
+ * 请求元数据(JSON格式)
93
+ */
26
94
  metadata?: Record<string, any>;
95
+ /**
96
+ * 重试记录(JSON格式)
97
+ */
27
98
  retryRecords?: RetryRecord[];
28
- cacheHit?: boolean;
99
+ /**
100
+ * 熔断器状态
101
+ */
29
102
  circuitBreakerState?: string;
30
103
  }
104
+ /**
105
+ * 重试记录接口
106
+ */
31
107
  export interface RetryRecord {
108
+ /**
109
+ * 重试次数
110
+ */
32
111
  attempt: number;
112
+ /**
113
+ * 重试时间
114
+ */
33
115
  timestamp: Date;
116
+ /**
117
+ * 重试原因
118
+ */
34
119
  reason: string;
120
+ /**
121
+ * 重试延迟(毫秒)
122
+ */
35
123
  delay: number;
124
+ /**
125
+ * 错误信息
126
+ */
36
127
  error?: {
37
128
  message: string;
38
129
  code?: string;
39
130
  statusCode?: number;
40
131
  };
132
+ /**
133
+ * 请求配置(简化版)
134
+ */
41
135
  requestConfig?: {
42
136
  method: string;
43
137
  url: string;
44
138
  headers: Record<string, string>;
45
139
  };
46
140
  }
141
+ /**
142
+ * HTTP日志查询选项
143
+ */
47
144
  export interface HttpLogQueryOptions {
145
+ /**
146
+ * 请求ID
147
+ */
48
148
  requestId?: string;
149
+ /**
150
+ * 用户ID
151
+ */
49
152
  userId?: string;
153
+ /**
154
+ * HTTP方法
155
+ */
50
156
  method?: string | string[];
157
+ /**
158
+ * URL(支持模糊搜索)
159
+ */
51
160
  url?: string;
161
+ /**
162
+ * 状态码
163
+ */
52
164
  statusCode?: number | number[];
165
+ /**
166
+ * 是否成功
167
+ */
53
168
  success?: boolean;
169
+ /**
170
+ * 服务名称
171
+ */
54
172
  serviceName?: string;
173
+ /**
174
+ * 操作名称
175
+ */
55
176
  operationName?: string;
177
+ /**
178
+ * 客户端IP
179
+ */
56
180
  clientIp?: string;
181
+ /**
182
+ * 请求来源
183
+ */
57
184
  source?: string;
185
+ /**
186
+ * 标签
187
+ */
58
188
  tags?: string[];
189
+ /**
190
+ * 错误代码
191
+ */
59
192
  errorCode?: string;
193
+ /**
194
+ * 最小响应时间
195
+ */
60
196
  minResponseTime?: number;
197
+ /**
198
+ * 最大响应时间
199
+ */
61
200
  maxResponseTime?: number;
201
+ /**
202
+ * 开始时间
203
+ */
62
204
  startDate?: Date;
205
+ /**
206
+ * 结束时间
207
+ */
63
208
  endDate?: Date;
209
+ /**
210
+ * 搜索关键词
211
+ */
64
212
  keyword?: string;
213
+ /**
214
+ * 分页参数
215
+ */
65
216
  page?: number;
217
+ /**
218
+ * 每页数量
219
+ */
66
220
  limit?: number;
221
+ /**
222
+ * 排序字段
223
+ */
67
224
  sortBy?: 'createdAt' | 'responseTime' | 'statusCode' | 'url';
225
+ /**
226
+ * 排序方向
227
+ */
68
228
  sortOrder?: 'ASC' | 'DESC';
229
+ /**
230
+ * 是否包含详细数据
231
+ */
69
232
  includeDetails?: boolean;
70
233
  }
234
+ /**
235
+ * HTTP日志统计结果
236
+ */
71
237
  export interface HttpLogStats {
238
+ /**
239
+ * 总请求数
240
+ */
72
241
  totalRequests: number;
242
+ /**
243
+ * 成功请求数
244
+ */
73
245
  successfulRequests: number;
246
+ /**
247
+ * 失败请求数
248
+ */
74
249
  failedRequests: number;
250
+ /**
251
+ * 成功率
252
+ */
75
253
  successRate: number;
254
+ /**
255
+ * 平均响应时间
256
+ */
76
257
  averageResponseTime: number;
258
+ /**
259
+ * 最小响应时间
260
+ */
77
261
  minResponseTime: number;
262
+ /**
263
+ * 最大响应时间
264
+ */
78
265
  maxResponseTime: number;
266
+ /**
267
+ * P50响应时间
268
+ */
79
269
  p50ResponseTime: number;
270
+ /**
271
+ * P95响应时间
272
+ */
80
273
  p95ResponseTime: number;
274
+ /**
275
+ * P99响应时间
276
+ */
81
277
  p99ResponseTime: number;
278
+ /**
279
+ * 按方法统计
280
+ */
82
281
  requestsByMethod: Record<string, number>;
282
+ /**
283
+ * 按状态码统计
284
+ */
83
285
  requestsByStatus: Record<string, number>;
286
+ /**
287
+ * 按服务统计
288
+ */
84
289
  requestsByService: Record<string, number>;
290
+ /**
291
+ * 按来源统计
292
+ */
85
293
  requestsBySource: Record<string, number>;
294
+ /**
295
+ * 错误统计
296
+ */
86
297
  errorsByCode: Record<string, number>;
298
+ /**
299
+ * 重试统计
300
+ */
87
301
  retryStats: {
88
302
  totalRetries: number;
89
303
  averageRetries: number;
90
304
  maxRetries: number;
91
305
  retryRate: number;
92
306
  };
93
- cacheStats: {
94
- cacheHits: number;
95
- cacheMisses: number;
96
- cacheHitRate: number;
97
- };
98
307
  }
@@ -12,27 +12,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.HttpLogEntity = void 0;
13
13
  const typeorm_1 = require("typeorm");
14
14
  const common_1 = require("../../common");
15
+ /**
16
+ * HTTP请求日志实体
17
+ * 用于TypeORM数据库记录
18
+ */
15
19
  let HttpLogEntity = class HttpLogEntity extends common_1.AbstractUuidPrimaryEntity {
16
20
  };
17
21
  exports.HttpLogEntity = HttpLogEntity;
18
22
  __decorate([
19
23
  (0, typeorm_1.Column)({ type: 'varchar', length: 36, nullable: true }),
20
- (0, typeorm_1.Index)(),
21
24
  __metadata("design:type", String)
22
25
  ], HttpLogEntity.prototype, "requestId", void 0);
23
26
  __decorate([
24
27
  (0, typeorm_1.Column)({ type: 'varchar', length: 36, nullable: true }),
25
- (0, typeorm_1.Index)(),
26
28
  __metadata("design:type", String)
27
29
  ], HttpLogEntity.prototype, "userId", void 0);
28
30
  __decorate([
29
31
  (0, typeorm_1.Column)({ type: 'varchar', length: 10 }),
30
- (0, typeorm_1.Index)(),
31
32
  __metadata("design:type", String)
32
33
  ], HttpLogEntity.prototype, "method", void 0);
33
34
  __decorate([
34
- (0, typeorm_1.Column)({ type: 'text' }),
35
- (0, typeorm_1.Index)(),
35
+ (0, typeorm_1.Column)({ type: 'varchar' }),
36
36
  __metadata("design:type", String)
37
37
  ], HttpLogEntity.prototype, "url", void 0);
38
38
  __decorate([
@@ -49,7 +49,6 @@ __decorate([
49
49
  ], HttpLogEntity.prototype, "params", void 0);
50
50
  __decorate([
51
51
  (0, typeorm_1.Column)({ type: 'int', nullable: true }),
52
- (0, typeorm_1.Index)(),
53
52
  __metadata("design:type", Number)
54
53
  ], HttpLogEntity.prototype, "statusCode", void 0);
55
54
  __decorate([
@@ -62,7 +61,6 @@ __decorate([
62
61
  ], HttpLogEntity.prototype, "attemptCount", void 0);
63
62
  __decorate([
64
63
  (0, typeorm_1.Column)({ type: 'boolean', default: false }),
65
- (0, typeorm_1.Index)(),
66
64
  __metadata("design:type", Boolean)
67
65
  ], HttpLogEntity.prototype, "success", void 0);
68
66
  __decorate([
@@ -85,25 +83,17 @@ __decorate([
85
83
  (0, typeorm_1.Column)({ type: 'text', nullable: true }),
86
84
  __metadata("design:type", String)
87
85
  ], HttpLogEntity.prototype, "responseBody", void 0);
88
- __decorate([
89
- (0, typeorm_1.Column)({ type: 'int', nullable: true }),
90
- __metadata("design:type", Number)
91
- ], HttpLogEntity.prototype, "responseSize", void 0);
92
- __decorate([
93
- (0, typeorm_1.Column)({ type: 'int', nullable: true }),
94
- __metadata("design:type", Number)
95
- ], HttpLogEntity.prototype, "requestSize", void 0);
96
86
  __decorate([
97
87
  (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: true }),
98
88
  __metadata("design:type", String)
99
89
  ], HttpLogEntity.prototype, "serviceName", void 0);
100
90
  __decorate([
101
91
  (0, typeorm_1.Column)({ type: 'varchar', length: 200, nullable: true }),
102
- (0, typeorm_1.Index)(),
103
92
  __metadata("design:type", String)
104
93
  ], HttpLogEntity.prototype, "operationName", void 0);
105
94
  __decorate([
106
- (0, typeorm_1.Column)({ type: 'varchar', length: 45, nullable: true }),
95
+ (0, typeorm_1.Column)({ type: 'varchar', length: 45, nullable: true }) // 支持IPv6
96
+ ,
107
97
  __metadata("design:type", String)
108
98
  ], HttpLogEntity.prototype, "clientIp", void 0);
109
99
  __decorate([
@@ -122,10 +112,6 @@ __decorate([
122
112
  (0, typeorm_1.Column)({ type: 'json', nullable: true }),
123
113
  __metadata("design:type", Array)
124
114
  ], HttpLogEntity.prototype, "retryRecords", void 0);
125
- __decorate([
126
- (0, typeorm_1.Column)({ type: 'boolean', nullable: true }),
127
- __metadata("design:type", Boolean)
128
- ], HttpLogEntity.prototype, "cacheHit", void 0);
129
115
  __decorate([
130
116
  (0, typeorm_1.Column)({ type: 'varchar', length: 20, nullable: true }),
131
117
  __metadata("design:type", String)
@@ -135,7 +121,6 @@ exports.HttpLogEntity = HttpLogEntity = __decorate([
135
121
  (0, typeorm_1.Index)(['requestId']),
136
122
  (0, typeorm_1.Index)(['userId']),
137
123
  (0, typeorm_1.Index)(['method']),
138
- (0, typeorm_1.Index)(['url']),
139
124
  (0, typeorm_1.Index)(['statusCode']),
140
125
  (0, typeorm_1.Index)(['success']),
141
126
  (0, typeorm_1.Index)(['createdAt']),
@@ -1,3 +1,6 @@
1
+ /**
2
+ * HTTP客户端基础错误类
3
+ */
1
4
  export declare class HttpClientError extends Error {
2
5
  readonly code: string;
3
6
  readonly statusCode?: number;
@@ -5,52 +8,106 @@ export declare class HttpClientError extends Error {
5
8
  readonly config?: any;
6
9
  constructor(message: string, code?: string, statusCode?: number, response?: any, config?: any);
7
10
  }
11
+ /**
12
+ * 网络错误
13
+ */
8
14
  export declare class NetworkError extends HttpClientError {
9
15
  constructor(message: string, config?: any);
10
16
  }
17
+ /**
18
+ * 超时错误
19
+ */
11
20
  export declare class TimeoutError extends HttpClientError {
12
21
  constructor(message: string, config?: any);
13
22
  }
23
+ /**
24
+ * 重试失败错误
25
+ */
14
26
  export declare class RetryExhaustedError extends HttpClientError {
15
27
  readonly attempts: number;
16
28
  readonly lastError: any;
17
29
  constructor(message: string, attempts: number, lastError: any, config?: any);
18
30
  }
31
+ /**
32
+ * 熔断器开启错误
33
+ */
19
34
  export declare class CircuitBreakerOpenError extends HttpClientError {
20
35
  readonly circuitName: string;
21
36
  readonly failureCount: number;
22
37
  constructor(message: string, circuitName: string, failureCount: number, config?: any);
23
38
  }
39
+ /**
40
+ * API认证错误
41
+ */
24
42
  export declare class AuthenticationError extends HttpClientError {
25
43
  constructor(message: string, statusCode?: number, response?: any, config?: any);
26
44
  }
45
+ /**
46
+ * API授权错误
47
+ */
27
48
  export declare class AuthorizationError extends HttpClientError {
28
49
  constructor(message: string, statusCode?: number, response?: any, config?: any);
29
50
  }
51
+ /**
52
+ * 限流错误
53
+ */
30
54
  export declare class RateLimitError extends HttpClientError {
31
55
  readonly retryAfter?: number;
32
56
  readonly limit?: number;
33
57
  readonly remaining?: number;
34
58
  constructor(message: string, statusCode?: number, response?: any, config?: any, retryAfter?: number, limit?: number, remaining?: number);
35
59
  }
60
+ /**
61
+ * 服务器错误
62
+ */
36
63
  export declare class ServerError extends HttpClientError {
37
64
  constructor(message: string, statusCode?: number, response?: any, config?: any);
38
65
  }
66
+ /**
67
+ * 响应格式错误
68
+ */
39
69
  export declare class ResponseFormatError extends HttpClientError {
40
70
  readonly responseData: any;
41
71
  constructor(message: string, responseData: any, config?: any);
42
72
  }
73
+ /**
74
+ * API客户端配置错误
75
+ */
43
76
  export declare class ApiClientConfigError extends HttpClientError {
44
77
  constructor(message: string, config?: any);
45
78
  }
79
+ /**
80
+ * 缓存错误
81
+ */
46
82
  export declare class CacheError extends HttpClientError {
47
83
  constructor(message: string, config?: any);
48
84
  }
85
+ /**
86
+ * 错误工厂函数
87
+ */
49
88
  export declare class ErrorFactory {
89
+ /**
90
+ * 根据axios错误创建对应的HTTP客户端错误
91
+ */
50
92
  static fromAxiosError(error: any): HttpClientError;
93
+ /**
94
+ * 创建重试失败错误
95
+ */
51
96
  static createRetryExhaustedError(attempts: number, lastError: any, config?: any): RetryExhaustedError;
97
+ /**
98
+ * 创建熔断器开启错误
99
+ */
52
100
  static createCircuitBreakerOpenError(circuitName: string, failureCount: number, config?: any): CircuitBreakerOpenError;
101
+ /**
102
+ * 创建响应格式错误
103
+ */
53
104
  static createResponseFormatError(message: string, responseData: any, config?: any): ResponseFormatError;
105
+ /**
106
+ * 创建API客户端配置错误
107
+ */
54
108
  static createApiClientConfigError(message: string, config?: any): ApiClientConfigError;
109
+ /**
110
+ * 创建缓存错误
111
+ */
55
112
  static createCacheError(message: string, config?: any): CacheError;
56
113
  }
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ErrorFactory = exports.CacheError = exports.ApiClientConfigError = exports.ResponseFormatError = exports.ServerError = exports.RateLimitError = exports.AuthorizationError = exports.AuthenticationError = exports.CircuitBreakerOpenError = exports.RetryExhaustedError = exports.TimeoutError = exports.NetworkError = exports.HttpClientError = void 0;
4
+ /**
5
+ * HTTP客户端基础错误类
6
+ */
4
7
  class HttpClientError extends Error {
5
8
  constructor(message, code = 'HTTP_CLIENT_ERROR', statusCode, response, config) {
6
9
  super(message);
@@ -13,6 +16,9 @@ class HttpClientError extends Error {
13
16
  }
14
17
  }
15
18
  exports.HttpClientError = HttpClientError;
19
+ /**
20
+ * 网络错误
21
+ */
16
22
  class NetworkError extends HttpClientError {
17
23
  constructor(message, config) {
18
24
  super(message, 'NETWORK_ERROR', undefined, undefined, config);
@@ -20,6 +26,9 @@ class NetworkError extends HttpClientError {
20
26
  }
21
27
  }
22
28
  exports.NetworkError = NetworkError;
29
+ /**
30
+ * 超时错误
31
+ */
23
32
  class TimeoutError extends HttpClientError {
24
33
  constructor(message, config) {
25
34
  super(message, 'TIMEOUT_ERROR', undefined, undefined, config);
@@ -27,6 +36,9 @@ class TimeoutError extends HttpClientError {
27
36
  }
28
37
  }
29
38
  exports.TimeoutError = TimeoutError;
39
+ /**
40
+ * 重试失败错误
41
+ */
30
42
  class RetryExhaustedError extends HttpClientError {
31
43
  constructor(message, attempts, lastError, config) {
32
44
  super(message, 'RETRY_EXHAUSTED', undefined, undefined, config);
@@ -36,6 +48,9 @@ class RetryExhaustedError extends HttpClientError {
36
48
  }
37
49
  }
38
50
  exports.RetryExhaustedError = RetryExhaustedError;
51
+ /**
52
+ * 熔断器开启错误
53
+ */
39
54
  class CircuitBreakerOpenError extends HttpClientError {
40
55
  constructor(message, circuitName, failureCount, config) {
41
56
  super(message, 'CIRCUIT_BREAKER_OPEN', 503, undefined, config);
@@ -45,6 +60,9 @@ class CircuitBreakerOpenError extends HttpClientError {
45
60
  }
46
61
  }
47
62
  exports.CircuitBreakerOpenError = CircuitBreakerOpenError;
63
+ /**
64
+ * API认证错误
65
+ */
48
66
  class AuthenticationError extends HttpClientError {
49
67
  constructor(message, statusCode = 401, response, config) {
50
68
  super(message, 'AUTHENTICATION_ERROR', statusCode, response, config);
@@ -52,6 +70,9 @@ class AuthenticationError extends HttpClientError {
52
70
  }
53
71
  }
54
72
  exports.AuthenticationError = AuthenticationError;
73
+ /**
74
+ * API授权错误
75
+ */
55
76
  class AuthorizationError extends HttpClientError {
56
77
  constructor(message, statusCode = 403, response, config) {
57
78
  super(message, 'AUTHORIZATION_ERROR', statusCode, response, config);
@@ -59,6 +80,9 @@ class AuthorizationError extends HttpClientError {
59
80
  }
60
81
  }
61
82
  exports.AuthorizationError = AuthorizationError;
83
+ /**
84
+ * 限流错误
85
+ */
62
86
  class RateLimitError extends HttpClientError {
63
87
  constructor(message, statusCode = 429, response, config, retryAfter, limit, remaining) {
64
88
  super(message, 'RATE_LIMIT_ERROR', statusCode, response, config);
@@ -69,6 +93,9 @@ class RateLimitError extends HttpClientError {
69
93
  }
70
94
  }
71
95
  exports.RateLimitError = RateLimitError;
96
+ /**
97
+ * 服务器错误
98
+ */
72
99
  class ServerError extends HttpClientError {
73
100
  constructor(message, statusCode = 500, response, config) {
74
101
  super(message, 'SERVER_ERROR', statusCode, response, config);
@@ -76,6 +103,9 @@ class ServerError extends HttpClientError {
76
103
  }
77
104
  }
78
105
  exports.ServerError = ServerError;
106
+ /**
107
+ * 响应格式错误
108
+ */
79
109
  class ResponseFormatError extends HttpClientError {
80
110
  constructor(message, responseData, config) {
81
111
  super(message, 'RESPONSE_FORMAT_ERROR', undefined, undefined, config);
@@ -84,6 +114,9 @@ class ResponseFormatError extends HttpClientError {
84
114
  }
85
115
  }
86
116
  exports.ResponseFormatError = ResponseFormatError;
117
+ /**
118
+ * API客户端配置错误
119
+ */
87
120
  class ApiClientConfigError extends HttpClientError {
88
121
  constructor(message, config) {
89
122
  super(message, 'API_CLIENT_CONFIG_ERROR', 500, undefined, config);
@@ -91,6 +124,9 @@ class ApiClientConfigError extends HttpClientError {
91
124
  }
92
125
  }
93
126
  exports.ApiClientConfigError = ApiClientConfigError;
127
+ /**
128
+ * 缓存错误
129
+ */
94
130
  class CacheError extends HttpClientError {
95
131
  constructor(message, config) {
96
132
  super(message, 'CACHE_ERROR', undefined, undefined, config);
@@ -98,11 +134,18 @@ class CacheError extends HttpClientError {
98
134
  }
99
135
  }
100
136
  exports.CacheError = CacheError;
137
+ /**
138
+ * 错误工厂函数
139
+ */
101
140
  class ErrorFactory {
141
+ /**
142
+ * 根据axios错误创建对应的HTTP客户端错误
143
+ */
102
144
  static fromAxiosError(error) {
103
145
  const config = error.config;
104
146
  const response = error.response;
105
147
  const message = error.message || 'Unknown error';
148
+ // 网络错误
106
149
  if (!error.response) {
107
150
  if (error.code === 'ECONNABORTED') {
108
151
  return new TimeoutError(`Request timeout: ${message}`, config);
@@ -130,18 +173,33 @@ class ErrorFactory {
130
173
  return new HttpClientError((responseData === null || responseData === void 0 ? void 0 : responseData.message) || `HTTP error (${statusCode})`, 'HTTP_ERROR', statusCode, response, config);
131
174
  }
132
175
  }
176
+ /**
177
+ * 创建重试失败错误
178
+ */
133
179
  static createRetryExhaustedError(attempts, lastError, config) {
134
180
  return new RetryExhaustedError(`Retry failed after ${attempts} attempts. Last error: ${lastError.message}`, attempts, lastError, config);
135
181
  }
182
+ /**
183
+ * 创建熔断器开启错误
184
+ */
136
185
  static createCircuitBreakerOpenError(circuitName, failureCount, config) {
137
186
  return new CircuitBreakerOpenError(`Circuit breaker '${circuitName}' is open after ${failureCount} failures`, circuitName, failureCount, config);
138
187
  }
188
+ /**
189
+ * 创建响应格式错误
190
+ */
139
191
  static createResponseFormatError(message, responseData, config) {
140
192
  return new ResponseFormatError(message, responseData, config);
141
193
  }
194
+ /**
195
+ * 创建API客户端配置错误
196
+ */
142
197
  static createApiClientConfigError(message, config) {
143
198
  return new ApiClientConfigError(message, config);
144
199
  }
200
+ /**
201
+ * 创建缓存错误
202
+ */
145
203
  static createCacheError(message, config) {
146
204
  return new CacheError(message, config);
147
205
  }