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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. package/audit/audit.module.d.ts +10 -0
  2. package/audit/audit.module.js +63 -1
  3. package/audit/controllers/audit.controller.d.ts +88 -0
  4. package/audit/controllers/audit.controller.js +74 -0
  5. package/audit/decorators/audit-action.decorator.d.ts +74 -0
  6. package/audit/decorators/audit-action.decorator.js +42 -0
  7. package/audit/decorators/audit-controller.decorator.d.ts +9 -1
  8. package/audit/decorators/audit-controller.decorator.js +11 -2
  9. package/audit/decorators/audit-operation.decorator.d.ts +45 -0
  10. package/audit/decorators/audit-operation.decorator.js +49 -0
  11. package/audit/decorators/entity-audit.decorator.d.ts +85 -1
  12. package/audit/decorators/entity-audit.decorator.js +153 -3
  13. package/audit/decorators/index.d.ts +2 -0
  14. package/audit/decorators/index.js +2 -0
  15. package/audit/dto/audit-log-query.dto.d.ts +3 -0
  16. package/audit/dto/audit-log-query.dto.js +3 -0
  17. package/audit/dto/begin-transaction.dto.d.ts +3 -0
  18. package/audit/dto/begin-transaction.dto.js +3 -0
  19. package/audit/dto/compare-entities.dto.d.ts +3 -0
  20. package/audit/dto/compare-entities.dto.js +3 -0
  21. package/audit/dto/pre-check-restore.dto.d.ts +3 -0
  22. package/audit/dto/pre-check-restore.dto.js +3 -0
  23. package/audit/dto/restore-entity.dto.d.ts +3 -0
  24. package/audit/dto/restore-entity.dto.js +3 -0
  25. package/audit/entities/audit-action-summary.entity.d.ts +23 -0
  26. package/audit/entities/audit-action-summary.entity.js +101 -0
  27. package/audit/entities/entity-audit-log.entity.d.ts +11 -0
  28. package/audit/entities/entity-audit-log.entity.js +57 -2
  29. package/audit/entities/entity-transaction.entity.d.ts +11 -2
  30. package/audit/entities/entity-transaction.entity.js +42 -3
  31. package/audit/entities/index.d.ts +3 -0
  32. package/audit/entities/index.js +3 -0
  33. package/audit/entities/manual-operation-log.entity.d.ts +4 -0
  34. package/audit/entities/manual-operation-log.entity.js +12 -1
  35. package/audit/entities/operation-template.entity.d.ts +4 -0
  36. package/audit/entities/operation-template.entity.js +4 -0
  37. package/audit/enums/audit.enums.d.ts +37 -6
  38. package/audit/enums/audit.enums.js +40 -7
  39. package/audit/index.d.ts +4 -1
  40. package/audit/index.js +34 -1
  41. package/audit/interceptors/audit-action.interceptor.d.ts +38 -0
  42. package/audit/interceptors/audit-action.interceptor.js +215 -0
  43. package/audit/interceptors/audit.interceptor.d.ts +15 -0
  44. package/audit/interceptors/audit.interceptor.js +23 -1
  45. package/audit/interceptors/index.d.ts +1 -0
  46. package/audit/interceptors/index.js +1 -0
  47. package/audit/interfaces/audit.interfaces.d.ts +187 -2
  48. package/audit/services/audit-action.service.d.ts +141 -0
  49. package/audit/services/audit-action.service.js +244 -0
  50. package/audit/services/audit-context.service.d.ts +97 -0
  51. package/audit/services/audit-context.service.js +185 -0
  52. package/audit/services/audit-strategy.service.d.ts +6 -0
  53. package/audit/services/audit-strategy.service.js +13 -0
  54. package/audit/services/entity-audit.service.d.ts +230 -3
  55. package/audit/services/entity-audit.service.js +607 -14
  56. package/audit/services/index.d.ts +3 -0
  57. package/audit/services/index.js +3 -0
  58. package/audit/services/manual-audit-log.service.d.ts +134 -9
  59. package/audit/services/manual-audit-log.service.js +157 -40
  60. package/audit/services/multi-database.service.d.ts +9 -2
  61. package/audit/services/multi-database.service.js +9 -21
  62. package/audit/services/operation-description.service.d.ts +71 -2
  63. package/audit/services/operation-description.service.js +231 -20
  64. package/audit/services/transaction-audit.service.d.ts +30 -0
  65. package/audit/services/transaction-audit.service.js +53 -5
  66. package/audit/subscribers/entity-audit.subscriber.d.ts +19 -0
  67. package/audit/subscribers/entity-audit.subscriber.js +76 -1
  68. package/cache/cache-metrics.service.d.ts +67 -0
  69. package/cache/cache-metrics.service.js +68 -4
  70. package/cache/cache-serialization.service.d.ts +31 -0
  71. package/cache/cache-serialization.service.js +25 -0
  72. package/cache/cache.constants.d.ts +9 -0
  73. package/cache/cache.constants.js +9 -0
  74. package/cache/cache.health.d.ts +26 -0
  75. package/cache/cache.health.js +30 -0
  76. package/cache/cache.module.d.ts +82 -2
  77. package/cache/cache.module.js +76 -5
  78. package/cache/cache.service.d.ts +140 -0
  79. package/cache/cache.service.js +169 -0
  80. package/cache/cache.warmup.service.d.ts +39 -0
  81. package/cache/cache.warmup.service.js +32 -0
  82. package/cache/decorators/cache-evict.decorator.d.ts +47 -0
  83. package/cache/decorators/cache-evict.decorator.js +56 -0
  84. package/cache/decorators/cache-put.decorator.d.ts +34 -0
  85. package/cache/decorators/cache-put.decorator.js +39 -0
  86. package/cache/decorators/cacheable.decorator.d.ts +40 -0
  87. package/cache/decorators/cacheable.decorator.js +55 -0
  88. package/cache/dependencies/callback.dependency.d.ts +33 -0
  89. package/cache/dependencies/callback.dependency.js +39 -1
  90. package/cache/dependencies/chain.dependency.d.ts +28 -0
  91. package/cache/dependencies/chain.dependency.js +34 -0
  92. package/cache/dependencies/db.dependency.d.ts +83 -7
  93. package/cache/dependencies/db.dependency.js +89 -14
  94. package/cache/dependencies/file.dependency.d.ts +32 -0
  95. package/cache/dependencies/file.dependency.js +34 -0
  96. package/cache/dependencies/tag.dependency.d.ts +75 -4
  97. package/cache/dependencies/tag.dependency.js +145 -11
  98. package/cache/dependencies/time.dependency.d.ts +43 -0
  99. package/cache/dependencies/time.dependency.js +43 -0
  100. package/cache/examples/basic-usage.d.ts +15 -0
  101. package/cache/examples/basic-usage.js +62 -8
  102. package/cache/index.js +9 -0
  103. package/cache/interfaces/cache-dependency.interface.d.ts +53 -0
  104. package/cache/interfaces/cache-options.interface.d.ts +89 -0
  105. package/cache/interfaces/cache-options.interface.js +6 -0
  106. package/cache/interfaces/cache-provider.interface.d.ts +78 -0
  107. package/cache/providers/base-cache.provider.d.ts +14 -0
  108. package/cache/providers/base-cache.provider.js +16 -0
  109. package/cache/providers/cls-cache.provider.d.ts +20 -0
  110. package/cache/providers/cls-cache.provider.js +28 -0
  111. package/cache/providers/memory-cache.provider.d.ts +43 -0
  112. package/cache/providers/memory-cache.provider.js +66 -0
  113. package/cache/providers/redis-cache.provider.d.ts +26 -0
  114. package/cache/providers/redis-cache.provider.js +29 -0
  115. package/cache/utils/dependency-manager.util.d.ts +52 -0
  116. package/cache/utils/dependency-manager.util.js +59 -0
  117. package/cache/utils/key-generator.util.d.ts +42 -0
  118. package/cache/utils/key-generator.util.js +53 -1
  119. package/common/abstract.entity.d.ts +14 -0
  120. package/common/abstract.entity.js +14 -0
  121. package/common/boilerplate.polyfill.d.ts +142 -0
  122. package/common/boilerplate.polyfill.js +18 -1
  123. package/common/dto/dto-container.d.ts +16 -0
  124. package/common/dto/dto-container.js +20 -0
  125. package/common/dto/dto-decorators.d.ts +18 -0
  126. package/common/dto/dto-decorators.js +14 -0
  127. package/common/dto/dto-extensions.d.ts +11 -0
  128. package/common/dto/dto-extensions.js +9 -0
  129. package/common/dto/dto-service-accessor.d.ts +17 -0
  130. package/common/dto/dto-service-accessor.js +18 -0
  131. package/common/dto/dto-transformer.d.ts +12 -0
  132. package/common/dto/dto-transformer.js +9 -0
  133. package/common/dto/index.js +2 -0
  134. package/common/examples/paginate-and-map.example.d.ts +6 -0
  135. package/common/examples/paginate-and-map.example.js +26 -0
  136. package/common/utils.d.ts +15 -0
  137. package/common/utils.js +15 -0
  138. package/constants/language-code.js +1 -0
  139. package/decorators/field.decorators.d.ts +1 -1
  140. package/decorators/field.decorators.js +8 -1
  141. package/decorators/property.decorators.js +1 -0
  142. package/decorators/public-route.decorator.js +1 -0
  143. package/decorators/transform.decorators.d.ts +27 -0
  144. package/decorators/transform.decorators.js +29 -0
  145. package/decorators/translate.decorator.js +1 -0
  146. package/decorators/user.decorator.js +1 -0
  147. package/decorators/validator.decorators.d.ts +8 -18
  148. package/decorators/validator.decorators.js +22 -190
  149. package/file-upload/controllers/file-access.controller.d.ts +23 -0
  150. package/file-upload/controllers/file-access.controller.js +128 -0
  151. package/file-upload/decorators/column.decorator.d.ts +151 -0
  152. package/file-upload/decorators/column.decorator.js +273 -0
  153. package/file-upload/decorators/csv-data.decorator.d.ts +30 -0
  154. package/file-upload/decorators/csv-data.decorator.js +85 -0
  155. package/file-upload/decorators/csv-import.decorator.d.ts +34 -0
  156. package/file-upload/decorators/csv-import.decorator.js +24 -0
  157. package/file-upload/decorators/examples/column-mapping.example.d.ts +76 -0
  158. package/file-upload/decorators/examples/column-mapping.example.js +122 -0
  159. package/file-upload/decorators/excel-data.decorator.d.ts +30 -0
  160. package/file-upload/decorators/excel-data.decorator.js +85 -0
  161. package/file-upload/decorators/file-upload.decorator.d.ts +83 -0
  162. package/file-upload/decorators/file-upload.decorator.js +172 -0
  163. package/file-upload/decorators/index.d.ts +5 -0
  164. package/file-upload/decorators/index.js +38 -0
  165. package/file-upload/decorators/process.decorator.d.ts +40 -0
  166. package/file-upload/decorators/process.decorator.js +52 -0
  167. package/file-upload/decorators/validate-data.decorator.d.ts +91 -0
  168. package/file-upload/decorators/validate-data.decorator.js +39 -0
  169. package/file-upload/dto/create-file.dto.d.ts +24 -0
  170. package/file-upload/dto/create-file.dto.js +112 -0
  171. package/file-upload/dto/find-files.dto.d.ts +15 -0
  172. package/file-upload/dto/find-files.dto.js +76 -0
  173. package/file-upload/dto/index.d.ts +4 -0
  174. package/file-upload/dto/index.js +20 -0
  175. package/file-upload/dto/pagination.dto.d.ts +7 -0
  176. package/file-upload/dto/pagination.dto.js +39 -0
  177. package/file-upload/dto/update-file.dto.d.ts +15 -0
  178. package/file-upload/dto/update-file.dto.js +67 -0
  179. package/file-upload/entities/file-metadata.entity.d.ts +25 -0
  180. package/file-upload/entities/file-metadata.entity.js +76 -0
  181. package/file-upload/entities/file.entity.d.ts +114 -0
  182. package/file-upload/entities/file.entity.js +350 -0
  183. package/file-upload/entities/index.d.ts +2 -0
  184. package/file-upload/entities/index.js +18 -0
  185. package/file-upload/enums/file-type.enum.d.ts +72 -0
  186. package/file-upload/enums/file-type.enum.js +212 -0
  187. package/file-upload/exceptions/file-upload.exception.d.ts +57 -0
  188. package/file-upload/exceptions/file-upload.exception.js +120 -0
  189. package/file-upload/exceptions/index.d.ts +1 -0
  190. package/file-upload/exceptions/index.js +17 -0
  191. package/file-upload/file-upload.module.d.ts +89 -0
  192. package/file-upload/file-upload.module.js +292 -0
  193. package/file-upload/index.d.ts +37 -0
  194. package/file-upload/index.js +77 -0
  195. package/file-upload/interceptors/file-upload.interceptor.d.ts +101 -0
  196. package/file-upload/interceptors/file-upload.interceptor.js +594 -0
  197. package/file-upload/interceptors/index.d.ts +1 -0
  198. package/file-upload/interceptors/index.js +17 -0
  199. package/file-upload/interfaces/custom-file-type.interface.d.ts +72 -0
  200. package/file-upload/interfaces/custom-file-type.interface.js +2 -0
  201. package/file-upload/interfaces/file-buffer.interface.d.ts +72 -0
  202. package/file-upload/interfaces/file-buffer.interface.js +2 -0
  203. package/file-upload/interfaces/file-entity.interface.d.ts +142 -0
  204. package/file-upload/interfaces/file-entity.interface.js +28 -0
  205. package/file-upload/interfaces/file-metadata.interface.d.ts +21 -0
  206. package/file-upload/interfaces/file-metadata.interface.js +2 -0
  207. package/file-upload/interfaces/file-processor.interface.d.ts +93 -0
  208. package/file-upload/interfaces/file-processor.interface.js +2 -0
  209. package/file-upload/interfaces/file-upload-options.interface.d.ts +74 -0
  210. package/file-upload/interfaces/file-upload-options.interface.js +5 -0
  211. package/file-upload/interfaces/index.d.ts +7 -0
  212. package/file-upload/interfaces/index.js +24 -0
  213. package/file-upload/interfaces/processor-options.interface.d.ts +102 -0
  214. package/file-upload/interfaces/processor-options.interface.js +2 -0
  215. package/file-upload/interfaces/storage-provider.interface.d.ts +239 -0
  216. package/file-upload/interfaces/storage-provider.interface.js +2 -0
  217. package/file-upload/interfaces/upload-options.interface.d.ts +19 -0
  218. package/file-upload/interfaces/upload-options.interface.js +2 -0
  219. package/file-upload/processors/csv.processor.d.ts +98 -0
  220. package/file-upload/processors/csv.processor.js +391 -0
  221. package/file-upload/processors/excel.processor.d.ts +130 -0
  222. package/file-upload/processors/excel.processor.js +547 -0
  223. package/file-upload/processors/image.processor.d.ts +199 -0
  224. package/file-upload/processors/image.processor.js +377 -0
  225. package/file-upload/providers/index.d.ts +2 -0
  226. package/file-upload/providers/index.js +18 -0
  227. package/file-upload/providers/local-storage.provider.d.ts +98 -0
  228. package/file-upload/providers/local-storage.provider.js +484 -0
  229. package/file-upload/providers/s3-storage.provider.d.ts +87 -0
  230. package/file-upload/providers/s3-storage.provider.js +455 -0
  231. package/file-upload/services/file-signature-validator.service.d.ts +118 -0
  232. package/file-upload/services/file-signature-validator.service.js +376 -0
  233. package/file-upload/services/file.service.d.ts +193 -0
  234. package/file-upload/services/file.service.js +638 -0
  235. package/file-upload/services/index.d.ts +4 -0
  236. package/file-upload/services/index.js +20 -0
  237. package/file-upload/services/malicious-file-detector.service.d.ts +300 -0
  238. package/file-upload/services/malicious-file-detector.service.js +1234 -0
  239. package/file-upload/services/mime-registry.service.d.ts +47 -0
  240. package/file-upload/services/mime-registry.service.js +167 -0
  241. package/file-upload/utils/checksum.util.d.ts +28 -0
  242. package/file-upload/utils/checksum.util.js +65 -0
  243. package/file-upload/utils/dynamic-import.util.d.ts +54 -0
  244. package/file-upload/utils/dynamic-import.util.js +156 -0
  245. package/file-upload/utils/filename.util.d.ts +59 -0
  246. package/file-upload/utils/filename.util.js +184 -0
  247. package/file-upload/utils/filepath.util.d.ts +70 -0
  248. package/file-upload/utils/filepath.util.js +152 -0
  249. package/file-upload/utils/index.d.ts +4 -0
  250. package/file-upload/utils/index.js +20 -0
  251. package/filters/constraint-errors.js +1 -0
  252. package/helpers/common.helper.d.ts +13 -0
  253. package/helpers/common.helper.js +13 -0
  254. package/http-client/config/http-client.config.d.ts +20 -0
  255. package/http-client/config/http-client.config.js +48 -21
  256. package/http-client/decorators/http-client.decorators.d.ts +55 -14
  257. package/http-client/decorators/http-client.decorators.js +154 -78
  258. package/http-client/entities/http-log.entity.d.ts +217 -8
  259. package/http-client/entities/http-log.entity.js +7 -22
  260. package/http-client/errors/http-client.errors.d.ts +57 -0
  261. package/http-client/errors/http-client.errors.js +58 -0
  262. package/http-client/examples/advanced-usage.example.d.ts +40 -0
  263. package/http-client/examples/advanced-usage.example.js +53 -61
  264. package/http-client/examples/auth-with-waiting-lock.example.d.ts +31 -0
  265. package/http-client/examples/auth-with-waiting-lock.example.js +52 -5
  266. package/http-client/examples/basic-usage.example.d.ts +60 -0
  267. package/http-client/examples/basic-usage.example.js +60 -0
  268. package/http-client/examples/multi-api-configuration.example.d.ts +60 -0
  269. package/http-client/examples/multi-api-configuration.example.js +76 -5
  270. package/http-client/examples/proxy-from-environment.example.d.ts +133 -0
  271. package/http-client/examples/proxy-from-environment.example.js +409 -0
  272. package/http-client/http-client.module.d.ts +48 -2
  273. package/http-client/http-client.module.js +147 -68
  274. package/http-client/index.d.ts +1 -1
  275. package/http-client/index.js +8 -0
  276. package/http-client/interfaces/api-client-config.interface.d.ts +80 -45
  277. package/http-client/interfaces/api-client-config.interface.js +3 -0
  278. package/http-client/interfaces/http-client-config.interface.d.ts +109 -52
  279. package/http-client/services/api-client-registry.service.d.ts +50 -11
  280. package/http-client/services/api-client-registry.service.js +90 -250
  281. package/http-client/services/circuit-breaker.service.d.ts +115 -2
  282. package/http-client/services/circuit-breaker.service.js +237 -7
  283. package/http-client/services/http-client.service.d.ts +124 -14
  284. package/http-client/services/http-client.service.js +437 -148
  285. package/http-client/services/http-log-query.service.d.ts +83 -0
  286. package/http-client/services/http-log-query.service.js +121 -13
  287. package/http-client/services/http-replay.service.d.ts +101 -0
  288. package/http-client/services/http-replay.service.js +86 -0
  289. package/http-client/services/index.d.ts +0 -1
  290. package/http-client/services/index.js +0 -1
  291. package/http-client/services/log-cleanup.service.d.ts +63 -0
  292. package/http-client/services/log-cleanup.service.js +54 -2
  293. package/http-client/services/logging.service.d.ts +116 -7
  294. package/http-client/services/logging.service.js +349 -86
  295. package/http-client/utils/call-stack-extractor.util.d.ts +63 -0
  296. package/http-client/utils/call-stack-extractor.util.js +83 -0
  297. package/http-client/utils/context-extractor.util.d.ts +49 -0
  298. package/http-client/utils/context-extractor.util.js +52 -0
  299. package/http-client/utils/curl-generator.util.d.ts +21 -0
  300. package/http-client/utils/curl-generator.util.js +44 -3
  301. package/http-client/utils/index.d.ts +1 -0
  302. package/http-client/utils/index.js +1 -0
  303. package/http-client/utils/proxy-environment.util.d.ts +42 -0
  304. package/http-client/utils/proxy-environment.util.js +148 -0
  305. package/http-client/utils/request-id.util.d.ts +18 -0
  306. package/http-client/utils/request-id.util.js +20 -0
  307. package/http-client/utils/retry-recorder.util.d.ts +42 -0
  308. package/http-client/utils/retry-recorder.util.js +44 -0
  309. package/http-client/utils/security-validator.util.d.ts +118 -0
  310. package/http-client/utils/security-validator.util.js +352 -0
  311. package/index.d.ts +3 -1
  312. package/index.js +12 -1
  313. package/interceptors/translation-interceptor.service.js +5 -0
  314. package/package.json +11 -7
  315. package/providers/context.provider.js +2 -0
  316. package/providers/generator.provider.d.ts +4 -0
  317. package/providers/generator.provider.js +4 -0
  318. package/redis-lock/comprehensive-lock-cleanup.service.d.ts +94 -0
  319. package/redis-lock/comprehensive-lock-cleanup.service.js +253 -0
  320. package/redis-lock/examples/lock-strategy.examples.d.ts +89 -0
  321. package/redis-lock/examples/lock-strategy.examples.js +130 -15
  322. package/redis-lock/index.d.ts +2 -0
  323. package/redis-lock/index.js +8 -1
  324. package/redis-lock/lock-heartbeat.service.d.ts +80 -0
  325. package/redis-lock/lock-heartbeat.service.js +232 -0
  326. package/redis-lock/redis-lock.decorator.d.ts +101 -0
  327. package/redis-lock/redis-lock.decorator.js +120 -0
  328. package/redis-lock/redis-lock.module.d.ts +66 -0
  329. package/redis-lock/redis-lock.module.js +175 -70
  330. package/redis-lock/redis-lock.service.d.ts +282 -0
  331. package/redis-lock/redis-lock.service.js +343 -20
  332. package/setup/bootstrap.setup.d.ts +1 -0
  333. package/setup/bootstrap.setup.js +21 -0
  334. package/setup/index.d.ts +1 -0
  335. package/setup/index.js +1 -0
  336. package/setup/mode.setup.d.ts +44 -0
  337. package/setup/mode.setup.js +44 -0
  338. package/setup/run-in-mode.decorator.d.ts +56 -0
  339. package/setup/run-in-mode.decorator.js +92 -0
  340. package/setup/schedule.decorator.d.ts +227 -0
  341. package/setup/schedule.decorator.js +240 -12
  342. package/setup/worker.decorator.d.ts +86 -0
  343. package/setup/worker.decorator.js +97 -0
  344. package/shared/index.d.ts +1 -1
  345. package/shared/index.js +1 -1
  346. package/shared/{serviceRegistryModule.js → service-registry.module.js} +19 -17
  347. package/shared/services/api-config.service.d.ts +3 -0
  348. package/shared/services/api-config.service.js +21 -9
  349. package/shared/services/index.d.ts +0 -1
  350. package/shared/services/index.js +0 -1
  351. package/validator-json/decorators.d.ts +17 -0
  352. package/validator-json/decorators.js +17 -2
  353. package/validator-json/default.d.ts +6 -0
  354. package/validator-json/default.js +30 -2
  355. package/validator-json/defaultConverters.js +1 -0
  356. package/validator-json/options.d.ts +23 -0
  357. package/validators/common-validators.d.ts +143 -0
  358. package/validators/common-validators.js +249 -0
  359. package/validators/custom-validate.examples.d.ts +23 -0
  360. package/validators/custom-validate.examples.js +78 -6
  361. package/validators/custom-validate.validator.d.ts +108 -0
  362. package/validators/custom-validate.validator.js +85 -0
  363. package/validators/file-mimetype.validator.d.ts +0 -2
  364. package/validators/file-mimetype.validator.js +4 -6
  365. package/validators/index.d.ts +1 -0
  366. package/validators/index.js +1 -0
  367. package/validators/is-exists.validator.d.ts +26 -6
  368. package/validators/is-exists.validator.js +30 -7
  369. package/validators/is-unique.validator.d.ts +33 -7
  370. package/validators/is-unique.validator.js +59 -17
  371. package/validators/skip-empty.validator.d.ts +5 -0
  372. package/validators/skip-empty.validator.js +5 -0
  373. package/vault/interfaces/vault-options.interface.d.ts +9 -0
  374. package/vault/vault-config.loader.d.ts +30 -0
  375. package/vault/vault-config.loader.js +48 -1
  376. package/vault/vault-config.service.d.ts +53 -0
  377. package/vault/vault-config.service.js +57 -0
  378. package/vault/vault.module.d.ts +4 -0
  379. package/vault/vault.module.js +4 -0
  380. package/decorators/examples/validation-decorators.example.d.ts +0 -69
  381. package/decorators/examples/validation-decorators.example.js +0 -331
  382. package/http-client/services/cache.service.d.ts +0 -24
  383. package/http-client/services/cache.service.js +0 -264
  384. package/shared/services/validator.service.d.ts +0 -3
  385. package/shared/services/validator.service.js +0 -20
  386. /package/shared/{serviceRegistryModule.d.ts → service-registry.module.d.ts} +0 -0
@@ -1,19 +1,55 @@
1
1
  import { HttpClientService, HttpLogQueryService } from '../services';
2
2
  import { HttpLogQueryOptions } from '../entities';
3
+ /**
4
+ * 基本使用示例
5
+ */
3
6
  export declare class BasicHttpExample {
4
7
  private readonly httpClient;
5
8
  private readonly logQueryService;
6
9
  constructor(httpClient: HttpClientService, logQueryService: HttpLogQueryService);
10
+ /**
11
+ * 简单GET请求
12
+ */
7
13
  getUser(id: string): Promise<any>;
14
+ /**
15
+ * 带参数的GET请求
16
+ */
8
17
  searchUsers(query: string, page?: number, limit?: number): Promise<any>;
18
+ /**
19
+ * POST请求
20
+ */
9
21
  createUser(userData: any): Promise<any>;
22
+ /**
23
+ * PUT请求
24
+ */
10
25
  updateUser(id: string, userData: any): Promise<any>;
26
+ /**
27
+ * DELETE请求
28
+ */
11
29
  deleteUser(id: string): Promise<any>;
30
+ /**
31
+ * 文件上传
32
+ */
12
33
  uploadFile(file: Buffer, filename: string): Promise<any>;
34
+ /**
35
+ * 自定义请求配置
36
+ */
13
37
  customRequest(): Promise<any>;
38
+ /**
39
+ * 获取统计信息
40
+ */
14
41
  getStatistics(): any;
42
+ /**
43
+ * 重置统计信息
44
+ */
15
45
  resetStatistics(): void;
46
+ /**
47
+ * 生成curl命令
48
+ */
16
49
  generateCurlForRequest(url: string, method?: string, data?: any): string;
50
+ /**
51
+ * 查询HTTP日志
52
+ */
17
53
  queryHttpLogs(options?: HttpLogQueryOptions): Promise<{
18
54
  logs: import("../entities").HttpLogEntity[];
19
55
  total: number;
@@ -21,18 +57,30 @@ export declare class BasicHttpExample {
21
57
  limit: number;
22
58
  totalPages: number;
23
59
  }>;
60
+ /**
61
+ * 查询错误日志
62
+ */
24
63
  findErrorLogs(limit?: number): Promise<{
25
64
  logs: import("../entities").HttpLogEntity[];
26
65
  total: number;
27
66
  }>;
67
+ /**
68
+ * 查询慢请求
69
+ */
28
70
  findSlowRequests(minResponseTime?: number): Promise<{
29
71
  logs: import("../entities").HttpLogEntity[];
30
72
  total: number;
31
73
  }>;
74
+ /**
75
+ * 查询重试日志
76
+ */
32
77
  findRetryLogs(minRetries?: number): Promise<{
33
78
  logs: import("../entities").HttpLogEntity[];
34
79
  total: number;
35
80
  }>;
81
+ /**
82
+ * 根据服务名称查询日志
83
+ */
36
84
  findLogsByServiceName(serviceName: string, limit?: number): Promise<{
37
85
  logs: import("../entities").HttpLogEntity[];
38
86
  total: number;
@@ -40,6 +88,9 @@ export declare class BasicHttpExample {
40
88
  limit: number;
41
89
  totalPages: number;
42
90
  }>;
91
+ /**
92
+ * 根据操作名称查询日志
93
+ */
43
94
  findLogsByOperationName(operationName: string, limit?: number): Promise<{
44
95
  logs: import("../entities").HttpLogEntity[];
45
96
  total: number;
@@ -47,7 +98,16 @@ export declare class BasicHttpExample {
47
98
  limit: number;
48
99
  totalPages: number;
49
100
  }>;
101
+ /**
102
+ * 获取HTTP统计信息
103
+ */
50
104
  getHttpStats(startDate?: Date, endDate?: Date): Promise<import("../entities").HttpLogStats>;
105
+ /**
106
+ * 根据请求ID查询日志
107
+ */
51
108
  findLogByRequestId(requestId: string): Promise<import("../entities").HttpLogEntity>;
109
+ /**
110
+ * 清理旧日志
111
+ */
52
112
  cleanupOldLogs(daysToKeep?: number): Promise<number>;
53
113
  }
@@ -21,16 +21,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
21
21
  exports.BasicHttpExample = void 0;
22
22
  const common_1 = require("@nestjs/common");
23
23
  const services_1 = require("../services");
24
+ /**
25
+ * 基本使用示例
26
+ */
24
27
  let BasicHttpExample = class BasicHttpExample {
25
28
  constructor(httpClient, logQueryService) {
26
29
  this.httpClient = httpClient;
27
30
  this.logQueryService = logQueryService;
28
31
  }
32
+ /**
33
+ * 简单GET请求
34
+ */
29
35
  getUser(id) {
30
36
  return __awaiter(this, void 0, void 0, function* () {
31
37
  return this.httpClient.get(`/users/${id}`);
32
38
  });
33
39
  }
40
+ /**
41
+ * 带参数的GET请求
42
+ */
34
43
  searchUsers(query_1) {
35
44
  return __awaiter(this, arguments, void 0, function* (query, page = 1, limit = 10) {
36
45
  return this.httpClient.get('/users', {
@@ -42,6 +51,9 @@ let BasicHttpExample = class BasicHttpExample {
42
51
  });
43
52
  });
44
53
  }
54
+ /**
55
+ * POST请求
56
+ */
45
57
  createUser(userData) {
46
58
  return __awaiter(this, void 0, void 0, function* () {
47
59
  return this.httpClient.post('/users', userData, {
@@ -51,16 +63,25 @@ let BasicHttpExample = class BasicHttpExample {
51
63
  });
52
64
  });
53
65
  }
66
+ /**
67
+ * PUT请求
68
+ */
54
69
  updateUser(id, userData) {
55
70
  return __awaiter(this, void 0, void 0, function* () {
56
71
  return this.httpClient.put(`/users/${id}`, userData);
57
72
  });
58
73
  }
74
+ /**
75
+ * DELETE请求
76
+ */
59
77
  deleteUser(id) {
60
78
  return __awaiter(this, void 0, void 0, function* () {
61
79
  return this.httpClient.delete(`/users/${id}`);
62
80
  });
63
81
  }
82
+ /**
83
+ * 文件上传
84
+ */
64
85
  uploadFile(file, filename) {
65
86
  return __awaiter(this, void 0, void 0, function* () {
66
87
  const formData = new FormData();
@@ -72,6 +93,9 @@ let BasicHttpExample = class BasicHttpExample {
72
93
  });
73
94
  });
74
95
  }
96
+ /**
97
+ * 自定义请求配置
98
+ */
75
99
  customRequest() {
76
100
  return __awaiter(this, void 0, void 0, function* () {
77
101
  return this.httpClient.request({
@@ -89,12 +113,21 @@ let BasicHttpExample = class BasicHttpExample {
89
113
  });
90
114
  });
91
115
  }
116
+ /**
117
+ * 获取统计信息
118
+ */
92
119
  getStatistics() {
93
120
  return this.httpClient.getStats();
94
121
  }
122
+ /**
123
+ * 重置统计信息
124
+ */
95
125
  resetStatistics() {
96
126
  this.httpClient.resetStats();
97
127
  }
128
+ /**
129
+ * 生成curl命令
130
+ */
98
131
  generateCurlForRequest(url, method = 'GET', data) {
99
132
  const config = {
100
133
  url,
@@ -107,46 +140,73 @@ let BasicHttpExample = class BasicHttpExample {
107
140
  };
108
141
  return this.httpClient.generateCurlCommand(config);
109
142
  }
143
+ /**
144
+ * 查询HTTP日志
145
+ */
110
146
  queryHttpLogs() {
111
147
  return __awaiter(this, arguments, void 0, function* (options = {}) {
112
148
  return this.logQueryService.findLogs(options);
113
149
  });
114
150
  }
151
+ /**
152
+ * 查询错误日志
153
+ */
115
154
  findErrorLogs() {
116
155
  return __awaiter(this, arguments, void 0, function* (limit = 10) {
117
156
  return this.logQueryService.findErrorLogs({ limit });
118
157
  });
119
158
  }
159
+ /**
160
+ * 查询慢请求
161
+ */
120
162
  findSlowRequests() {
121
163
  return __awaiter(this, arguments, void 0, function* (minResponseTime = 5000) {
122
164
  return this.logQueryService.findSlowRequests(minResponseTime);
123
165
  });
124
166
  }
167
+ /**
168
+ * 查询重试日志
169
+ */
125
170
  findRetryLogs() {
126
171
  return __awaiter(this, arguments, void 0, function* (minRetries = 2) {
127
172
  return this.logQueryService.findRetryLogs({ minRetries });
128
173
  });
129
174
  }
175
+ /**
176
+ * 根据服务名称查询日志
177
+ */
130
178
  findLogsByServiceName(serviceName_1) {
131
179
  return __awaiter(this, arguments, void 0, function* (serviceName, limit = 20) {
132
180
  return this.logQueryService.findLogs({ serviceName, limit });
133
181
  });
134
182
  }
183
+ /**
184
+ * 根据操作名称查询日志
185
+ */
135
186
  findLogsByOperationName(operationName_1) {
136
187
  return __awaiter(this, arguments, void 0, function* (operationName, limit = 20) {
137
188
  return this.logQueryService.findLogs({ operationName, limit });
138
189
  });
139
190
  }
191
+ /**
192
+ * 获取HTTP统计信息
193
+ */
140
194
  getHttpStats(startDate, endDate) {
141
195
  return __awaiter(this, void 0, void 0, function* () {
142
196
  return this.logQueryService.getStats({ startDate, endDate });
143
197
  });
144
198
  }
199
+ /**
200
+ * 根据请求ID查询日志
201
+ */
145
202
  findLogByRequestId(requestId) {
146
203
  return __awaiter(this, void 0, void 0, function* () {
147
204
  return this.logQueryService.findLogByRequestId(requestId);
148
205
  });
149
206
  }
207
+ /**
208
+ * 清理旧日志
209
+ */
150
210
  cleanupOldLogs() {
151
211
  return __awaiter(this, arguments, void 0, function* (daysToKeep = 30) {
152
212
  return this.logQueryService.deleteOldLogs(daysToKeep);
@@ -1,10 +1,19 @@
1
1
  import { ApiClientInstanceConfig, ApiClientRegistryService } from '../services/api-client-registry.service';
2
+ /**
3
+ * GitHub API 客户端示例
4
+ */
2
5
  export declare class GitHubApiService {
3
6
  private readonly apiRegistry;
4
7
  constructor(apiRegistry: ApiClientRegistryService);
8
+ /**
9
+ * 获取GitHub客户端
10
+ */
5
11
  get github(): GitHubApiClient;
6
12
  private initializeClients;
7
13
  }
14
+ /**
15
+ * GitHub API 类型定义
16
+ */
8
17
  export interface GitHubApiClient {
9
18
  get<T = any>(url: string, config?: any): Promise<T>;
10
19
  post<T = any>(url: string, data?: any, config?: any): Promise<T>;
@@ -14,6 +23,9 @@ export interface GitHubApiClient {
14
23
  getStats(): any;
15
24
  resetStats(): void;
16
25
  }
26
+ /**
27
+ * Stripe API 客户端示例
28
+ */
17
29
  export declare class StripeApiService {
18
30
  private readonly apiRegistry;
19
31
  constructor(apiRegistry: ApiClientRegistryService);
@@ -27,6 +39,9 @@ export interface StripeApiClient {
27
39
  getStats(): any;
28
40
  resetStats(): void;
29
41
  }
42
+ /**
43
+ * 微信API客户端示例
44
+ */
30
45
  export declare class WeChatApiService {
31
46
  private readonly apiRegistry;
32
47
  constructor(apiRegistry: ApiClientRegistryService);
@@ -40,6 +55,9 @@ export interface WeChatApiClient {
40
55
  getStats(): any;
41
56
  resetStats(): void;
42
57
  }
58
+ /**
59
+ * 自定义API客户端示例(复杂响应格式)
60
+ */
43
61
  export declare class CustomApiService {
44
62
  private readonly apiRegistry;
45
63
  constructor(apiRegistry: ApiClientRegistryService);
@@ -59,12 +77,27 @@ export interface CustomApiClient {
59
77
  getStats(): any;
60
78
  resetStats(): void;
61
79
  }
80
+ /**
81
+ * API管理服务示例
82
+ */
62
83
  export declare class ApiManagementService {
63
84
  private readonly apiRegistry;
64
85
  constructor(apiRegistry: ApiClientRegistryService);
86
+ /**
87
+ * 动态创建API客户端
88
+ */
65
89
  createDynamicClient(name: string, config: Partial<ApiClientInstanceConfig>): any;
90
+ /**
91
+ * 获取所有客户端统计信息
92
+ */
66
93
  getAllStats(): Record<string, any>;
94
+ /**
95
+ * 重置所有统计信息
96
+ */
67
97
  resetAllStats(): void;
98
+ /**
99
+ * 健康检查
100
+ */
68
101
  healthCheck(): Promise<{
69
102
  status: "healthy" | "unhealthy";
70
103
  clients: Record<string, {
@@ -72,9 +105,18 @@ export declare class ApiManagementService {
72
105
  error?: string;
73
106
  }>;
74
107
  }>;
108
+ /**
109
+ * 批量创建客户端
110
+ */
75
111
  createMultipleClients(configs: ApiClientInstanceConfig[]): void;
112
+ /**
113
+ * 获取客户端列表
114
+ */
76
115
  listClients(): string[];
77
116
  }
117
+ /**
118
+ * 使用示例控制器
119
+ */
78
120
  export declare class ExampleController {
79
121
  private readonly githubApi;
80
122
  private readonly stripeApi;
@@ -82,11 +124,29 @@ export declare class ExampleController {
82
124
  private readonly customApi;
83
125
  private readonly apiManagement;
84
126
  constructor(githubApi: GitHubApiService, stripeApi: StripeApiService, wechatApi: WeChatApiService, customApi: CustomApiService, apiManagement: ApiManagementService);
127
+ /**
128
+ * GitHub API 示例
129
+ */
85
130
  getGitHubUser(username: string): Promise<any>;
131
+ /**
132
+ * Stripe API 示例
133
+ */
86
134
  createStripePayment(amount: number, currency: string): Promise<any>;
135
+ /**
136
+ * 微信 API 示例
137
+ */
87
138
  sendWeChatMessage(openid: string, content: string): Promise<any>;
139
+ /**
140
+ * 自定义API 示例
141
+ */
88
142
  getCustomData(id: string): Promise<any>;
143
+ /**
144
+ * 动态API示例
145
+ */
89
146
  callDynamicApi(url: string): Promise<any>;
147
+ /**
148
+ * API管理示例
149
+ */
90
150
  getApiHealth(): Promise<{
91
151
  status: "healthy" | "unhealthy";
92
152
  clients: Record<string, {
@@ -21,11 +21,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
21
21
  exports.ExampleController = exports.ApiManagementService = exports.CustomApiService = exports.WeChatApiService = exports.StripeApiService = exports.GitHubApiService = void 0;
22
22
  const common_1 = require("@nestjs/common");
23
23
  const api_client_registry_service_1 = require("../services/api-client-registry.service");
24
+ /**
25
+ * GitHub API 客户端示例
26
+ */
24
27
  let GitHubApiService = class GitHubApiService {
25
28
  constructor(apiRegistry) {
26
29
  this.apiRegistry = apiRegistry;
27
30
  this.initializeClients();
28
31
  }
32
+ /**
33
+ * 获取GitHub客户端
34
+ */
29
35
  get github() {
30
36
  return this.apiRegistry.getClient('github');
31
37
  }
@@ -40,10 +46,11 @@ let GitHubApiService = class GitHubApiService {
40
46
  },
41
47
  },
42
48
  responseTransformer: {
43
- dataPath: 'data',
49
+ dataPath: 'data', // GitHub API通常返回 { data: [...] }
44
50
  success: (response) => response.data,
45
51
  error: (error) => {
46
52
  var _a, _b;
53
+ // GitHub API 错误处理
47
54
  if ((_b = (_a = error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.message) {
48
55
  throw new Error(`GitHub API Error: ${error.response.data.message}`);
49
56
  }
@@ -55,10 +62,11 @@ let GitHubApiService = class GitHubApiService {
55
62
  retries: 3,
56
63
  retryCondition: (error) => {
57
64
  var _a, _b;
65
+ // GitHub API 速率限制时重试
58
66
  return (((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 403 || ((_b = error.response) === null || _b === void 0 ? void 0 : _b.status) === 429);
59
67
  },
60
68
  },
61
- responseTimeWarningThreshold: 2000,
69
+ responseTimeWarningThreshold: 2000, // 2秒警告
62
70
  tags: ['github', 'vcs'],
63
71
  });
64
72
  }
@@ -68,6 +76,9 @@ exports.GitHubApiService = GitHubApiService = __decorate([
68
76
  (0, common_1.Injectable)(),
69
77
  __metadata("design:paramtypes", [api_client_registry_service_1.ApiClientRegistryService])
70
78
  ], GitHubApiService);
79
+ /**
80
+ * Stripe API 客户端示例
81
+ */
71
82
  let StripeApiService = class StripeApiService {
72
83
  constructor(apiRegistry) {
73
84
  this.apiRegistry = apiRegistry;
@@ -94,13 +105,14 @@ let StripeApiService = class StripeApiService {
94
105
  dataPath: 'data',
95
106
  error: (error) => {
96
107
  var _a, _b, _c;
108
+ // Stripe API 错误处理
97
109
  if ((_c = (_b = (_a = error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.error) === null || _c === void 0 ? void 0 : _c.message) {
98
110
  throw new Error(`Stripe API Error: ${error.response.data.error.message}`);
99
111
  }
100
112
  throw error;
101
113
  },
102
114
  },
103
- responseTimeWarningThreshold: 3000,
115
+ responseTimeWarningThreshold: 3000, // 3秒警告
104
116
  tags: ['stripe', 'payment'],
105
117
  });
106
118
  }
@@ -110,6 +122,9 @@ exports.StripeApiService = StripeApiService = __decorate([
110
122
  (0, common_1.Injectable)(),
111
123
  __metadata("design:paramtypes", [api_client_registry_service_1.ApiClientRegistryService])
112
124
  ], StripeApiService);
125
+ /**
126
+ * 微信API客户端示例
127
+ */
113
128
  let WeChatApiService = class WeChatApiService {
114
129
  constructor(apiRegistry) {
115
130
  this.apiRegistry = apiRegistry;
@@ -123,10 +138,11 @@ let WeChatApiService = class WeChatApiService {
123
138
  name: 'wechat',
124
139
  baseURL: 'https://api.weixin.qq.com',
125
140
  auth: {
126
- type: api_client_registry_service_1.AuthType.NONE,
141
+ type: api_client_registry_service_1.AuthType.NONE, // 微信API通常使用签名验证
127
142
  },
128
143
  responseTransformer: {
129
144
  success: (response) => {
145
+ // 微信API响应格式: { errcode: 0, errmsg: 'success', data: {...} }
130
146
  if (response.data.errcode !== 0) {
131
147
  throw new Error(`WeChat API Error (${response.data.errcode}): ${response.data.errmsg}`);
132
148
  }
@@ -136,7 +152,7 @@ let WeChatApiService = class WeChatApiService {
136
152
  tags: ['wechat', 'social'],
137
153
  environments: {
138
154
  development: {
139
- baseURL: 'https://api.tunnel.com/wechat',
155
+ baseURL: 'https://api.tunnel.com/wechat', // 开发环境使用隧道
140
156
  },
141
157
  },
142
158
  });
@@ -147,6 +163,9 @@ exports.WeChatApiService = WeChatApiService = __decorate([
147
163
  (0, common_1.Injectable)(),
148
164
  __metadata("design:paramtypes", [api_client_registry_service_1.ApiClientRegistryService])
149
165
  ], WeChatApiService);
166
+ /**
167
+ * 自定义API客户端示例(复杂响应格式)
168
+ */
150
169
  let CustomApiService = class CustomApiService {
151
170
  constructor(apiRegistry) {
152
171
  this.apiRegistry = apiRegistry;
@@ -164,6 +183,7 @@ let CustomApiService = class CustomApiService {
164
183
  config: {
165
184
  authenticator(config) {
166
185
  return __awaiter(this, void 0, void 0, function* () {
186
+ // 自定义JWT token刷新逻辑
167
187
  const token = yield this.getValidToken();
168
188
  config.headers = Object.assign(Object.assign({}, config.headers), { Authorization: `Bearer ${token}`, 'X-Timestamp': Date.now().toString(), 'X-Signature': this.generateSignature(config) });
169
189
  return config;
@@ -172,6 +192,7 @@ let CustomApiService = class CustomApiService {
172
192
  refresher(config, error) {
173
193
  return __awaiter(this, void 0, void 0, function* () {
174
194
  var _a;
195
+ // Token过期时自动刷新
175
196
  if (((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 401) {
176
197
  const newToken = yield this.refreshToken();
177
198
  config.headers['Authorization'] = `Bearer ${newToken}`;
@@ -184,10 +205,13 @@ let CustomApiService = class CustomApiService {
184
205
  },
185
206
  responseTransformer: {
186
207
  success: (response) => {
208
+ // 复杂响应格式处理
187
209
  const result = response.data;
210
+ // 统一成功格式
188
211
  if (result.success === false) {
189
212
  throw new Error(result.message || 'API request failed');
190
213
  }
214
+ // 数据包装处理
191
215
  return {
192
216
  data: result.data || result,
193
217
  code: result.code || 0,
@@ -198,6 +222,7 @@ let CustomApiService = class CustomApiService {
198
222
  },
199
223
  error: (error) => {
200
224
  var _a;
225
+ // 统一错误格式
201
226
  if ((_a = error.response) === null || _a === void 0 ? void 0 : _a.data) {
202
227
  const errorData = error.response.data;
203
228
  const customError = new Error(errorData.message || 'API request failed');
@@ -216,6 +241,7 @@ let CustomApiService = class CustomApiService {
216
241
  enabled: true,
217
242
  retries: 2,
218
243
  retryCondition: (error) => {
244
+ // 只对网络错误和5xx错误重试
219
245
  if (!error.response)
220
246
  return true;
221
247
  return error.response.status >= 500;
@@ -226,15 +252,18 @@ let CustomApiService = class CustomApiService {
226
252
  }
227
253
  getValidToken() {
228
254
  return __awaiter(this, void 0, void 0, function* () {
255
+ // 实现token获取逻辑
229
256
  return 'mock-jwt-token';
230
257
  });
231
258
  }
232
259
  refreshToken() {
233
260
  return __awaiter(this, void 0, void 0, function* () {
261
+ // 实现token刷新逻辑
234
262
  return 'refreshed-jwt-token';
235
263
  });
236
264
  }
237
265
  generateSignature(config) {
266
+ // 实现签名生成逻辑
238
267
  return 'mock-signature';
239
268
  }
240
269
  };
@@ -243,27 +272,48 @@ exports.CustomApiService = CustomApiService = __decorate([
243
272
  (0, common_1.Injectable)(),
244
273
  __metadata("design:paramtypes", [api_client_registry_service_1.ApiClientRegistryService])
245
274
  ], CustomApiService);
275
+ /**
276
+ * API管理服务示例
277
+ */
246
278
  let ApiManagementService = class ApiManagementService {
247
279
  constructor(apiRegistry) {
248
280
  this.apiRegistry = apiRegistry;
249
281
  }
282
+ /**
283
+ * 动态创建API客户端
284
+ */
250
285
  createDynamicClient(name, config) {
251
286
  return this.apiRegistry.createClient(Object.assign({ name, baseURL: config.baseURL || '' }, config));
252
287
  }
288
+ /**
289
+ * 获取所有客户端统计信息
290
+ */
253
291
  getAllStats() {
254
292
  return this.apiRegistry.getAllStats();
255
293
  }
294
+ /**
295
+ * 重置所有统计信息
296
+ */
256
297
  resetAllStats() {
257
298
  this.apiRegistry.resetAllStats();
258
299
  }
300
+ /**
301
+ * 健康检查
302
+ */
259
303
  healthCheck() {
260
304
  return __awaiter(this, void 0, void 0, function* () {
261
305
  return this.apiRegistry.healthCheck();
262
306
  });
263
307
  }
308
+ /**
309
+ * 批量创建客户端
310
+ */
264
311
  createMultipleClients(configs) {
265
312
  this.apiRegistry.createClients(configs);
266
313
  }
314
+ /**
315
+ * 获取客户端列表
316
+ */
267
317
  listClients() {
268
318
  return this.apiRegistry.listClients();
269
319
  }
@@ -273,6 +323,9 @@ exports.ApiManagementService = ApiManagementService = __decorate([
273
323
  (0, common_1.Injectable)(),
274
324
  __metadata("design:paramtypes", [api_client_registry_service_1.ApiClientRegistryService])
275
325
  ], ApiManagementService);
326
+ /**
327
+ * 使用示例控制器
328
+ */
276
329
  let ExampleController = class ExampleController {
277
330
  constructor(githubApi, stripeApi, wechatApi, customApi, apiManagement) {
278
331
  this.githubApi = githubApi;
@@ -281,12 +334,18 @@ let ExampleController = class ExampleController {
281
334
  this.customApi = customApi;
282
335
  this.apiManagement = apiManagement;
283
336
  }
337
+ /**
338
+ * GitHub API 示例
339
+ */
284
340
  getGitHubUser(username) {
285
341
  return __awaiter(this, void 0, void 0, function* () {
286
342
  const github = this.githubApi.github;
287
343
  return github.get(`/users/${username}`);
288
344
  });
289
345
  }
346
+ /**
347
+ * Stripe API 示例
348
+ */
290
349
  createStripePayment(amount, currency) {
291
350
  return __awaiter(this, void 0, void 0, function* () {
292
351
  const stripe = this.stripeApi.stripe;
@@ -297,6 +356,9 @@ let ExampleController = class ExampleController {
297
356
  });
298
357
  });
299
358
  }
359
+ /**
360
+ * 微信 API 示例
361
+ */
300
362
  sendWeChatMessage(openid, content) {
301
363
  return __awaiter(this, void 0, void 0, function* () {
302
364
  const wechat = this.wechatApi.wechat;
@@ -309,12 +371,18 @@ let ExampleController = class ExampleController {
309
371
  });
310
372
  });
311
373
  }
374
+ /**
375
+ * 自定义API 示例
376
+ */
312
377
  getCustomData(id) {
313
378
  return __awaiter(this, void 0, void 0, function* () {
314
379
  const custom = this.customApi.customApi;
315
380
  return custom.get(`/data/${id}`);
316
381
  });
317
382
  }
383
+ /**
384
+ * 动态API示例
385
+ */
318
386
  callDynamicApi(url) {
319
387
  return __awaiter(this, void 0, void 0, function* () {
320
388
  const client = this.apiManagement.createDynamicClient('dynamic', {
@@ -331,6 +399,9 @@ let ExampleController = class ExampleController {
331
399
  return client.get('/');
332
400
  });
333
401
  }
402
+ /**
403
+ * API管理示例
404
+ */
334
405
  getApiHealth() {
335
406
  return __awaiter(this, void 0, void 0, function* () {
336
407
  return this.apiManagement.healthCheck();