@dofe/infra-common 0.1.1

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 (373) hide show
  1. package/dist/adapters/base.adapter.d.ts +84 -0
  2. package/dist/adapters/base.adapter.d.ts.map +1 -0
  3. package/dist/adapters/base.adapter.js +19 -0
  4. package/dist/adapters/base.adapter.js.map +1 -0
  5. package/dist/adapters/index.d.ts +35 -0
  6. package/dist/adapters/index.d.ts.map +1 -0
  7. package/dist/adapters/index.js +53 -0
  8. package/dist/adapters/index.js.map +1 -0
  9. package/dist/common.module.d.ts +7 -0
  10. package/dist/common.module.d.ts.map +1 -0
  11. package/dist/common.module.js +26 -0
  12. package/dist/common.module.js.map +1 -0
  13. package/dist/config/agentx.config.d.ts +37 -0
  14. package/dist/config/agentx.config.d.ts.map +1 -0
  15. package/dist/config/agentx.config.js +81 -0
  16. package/dist/config/agentx.config.js.map +1 -0
  17. package/dist/config/configuration.d.ts +55 -0
  18. package/dist/config/configuration.d.ts.map +1 -0
  19. package/dist/config/configuration.js +336 -0
  20. package/dist/config/configuration.js.map +1 -0
  21. package/dist/config/constant/config.constants.d.ts +48 -0
  22. package/dist/config/constant/config.constants.d.ts.map +1 -0
  23. package/dist/config/constant/config.constants.js +86 -0
  24. package/dist/config/constant/config.constants.js.map +1 -0
  25. package/dist/config/dto/config.dto.d.ts +222 -0
  26. package/dist/config/dto/config.dto.d.ts.map +1 -0
  27. package/dist/config/dto/config.dto.js +42 -0
  28. package/dist/config/dto/config.dto.js.map +1 -0
  29. package/dist/config/env-config.service.d.ts +147 -0
  30. package/dist/config/env-config.service.d.ts.map +1 -0
  31. package/dist/config/env-config.service.js +296 -0
  32. package/dist/config/env-config.service.js.map +1 -0
  33. package/dist/config/features/feature-errors.d.ts +13 -0
  34. package/dist/config/features/feature-errors.d.ts.map +1 -0
  35. package/dist/config/features/feature-errors.js +25 -0
  36. package/dist/config/features/feature-errors.js.map +1 -0
  37. package/dist/config/features/feature-registry.d.ts +26 -0
  38. package/dist/config/features/feature-registry.d.ts.map +1 -0
  39. package/dist/config/features/feature-registry.js +172 -0
  40. package/dist/config/features/feature-registry.js.map +1 -0
  41. package/dist/config/features/index.d.ts +4 -0
  42. package/dist/config/features/index.d.ts.map +1 -0
  43. package/dist/config/features/index.js +9 -0
  44. package/dist/config/features/index.js.map +1 -0
  45. package/dist/config/validation/env.validation.d.ts +132 -0
  46. package/dist/config/validation/env.validation.d.ts.map +1 -0
  47. package/dist/config/validation/env.validation.js +304 -0
  48. package/dist/config/validation/env.validation.js.map +1 -0
  49. package/dist/config/validation/index.d.ts +21 -0
  50. package/dist/config/validation/index.d.ts.map +1 -0
  51. package/dist/config/validation/index.js +119 -0
  52. package/dist/config/validation/index.js.map +1 -0
  53. package/dist/config/validation/keys.validation.d.ts +884 -0
  54. package/dist/config/validation/keys.validation.d.ts.map +1 -0
  55. package/dist/config/validation/keys.validation.js +506 -0
  56. package/dist/config/validation/keys.validation.js.map +1 -0
  57. package/dist/config/validation/yaml.validation.d.ts +765 -0
  58. package/dist/config/validation/yaml.validation.d.ts.map +1 -0
  59. package/dist/config/validation/yaml.validation.js +488 -0
  60. package/dist/config/validation/yaml.validation.js.map +1 -0
  61. package/dist/config/vendor.config.d.ts +48 -0
  62. package/dist/config/vendor.config.d.ts.map +1 -0
  63. package/dist/config/vendor.config.js +136 -0
  64. package/dist/config/vendor.config.js.map +1 -0
  65. package/dist/decorators/api-key/api-key.decorator.d.ts +25 -0
  66. package/dist/decorators/api-key/api-key.decorator.d.ts.map +1 -0
  67. package/dist/decorators/api-key/api-key.decorator.js +30 -0
  68. package/dist/decorators/api-key/api-key.decorator.js.map +1 -0
  69. package/dist/decorators/api-key/index.d.ts +2 -0
  70. package/dist/decorators/api-key/index.d.ts.map +1 -0
  71. package/dist/decorators/api-key/index.js +18 -0
  72. package/dist/decorators/api-key/index.js.map +1 -0
  73. package/dist/decorators/app-version/app-version.controller.d.ts +30 -0
  74. package/dist/decorators/app-version/app-version.controller.d.ts.map +1 -0
  75. package/dist/decorators/app-version/app-version.controller.js +159 -0
  76. package/dist/decorators/app-version/app-version.controller.js.map +1 -0
  77. package/dist/decorators/app-version/app-version.interceptor.d.ts +15 -0
  78. package/dist/decorators/app-version/app-version.interceptor.d.ts.map +1 -0
  79. package/dist/decorators/app-version/app-version.interceptor.js +42 -0
  80. package/dist/decorators/app-version/app-version.interceptor.js.map +1 -0
  81. package/dist/decorators/app-version/app-version.module.d.ts +8 -0
  82. package/dist/decorators/app-version/app-version.module.d.ts.map +1 -0
  83. package/dist/decorators/app-version/app-version.module.js +39 -0
  84. package/dist/decorators/app-version/app-version.module.js.map +1 -0
  85. package/dist/decorators/app-version/app-version.service.d.ts +88 -0
  86. package/dist/decorators/app-version/app-version.service.d.ts.map +1 -0
  87. package/dist/decorators/app-version/app-version.service.js +251 -0
  88. package/dist/decorators/app-version/app-version.service.js.map +1 -0
  89. package/dist/decorators/app-version/index.d.ts +8 -0
  90. package/dist/decorators/app-version/index.d.ts.map +1 -0
  91. package/dist/decorators/app-version/index.js +15 -0
  92. package/dist/decorators/app-version/index.js.map +1 -0
  93. package/dist/decorators/audit-log.decorator.d.ts +41 -0
  94. package/dist/decorators/audit-log.decorator.d.ts.map +1 -0
  95. package/dist/decorators/audit-log.decorator.js +19 -0
  96. package/dist/decorators/audit-log.decorator.js.map +1 -0
  97. package/dist/decorators/cache/cache.decorator.d.ts +256 -0
  98. package/dist/decorators/cache/cache.decorator.d.ts.map +1 -0
  99. package/dist/decorators/cache/cache.decorator.js +339 -0
  100. package/dist/decorators/cache/cache.decorator.js.map +1 -0
  101. package/dist/decorators/cache/cache.interceptor.d.ts +43 -0
  102. package/dist/decorators/cache/cache.interceptor.d.ts.map +1 -0
  103. package/dist/decorators/cache/cache.interceptor.js +219 -0
  104. package/dist/decorators/cache/cache.interceptor.js.map +1 -0
  105. package/dist/decorators/cache/cache.module.d.ts +9 -0
  106. package/dist/decorators/cache/cache.module.d.ts.map +1 -0
  107. package/dist/decorators/cache/cache.module.js +36 -0
  108. package/dist/decorators/cache/cache.module.js.map +1 -0
  109. package/dist/decorators/cache/index.d.ts +7 -0
  110. package/dist/decorators/cache/index.d.ts.map +1 -0
  111. package/dist/decorators/cache/index.js +32 -0
  112. package/dist/decorators/cache/index.js.map +1 -0
  113. package/dist/decorators/data-visibility/data-visibility.decorator.d.ts +74 -0
  114. package/dist/decorators/data-visibility/data-visibility.decorator.d.ts.map +1 -0
  115. package/dist/decorators/data-visibility/data-visibility.decorator.js +87 -0
  116. package/dist/decorators/data-visibility/data-visibility.decorator.js.map +1 -0
  117. package/dist/decorators/data-visibility/index.d.ts +2 -0
  118. package/dist/decorators/data-visibility/index.d.ts.map +1 -0
  119. package/dist/decorators/data-visibility/index.js +18 -0
  120. package/dist/decorators/data-visibility/index.js.map +1 -0
  121. package/dist/decorators/event/event.decorator.d.ts +152 -0
  122. package/dist/decorators/event/event.decorator.d.ts.map +1 -0
  123. package/dist/decorators/event/event.decorator.js +158 -0
  124. package/dist/decorators/event/event.decorator.js.map +1 -0
  125. package/dist/decorators/event/event.interceptor.d.ts +23 -0
  126. package/dist/decorators/event/event.interceptor.d.ts.map +1 -0
  127. package/dist/decorators/event/event.interceptor.js +140 -0
  128. package/dist/decorators/event/event.interceptor.js.map +1 -0
  129. package/dist/decorators/event/event.module.d.ts +9 -0
  130. package/dist/decorators/event/event.module.d.ts.map +1 -0
  131. package/dist/decorators/event/event.module.js +59 -0
  132. package/dist/decorators/event/event.module.js.map +1 -0
  133. package/dist/decorators/event/handlers/cache-event.handler.d.ts +55 -0
  134. package/dist/decorators/event/handlers/cache-event.handler.d.ts.map +1 -0
  135. package/dist/decorators/event/handlers/cache-event.handler.js +159 -0
  136. package/dist/decorators/event/handlers/cache-event.handler.js.map +1 -0
  137. package/dist/decorators/event/index.d.ts +8 -0
  138. package/dist/decorators/event/index.d.ts.map +1 -0
  139. package/dist/decorators/event/index.js +26 -0
  140. package/dist/decorators/event/index.js.map +1 -0
  141. package/dist/decorators/feature-flag/feature-flag.decorator.d.ts +144 -0
  142. package/dist/decorators/feature-flag/feature-flag.decorator.d.ts.map +1 -0
  143. package/dist/decorators/feature-flag/feature-flag.decorator.js +135 -0
  144. package/dist/decorators/feature-flag/feature-flag.decorator.js.map +1 -0
  145. package/dist/decorators/feature-flag/feature-flag.interceptor.d.ts +30 -0
  146. package/dist/decorators/feature-flag/feature-flag.interceptor.d.ts.map +1 -0
  147. package/dist/decorators/feature-flag/feature-flag.interceptor.js +127 -0
  148. package/dist/decorators/feature-flag/feature-flag.interceptor.js.map +1 -0
  149. package/dist/decorators/feature-flag/feature-flag.module.d.ts +9 -0
  150. package/dist/decorators/feature-flag/feature-flag.module.d.ts.map +1 -0
  151. package/dist/decorators/feature-flag/feature-flag.module.js +39 -0
  152. package/dist/decorators/feature-flag/feature-flag.module.js.map +1 -0
  153. package/dist/decorators/feature-flag/feature-flag.service.d.ts +102 -0
  154. package/dist/decorators/feature-flag/feature-flag.service.d.ts.map +1 -0
  155. package/dist/decorators/feature-flag/feature-flag.service.js +373 -0
  156. package/dist/decorators/feature-flag/feature-flag.service.js.map +1 -0
  157. package/dist/decorators/feature-flag/feature-flag.service.spec.d.ts +2 -0
  158. package/dist/decorators/feature-flag/feature-flag.service.spec.d.ts.map +1 -0
  159. package/dist/decorators/feature-flag/feature-flag.service.spec.js +264 -0
  160. package/dist/decorators/feature-flag/feature-flag.service.spec.js.map +1 -0
  161. package/dist/decorators/feature-flag/index.d.ts +8 -0
  162. package/dist/decorators/feature-flag/index.d.ts.map +1 -0
  163. package/dist/decorators/feature-flag/index.js +23 -0
  164. package/dist/decorators/feature-flag/index.js.map +1 -0
  165. package/dist/decorators/rate-limit/dto/rate-limit.dto.d.ts +174 -0
  166. package/dist/decorators/rate-limit/dto/rate-limit.dto.d.ts.map +1 -0
  167. package/dist/decorators/rate-limit/dto/rate-limit.dto.js +8 -0
  168. package/dist/decorators/rate-limit/dto/rate-limit.dto.js.map +1 -0
  169. package/dist/decorators/rate-limit/index.d.ts +24 -0
  170. package/dist/decorators/rate-limit/index.d.ts.map +1 -0
  171. package/dist/decorators/rate-limit/index.js +44 -0
  172. package/dist/decorators/rate-limit/index.js.map +1 -0
  173. package/dist/decorators/rate-limit/rate-limit.constants.d.ts +16 -0
  174. package/dist/decorators/rate-limit/rate-limit.constants.d.ts.map +1 -0
  175. package/dist/decorators/rate-limit/rate-limit.constants.js +22 -0
  176. package/dist/decorators/rate-limit/rate-limit.constants.js.map +1 -0
  177. package/dist/decorators/rate-limit/rate-limit.decorator.d.ts +132 -0
  178. package/dist/decorators/rate-limit/rate-limit.decorator.d.ts.map +1 -0
  179. package/dist/decorators/rate-limit/rate-limit.decorator.js +185 -0
  180. package/dist/decorators/rate-limit/rate-limit.decorator.js.map +1 -0
  181. package/dist/decorators/rate-limit/rate-limit.exception.d.ts +39 -0
  182. package/dist/decorators/rate-limit/rate-limit.exception.d.ts.map +1 -0
  183. package/dist/decorators/rate-limit/rate-limit.exception.js +67 -0
  184. package/dist/decorators/rate-limit/rate-limit.exception.js.map +1 -0
  185. package/dist/decorators/rate-limit/rate-limit.module.d.ts +25 -0
  186. package/dist/decorators/rate-limit/rate-limit.module.d.ts.map +1 -0
  187. package/dist/decorators/rate-limit/rate-limit.module.js +48 -0
  188. package/dist/decorators/rate-limit/rate-limit.module.js.map +1 -0
  189. package/dist/decorators/rate-limit/rate-limit.service.d.ts +102 -0
  190. package/dist/decorators/rate-limit/rate-limit.service.d.ts.map +1 -0
  191. package/dist/decorators/rate-limit/rate-limit.service.js +390 -0
  192. package/dist/decorators/rate-limit/rate-limit.service.js.map +1 -0
  193. package/dist/decorators/response.decorator.d.ts +10 -0
  194. package/dist/decorators/response.decorator.d.ts.map +1 -0
  195. package/dist/decorators/response.decorator.js +58 -0
  196. package/dist/decorators/response.decorator.js.map +1 -0
  197. package/dist/decorators/skip-version-check.decorator.d.ts +25 -0
  198. package/dist/decorators/skip-version-check.decorator.d.ts.map +1 -0
  199. package/dist/decorators/skip-version-check.decorator.js +31 -0
  200. package/dist/decorators/skip-version-check.decorator.js.map +1 -0
  201. package/dist/decorators/tenant/index.d.ts +2 -0
  202. package/dist/decorators/tenant/index.d.ts.map +1 -0
  203. package/dist/decorators/tenant/index.js +18 -0
  204. package/dist/decorators/tenant/index.js.map +1 -0
  205. package/dist/decorators/tenant/tenant.decorator.d.ts +82 -0
  206. package/dist/decorators/tenant/tenant.decorator.d.ts.map +1 -0
  207. package/dist/decorators/tenant/tenant.decorator.js +98 -0
  208. package/dist/decorators/tenant/tenant.decorator.js.map +1 -0
  209. package/dist/decorators/transaction/index.d.ts +6 -0
  210. package/dist/decorators/transaction/index.d.ts.map +1 -0
  211. package/dist/decorators/transaction/index.js +12 -0
  212. package/dist/decorators/transaction/index.js.map +1 -0
  213. package/dist/decorators/transaction/transactional.decorator.d.ts +234 -0
  214. package/dist/decorators/transaction/transactional.decorator.d.ts.map +1 -0
  215. package/dist/decorators/transaction/transactional.decorator.js +433 -0
  216. package/dist/decorators/transaction/transactional.decorator.js.map +1 -0
  217. package/dist/decorators/ts-rest-controller.decorator.d.ts +38 -0
  218. package/dist/decorators/ts-rest-controller.decorator.d.ts.map +1 -0
  219. package/dist/decorators/ts-rest-controller.decorator.js +25 -0
  220. package/dist/decorators/ts-rest-controller.decorator.js.map +1 -0
  221. package/dist/decorators/validation.decorator.d.ts +4 -0
  222. package/dist/decorators/validation.decorator.d.ts.map +1 -0
  223. package/dist/decorators/validation.decorator.js +121 -0
  224. package/dist/decorators/validation.decorator.js.map +1 -0
  225. package/dist/decorators/version/index.d.ts +7 -0
  226. package/dist/decorators/version/index.d.ts.map +1 -0
  227. package/dist/decorators/version/index.js +25 -0
  228. package/dist/decorators/version/index.js.map +1 -0
  229. package/dist/decorators/version/version.decorator.d.ts +96 -0
  230. package/dist/decorators/version/version.decorator.d.ts.map +1 -0
  231. package/dist/decorators/version/version.decorator.js +146 -0
  232. package/dist/decorators/version/version.decorator.js.map +1 -0
  233. package/dist/decorators/version/version.interceptor.d.ts +19 -0
  234. package/dist/decorators/version/version.interceptor.d.ts.map +1 -0
  235. package/dist/decorators/version/version.interceptor.js +86 -0
  236. package/dist/decorators/version/version.interceptor.js.map +1 -0
  237. package/dist/decorators/version/version.module.d.ts +8 -0
  238. package/dist/decorators/version/version.module.d.ts.map +1 -0
  239. package/dist/decorators/version/version.module.js +33 -0
  240. package/dist/decorators/version/version.module.js.map +1 -0
  241. package/dist/encryption.service.d.ts +15 -0
  242. package/dist/encryption.service.d.ts.map +1 -0
  243. package/dist/encryption.service.js +35 -0
  244. package/dist/encryption.service.js.map +1 -0
  245. package/dist/enums/action.enum.d.ts +8 -0
  246. package/dist/enums/action.enum.d.ts.map +1 -0
  247. package/dist/enums/action.enum.js +12 -0
  248. package/dist/enums/action.enum.js.map +1 -0
  249. package/dist/enums/error-codes.d.ts +33 -0
  250. package/dist/enums/error-codes.d.ts.map +1 -0
  251. package/dist/enums/error-codes.js +52 -0
  252. package/dist/enums/error-codes.js.map +1 -0
  253. package/dist/enums/role.enum.d.ts +5 -0
  254. package/dist/enums/role.enum.d.ts.map +1 -0
  255. package/dist/enums/role.enum.js +9 -0
  256. package/dist/enums/role.enum.js.map +1 -0
  257. package/dist/filter/exception/api.exception.d.ts +77 -0
  258. package/dist/filter/exception/api.exception.d.ts.map +1 -0
  259. package/dist/filter/exception/api.exception.js +151 -0
  260. package/dist/filter/exception/api.exception.js.map +1 -0
  261. package/dist/filter/exception/exception.d.ts +8 -0
  262. package/dist/filter/exception/exception.d.ts.map +1 -0
  263. package/dist/filter/exception/exception.js +50 -0
  264. package/dist/filter/exception/exception.js.map +1 -0
  265. package/dist/filter/exception/http.exception.d.ts +11 -0
  266. package/dist/filter/exception/http.exception.d.ts.map +1 -0
  267. package/dist/filter/exception/http.exception.js +152 -0
  268. package/dist/filter/exception/http.exception.js.map +1 -0
  269. package/dist/guards/api-key.guard.d.ts +42 -0
  270. package/dist/guards/api-key.guard.d.ts.map +1 -0
  271. package/dist/guards/api-key.guard.js +159 -0
  272. package/dist/guards/api-key.guard.js.map +1 -0
  273. package/dist/guards/auth.guard.d.ts +39 -0
  274. package/dist/guards/auth.guard.d.ts.map +1 -0
  275. package/dist/guards/auth.guard.js +178 -0
  276. package/dist/guards/auth.guard.js.map +1 -0
  277. package/dist/guards/data-visibility.guard.d.ts +18 -0
  278. package/dist/guards/data-visibility.guard.d.ts.map +1 -0
  279. package/dist/guards/data-visibility.guard.js +84 -0
  280. package/dist/guards/data-visibility.guard.js.map +1 -0
  281. package/dist/guards/index.d.ts +7 -0
  282. package/dist/guards/index.d.ts.map +1 -0
  283. package/dist/guards/index.js +23 -0
  284. package/dist/guards/index.js.map +1 -0
  285. package/dist/guards/permission.guard.d.ts +20 -0
  286. package/dist/guards/permission.guard.d.ts.map +1 -0
  287. package/dist/guards/permission.guard.js +141 -0
  288. package/dist/guards/permission.guard.js.map +1 -0
  289. package/dist/guards/tenant-context.guard.d.ts +12 -0
  290. package/dist/guards/tenant-context.guard.d.ts.map +1 -0
  291. package/dist/guards/tenant-context.guard.js +94 -0
  292. package/dist/guards/tenant-context.guard.js.map +1 -0
  293. package/dist/guards/version.guard.d.ts +100 -0
  294. package/dist/guards/version.guard.d.ts.map +1 -0
  295. package/dist/guards/version.guard.js +233 -0
  296. package/dist/guards/version.guard.js.map +1 -0
  297. package/dist/index.d.ts +60 -0
  298. package/dist/index.d.ts.map +1 -0
  299. package/dist/index.js +85 -0
  300. package/dist/index.js.map +1 -0
  301. package/dist/interceptor/audit/audit-log.interceptor.d.ts +16 -0
  302. package/dist/interceptor/audit/audit-log.interceptor.d.ts.map +1 -0
  303. package/dist/interceptor/audit/audit-log.interceptor.js +156 -0
  304. package/dist/interceptor/audit/audit-log.interceptor.js.map +1 -0
  305. package/dist/interceptor/audit/index.d.ts +2 -0
  306. package/dist/interceptor/audit/index.d.ts.map +1 -0
  307. package/dist/interceptor/audit/index.js +18 -0
  308. package/dist/interceptor/audit/index.js.map +1 -0
  309. package/dist/interceptor/mask/index.d.ts +2 -0
  310. package/dist/interceptor/mask/index.d.ts.map +1 -0
  311. package/dist/interceptor/mask/index.js +18 -0
  312. package/dist/interceptor/mask/index.js.map +1 -0
  313. package/dist/interceptor/mask/mask.interceptor.d.ts +79 -0
  314. package/dist/interceptor/mask/mask.interceptor.d.ts.map +1 -0
  315. package/dist/interceptor/mask/mask.interceptor.js +197 -0
  316. package/dist/interceptor/mask/mask.interceptor.js.map +1 -0
  317. package/dist/interceptor/rate-limit/no-rate-limit.interceptor.d.ts +6 -0
  318. package/dist/interceptor/rate-limit/no-rate-limit.interceptor.d.ts.map +1 -0
  319. package/dist/interceptor/rate-limit/no-rate-limit.interceptor.js +20 -0
  320. package/dist/interceptor/rate-limit/no-rate-limit.interceptor.js.map +1 -0
  321. package/dist/interceptor/rate-limit/rate-limit.interceptor.d.ts +45 -0
  322. package/dist/interceptor/rate-limit/rate-limit.interceptor.d.ts.map +1 -0
  323. package/dist/interceptor/rate-limit/rate-limit.interceptor.js +193 -0
  324. package/dist/interceptor/rate-limit/rate-limit.interceptor.js.map +1 -0
  325. package/dist/interceptor/transform/transform.interceptor.d.ts +37 -0
  326. package/dist/interceptor/transform/transform.interceptor.d.ts.map +1 -0
  327. package/dist/interceptor/transform/transform.interceptor.js +72 -0
  328. package/dist/interceptor/transform/transform.interceptor.js.map +1 -0
  329. package/dist/interceptor/transform/transform.interceptor.spec.d.ts +2 -0
  330. package/dist/interceptor/transform/transform.interceptor.spec.d.ts.map +1 -0
  331. package/dist/interceptor/transform/transform.interceptor.spec.js +9 -0
  332. package/dist/interceptor/transform/transform.interceptor.spec.js.map +1 -0
  333. package/dist/interceptor/version/index.d.ts +2 -0
  334. package/dist/interceptor/version/index.d.ts.map +1 -0
  335. package/dist/interceptor/version/index.js +18 -0
  336. package/dist/interceptor/version/index.js.map +1 -0
  337. package/dist/interceptor/version/version-header.interceptor.d.ts +31 -0
  338. package/dist/interceptor/version/version-header.interceptor.d.ts.map +1 -0
  339. package/dist/interceptor/version/version-header.interceptor.js +62 -0
  340. package/dist/interceptor/version/version-header.interceptor.js.map +1 -0
  341. package/dist/middleware/request.middleware.d.ts +27 -0
  342. package/dist/middleware/request.middleware.d.ts.map +1 -0
  343. package/dist/middleware/request.middleware.js +141 -0
  344. package/dist/middleware/request.middleware.js.map +1 -0
  345. package/dist/middleware/tenant-isolation.middleware.d.ts +12 -0
  346. package/dist/middleware/tenant-isolation.middleware.d.ts.map +1 -0
  347. package/dist/middleware/tenant-isolation.middleware.js +51 -0
  348. package/dist/middleware/tenant-isolation.middleware.js.map +1 -0
  349. package/dist/pipes/transform-root.pipe.d.ts +5 -0
  350. package/dist/pipes/transform-root.pipe.d.ts.map +1 -0
  351. package/dist/pipes/transform-root.pipe.js +24 -0
  352. package/dist/pipes/transform-root.pipe.js.map +1 -0
  353. package/dist/ts-rest/index.d.ts +36 -0
  354. package/dist/ts-rest/index.d.ts.map +1 -0
  355. package/dist/ts-rest/index.js +65 -0
  356. package/dist/ts-rest/index.js.map +1 -0
  357. package/dist/ts-rest/response.helper.d.ts +261 -0
  358. package/dist/ts-rest/response.helper.d.ts.map +1 -0
  359. package/dist/ts-rest/response.helper.js +372 -0
  360. package/dist/ts-rest/response.helper.js.map +1 -0
  361. package/dist/utils/audit-log-helper.util.d.ts +41 -0
  362. package/dist/utils/audit-log-helper.util.d.ts.map +1 -0
  363. package/dist/utils/audit-log-helper.util.js +115 -0
  364. package/dist/utils/audit-log-helper.util.js.map +1 -0
  365. package/dist/utils/audit-signature.util.d.ts +64 -0
  366. package/dist/utils/audit-signature.util.d.ts.map +1 -0
  367. package/dist/utils/audit-signature.util.js +155 -0
  368. package/dist/utils/audit-signature.util.js.map +1 -0
  369. package/dist/utils/prisma-error.util.d.ts +160 -0
  370. package/dist/utils/prisma-error.util.d.ts.map +1 -0
  371. package/dist/utils/prisma-error.util.js +342 -0
  372. package/dist/utils/prisma-error.util.js.map +1 -0
  373. package/package.json +54 -0
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Feature Flag Module Exports
3
+ */
4
+ export { FeatureEnabled, FeatureFlags, IfFeatureEnabled, BetaFeature, GradualRollout, FEATURE_FLAG_METADATA_KEY, FEATURE_FLAGS_METADATA_KEY, FeatureFlagStrategy, FeatureFlagOptions, FeatureFlagContext, } from './feature-flag.decorator';
5
+ export { FeatureFlagService, FeatureFlagProvider, FeatureFlagConfig, } from './feature-flag.service';
6
+ export { FeatureFlagInterceptor } from './feature-flag.interceptor';
7
+ export { FeatureFlagModule } from './feature-flag.module';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/decorators/feature-flag/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAEL,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,cAAc,EAEd,yBAAyB,EACzB,0BAA0B,EAE1B,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ /**
3
+ * Feature Flag Module Exports
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FeatureFlagModule = exports.FeatureFlagInterceptor = exports.FeatureFlagService = exports.FEATURE_FLAGS_METADATA_KEY = exports.FEATURE_FLAG_METADATA_KEY = exports.GradualRollout = exports.BetaFeature = exports.IfFeatureEnabled = exports.FeatureFlags = exports.FeatureEnabled = void 0;
7
+ var feature_flag_decorator_1 = require("./feature-flag.decorator");
8
+ // Decorators
9
+ Object.defineProperty(exports, "FeatureEnabled", { enumerable: true, get: function () { return feature_flag_decorator_1.FeatureEnabled; } });
10
+ Object.defineProperty(exports, "FeatureFlags", { enumerable: true, get: function () { return feature_flag_decorator_1.FeatureFlags; } });
11
+ Object.defineProperty(exports, "IfFeatureEnabled", { enumerable: true, get: function () { return feature_flag_decorator_1.IfFeatureEnabled; } });
12
+ Object.defineProperty(exports, "BetaFeature", { enumerable: true, get: function () { return feature_flag_decorator_1.BetaFeature; } });
13
+ Object.defineProperty(exports, "GradualRollout", { enumerable: true, get: function () { return feature_flag_decorator_1.GradualRollout; } });
14
+ // Constants
15
+ Object.defineProperty(exports, "FEATURE_FLAG_METADATA_KEY", { enumerable: true, get: function () { return feature_flag_decorator_1.FEATURE_FLAG_METADATA_KEY; } });
16
+ Object.defineProperty(exports, "FEATURE_FLAGS_METADATA_KEY", { enumerable: true, get: function () { return feature_flag_decorator_1.FEATURE_FLAGS_METADATA_KEY; } });
17
+ var feature_flag_service_1 = require("./feature-flag.service");
18
+ Object.defineProperty(exports, "FeatureFlagService", { enumerable: true, get: function () { return feature_flag_service_1.FeatureFlagService; } });
19
+ var feature_flag_interceptor_1 = require("./feature-flag.interceptor");
20
+ Object.defineProperty(exports, "FeatureFlagInterceptor", { enumerable: true, get: function () { return feature_flag_interceptor_1.FeatureFlagInterceptor; } });
21
+ var feature_flag_module_1 = require("./feature-flag.module");
22
+ Object.defineProperty(exports, "FeatureFlagModule", { enumerable: true, get: function () { return feature_flag_module_1.FeatureFlagModule; } });
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/decorators/feature-flag/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,mEAckC;AAbhC,aAAa;AACb,wHAAA,cAAc,OAAA;AACd,sHAAA,YAAY,OAAA;AACZ,0HAAA,gBAAgB,OAAA;AAChB,qHAAA,WAAW,OAAA;AACX,wHAAA,cAAc,OAAA;AACd,YAAY;AACZ,mIAAA,yBAAyB,OAAA;AACzB,oIAAA,0BAA0B,OAAA;AAO5B,+DAIgC;AAH9B,0HAAA,kBAAkB,OAAA;AAKpB,uEAAoE;AAA3D,kIAAA,sBAAsB,OAAA;AAC/B,6DAA0D;AAAjD,wHAAA,iBAAiB,OAAA"}
@@ -0,0 +1,174 @@
1
+ /**
2
+ * Rate Limit DTO
3
+ *
4
+ * 限流模块类型定义
5
+ */
6
+ import { FastifyRequest } from 'fastify';
7
+ /**
8
+ * 限流维度
9
+ * - ip: 基于 IP 地址
10
+ * - userId: 基于用户 ID
11
+ * - tenantId: 基于租户/团队 ID
12
+ * - apiKey: 基于 API Key
13
+ * - composite: 复合维度 (自定义)
14
+ */
15
+ export type RateLimitDimension = 'ip' | 'userId' | 'tenantId' | 'apiKey' | 'composite';
16
+ /**
17
+ * 限流上下文
18
+ * 包含请求相关的所有维度信息
19
+ */
20
+ export interface RateLimitContext {
21
+ /** 客户端 IP 地址 */
22
+ ip: string;
23
+ /** 用户 ID (已认证用户) */
24
+ userId?: string;
25
+ /** 租户/团队 ID */
26
+ tenantId?: string;
27
+ /** API Key (用于外部 API 调用) */
28
+ apiKey?: string;
29
+ /** 请求路径 */
30
+ path: string;
31
+ /** HTTP 方法 */
32
+ method: string;
33
+ /** 追踪 ID */
34
+ traceId: string;
35
+ /** 原始请求对象 */
36
+ request: FastifyRequest;
37
+ }
38
+ /**
39
+ * 限流选项
40
+ * 用于 @RateLimit 装饰器配置
41
+ */
42
+ export interface RateLimitOptions {
43
+ /** 时间窗口内允许的最大请求数 */
44
+ limit: number;
45
+ /** 时间窗口 (秒) */
46
+ window: number;
47
+ /** 限流维度,默认自动选择最佳维度 */
48
+ dimension?: RateLimitDimension;
49
+ /** 自定义 key 生成器 */
50
+ keyGenerator?: (context: RateLimitContext) => string;
51
+ /** 自定义错误消息 */
52
+ message?: string;
53
+ /** 关联的 Feature Flag,用于动态开关 */
54
+ featureFlag?: string;
55
+ /** 跳过限流的条件判断函数 */
56
+ skip?: (context: RateLimitContext) => boolean | Promise<boolean>;
57
+ /** 是否在限流时抛出异常 (默认 true) */
58
+ throwOnLimit?: boolean;
59
+ }
60
+ /**
61
+ * 限流检查结果
62
+ */
63
+ export interface RateLimitResult {
64
+ /** 请求是否被允许 */
65
+ allowed: boolean;
66
+ /** 时间窗口内的请求限制数 */
67
+ limit: number;
68
+ /** 剩余请求数 */
69
+ remaining: number;
70
+ /** 限流重置时间 (Unix 时间戳,秒) */
71
+ resetTime: number;
72
+ /** 需要等待的秒数 */
73
+ retryAfter: number;
74
+ /** 使用的限流维度 */
75
+ dimension: RateLimitDimension;
76
+ /** 维度标识符 */
77
+ identifier: string;
78
+ }
79
+ /**
80
+ * 限流信息 (用于异常响应)
81
+ */
82
+ export interface RateLimitInfo {
83
+ /** 时间窗口内的请求限制数 */
84
+ limit: number;
85
+ /** 剩余请求数 */
86
+ remaining: number;
87
+ /** 限流重置时间 (Unix 时间戳,秒) */
88
+ resetTime: number;
89
+ /** 需要等待的秒数 */
90
+ retryAfter: number;
91
+ /** 使用的限流维度 */
92
+ dimension: RateLimitDimension;
93
+ /** 维度标识符 */
94
+ identifier: string;
95
+ /** 触发限流的端点 */
96
+ endpoint?: string;
97
+ }
98
+ /**
99
+ * 维度限流配置
100
+ */
101
+ export interface RateLimitDimensionConfig {
102
+ /** 请求限制数 */
103
+ limit: number;
104
+ /** 时间窗口 (秒) */
105
+ window: number;
106
+ }
107
+ /**
108
+ * 白名单配置
109
+ */
110
+ export interface RateLimitWhitelist {
111
+ /** IP 白名单 */
112
+ ips: string[];
113
+ /** 用户 ID 白名单 */
114
+ userIds: string[];
115
+ /** API Key 白名单 */
116
+ apiKeys: string[];
117
+ }
118
+ /**
119
+ * Redis 配置
120
+ */
121
+ export interface RateLimitRedisConfig {
122
+ /** Redis key 前缀 */
123
+ keyPrefix: string;
124
+ }
125
+ /**
126
+ * 限流配置 (从 YAML 加载)
127
+ */
128
+ export interface RateLimitConfig {
129
+ /** 是否启用限流 */
130
+ enabled: boolean;
131
+ /** 全局 Feature Flag */
132
+ featureFlag?: string;
133
+ /** 默认限流配置 */
134
+ default: RateLimitDimensionConfig;
135
+ /** 各维度的默认配置 */
136
+ dimensions: {
137
+ ip: RateLimitDimensionConfig;
138
+ userId: RateLimitDimensionConfig;
139
+ tenantId: RateLimitDimensionConfig;
140
+ apiKey: RateLimitDimensionConfig;
141
+ };
142
+ /** Redis 配置 */
143
+ redis: RateLimitRedisConfig;
144
+ /** 白名单 */
145
+ whitelist: RateLimitWhitelist;
146
+ }
147
+ /**
148
+ * 限流事件 (用于日志和监控)
149
+ */
150
+ export interface RateLimitEvent {
151
+ /** 事件类型 */
152
+ type: 'allowed' | 'blocked';
153
+ /** 追踪 ID */
154
+ traceId: string;
155
+ /** 限流维度 */
156
+ dimension: RateLimitDimension;
157
+ /** 维度标识符 */
158
+ identifier: string;
159
+ /** 请求路径 */
160
+ path: string;
161
+ /** HTTP 方法 */
162
+ method: string;
163
+ /** 当前计数 */
164
+ currentCount: number;
165
+ /** 限制数 */
166
+ limit: number;
167
+ /** 用户 ID (如有) */
168
+ userId?: string;
169
+ /** IP 地址 */
170
+ ip: string;
171
+ /** 时间戳 */
172
+ timestamp: Date;
173
+ }
174
+ //# sourceMappingURL=rate-limit.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limit.dto.d.ts","sourceRoot":"","sources":["../../../../src/decorators/rate-limit/dto/rate-limit.dto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * Rate Limit DTO
4
+ *
5
+ * 限流模块类型定义
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=rate-limit.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limit.dto.js","sourceRoot":"","sources":["../../../../src/decorators/rate-limit/dto/rate-limit.dto.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Rate Limit Module Exports
3
+ *
4
+ * 统一导出限流模块的所有组件
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * import {
9
+ * RateLimit,
10
+ * RateLimitPresets,
11
+ * SkipRateLimit,
12
+ * RateLimitService,
13
+ * RateLimitException,
14
+ * RateLimitModule,
15
+ * } from '@/decorators/rate-limit';
16
+ * ```
17
+ */
18
+ export { RateLimit, SkipRateLimit, RateLimitPresets, RateLimitHigh, RateLimitStandard, RateLimitLow, RateLimitSensitive, RateLimitStrict, } from './rate-limit.decorator';
19
+ export { RATE_LIMIT_KEY, SKIP_RATE_LIMIT_KEY } from './rate-limit.constants';
20
+ export { RateLimitService } from './rate-limit.service';
21
+ export { RateLimitException } from './rate-limit.exception';
22
+ export { RateLimitModule } from './rate-limit.module';
23
+ export type { RateLimitOptions, RateLimitContext, RateLimitResult, RateLimitInfo, RateLimitDimension, RateLimitConfig, RateLimitDimensionConfig, RateLimitWhitelist, RateLimitRedisConfig, RateLimitEvent, } from './dto/rate-limit.dto';
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/decorators/rate-limit/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EACL,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,GACf,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ /**
3
+ * Rate Limit Module Exports
4
+ *
5
+ * 统一导出限流模块的所有组件
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import {
10
+ * RateLimit,
11
+ * RateLimitPresets,
12
+ * SkipRateLimit,
13
+ * RateLimitService,
14
+ * RateLimitException,
15
+ * RateLimitModule,
16
+ * } from '@/decorators/rate-limit';
17
+ * ```
18
+ */
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.RateLimitModule = exports.RateLimitException = exports.RateLimitService = exports.SKIP_RATE_LIMIT_KEY = exports.RATE_LIMIT_KEY = exports.RateLimitStrict = exports.RateLimitSensitive = exports.RateLimitLow = exports.RateLimitStandard = exports.RateLimitHigh = exports.RateLimitPresets = exports.SkipRateLimit = exports.RateLimit = void 0;
21
+ // Decorators
22
+ var rate_limit_decorator_1 = require("./rate-limit.decorator");
23
+ Object.defineProperty(exports, "RateLimit", { enumerable: true, get: function () { return rate_limit_decorator_1.RateLimit; } });
24
+ Object.defineProperty(exports, "SkipRateLimit", { enumerable: true, get: function () { return rate_limit_decorator_1.SkipRateLimit; } });
25
+ Object.defineProperty(exports, "RateLimitPresets", { enumerable: true, get: function () { return rate_limit_decorator_1.RateLimitPresets; } });
26
+ Object.defineProperty(exports, "RateLimitHigh", { enumerable: true, get: function () { return rate_limit_decorator_1.RateLimitHigh; } });
27
+ Object.defineProperty(exports, "RateLimitStandard", { enumerable: true, get: function () { return rate_limit_decorator_1.RateLimitStandard; } });
28
+ Object.defineProperty(exports, "RateLimitLow", { enumerable: true, get: function () { return rate_limit_decorator_1.RateLimitLow; } });
29
+ Object.defineProperty(exports, "RateLimitSensitive", { enumerable: true, get: function () { return rate_limit_decorator_1.RateLimitSensitive; } });
30
+ Object.defineProperty(exports, "RateLimitStrict", { enumerable: true, get: function () { return rate_limit_decorator_1.RateLimitStrict; } });
31
+ // Constants
32
+ var rate_limit_constants_1 = require("./rate-limit.constants");
33
+ Object.defineProperty(exports, "RATE_LIMIT_KEY", { enumerable: true, get: function () { return rate_limit_constants_1.RATE_LIMIT_KEY; } });
34
+ Object.defineProperty(exports, "SKIP_RATE_LIMIT_KEY", { enumerable: true, get: function () { return rate_limit_constants_1.SKIP_RATE_LIMIT_KEY; } });
35
+ // Service
36
+ var rate_limit_service_1 = require("./rate-limit.service");
37
+ Object.defineProperty(exports, "RateLimitService", { enumerable: true, get: function () { return rate_limit_service_1.RateLimitService; } });
38
+ // Exception
39
+ var rate_limit_exception_1 = require("./rate-limit.exception");
40
+ Object.defineProperty(exports, "RateLimitException", { enumerable: true, get: function () { return rate_limit_exception_1.RateLimitException; } });
41
+ // Module
42
+ var rate_limit_module_1 = require("./rate-limit.module");
43
+ Object.defineProperty(exports, "RateLimitModule", { enumerable: true, get: function () { return rate_limit_module_1.RateLimitModule; } });
44
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/decorators/rate-limit/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,aAAa;AACb,+DASgC;AAR9B,iHAAA,SAAS,OAAA;AACT,qHAAA,aAAa,OAAA;AACb,wHAAA,gBAAgB,OAAA;AAChB,qHAAA,aAAa,OAAA;AACb,yHAAA,iBAAiB,OAAA;AACjB,oHAAA,YAAY,OAAA;AACZ,0HAAA,kBAAkB,OAAA;AAClB,uHAAA,eAAe,OAAA;AAGjB,YAAY;AACZ,+DAA6E;AAApE,sHAAA,cAAc,OAAA;AAAE,2HAAA,mBAAmB,OAAA;AAE5C,UAAU;AACV,2DAAwD;AAA/C,sHAAA,gBAAgB,OAAA;AAEzB,YAAY;AACZ,+DAA4D;AAAnD,0HAAA,kBAAkB,OAAA;AAE3B,SAAS;AACT,yDAAsD;AAA7C,oHAAA,eAAe,OAAA"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Rate Limit Constants
3
+ *
4
+ * 限流相关的常量定义
5
+ *
6
+ * 注意:此文件独立于 decorator 和 interceptor,避免循环依赖
7
+ */
8
+ /**
9
+ * 限流配置的元数据 key
10
+ */
11
+ export declare const RATE_LIMIT_KEY = "rate_limit";
12
+ /**
13
+ * 跳过限流的元数据 key
14
+ */
15
+ export declare const SKIP_RATE_LIMIT_KEY = "skip_rate_limit";
16
+ //# sourceMappingURL=rate-limit.constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limit.constants.d.ts","sourceRoot":"","sources":["../../../src/decorators/rate-limit/rate-limit.constants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH;;GAEG;AACH,eAAO,MAAM,cAAc,eAAe,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,mBAAmB,oBAAoB,CAAC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ /**
3
+ * Rate Limit Constants
4
+ *
5
+ * 限流相关的常量定义
6
+ *
7
+ * 注意:此文件独立于 decorator 和 interceptor,避免循环依赖
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.SKIP_RATE_LIMIT_KEY = exports.RATE_LIMIT_KEY = void 0;
11
+ // ============================================================================
12
+ // Constants
13
+ // ============================================================================
14
+ /**
15
+ * 限流配置的元数据 key
16
+ */
17
+ exports.RATE_LIMIT_KEY = 'rate_limit';
18
+ /**
19
+ * 跳过限流的元数据 key
20
+ */
21
+ exports.SKIP_RATE_LIMIT_KEY = 'skip_rate_limit';
22
+ //# sourceMappingURL=rate-limit.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limit.constants.js","sourceRoot":"","sources":["../../../src/decorators/rate-limit/rate-limit.constants.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E;;GAEG;AACU,QAAA,cAAc,GAAG,YAAY,CAAC;AAE3C;;GAEG;AACU,QAAA,mBAAmB,GAAG,iBAAiB,CAAC"}
@@ -0,0 +1,132 @@
1
+ /**
2
+ * Rate Limit Decorator
3
+ *
4
+ * 限流装饰器,支持方法级别的细粒度限流控制
5
+ *
6
+ * @example
7
+ * // 基础用法: 每分钟 100 次
8
+ * @RateLimit({ limit: 100, window: 60 })
9
+ * async createPost() { ... }
10
+ *
11
+ * // 按用户限流
12
+ * @RateLimit({ limit: 50, window: 60, dimension: 'userId' })
13
+ * async submitFeedback() { ... }
14
+ *
15
+ * // 按租户限流 (适用于 SaaS)
16
+ * @RateLimit({ limit: 1000, window: 60, dimension: 'tenantId' })
17
+ * async batchExport() { ... }
18
+ *
19
+ * // 结合 Feature Flag 动态控制
20
+ * @RateLimit({ limit: 100, window: 60, featureFlag: 'rate-limit-export' })
21
+ * async postExport() { ... }
22
+ */
23
+ import { RateLimitOptions } from './dto/rate-limit.dto';
24
+ /**
25
+ * @RateLimit - 限流装饰器
26
+ *
27
+ * 对方法应用限流控制,支持多维度和动态配置
28
+ *
29
+ * @param options - 限流配置选项
30
+ * @returns MethodDecorator
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * // 标准限流
35
+ * @RateLimit({ limit: 100, window: 60 })
36
+ * async createPost() { ... }
37
+ *
38
+ * // 按 API Key 限流
39
+ * @RateLimit({ limit: 500, window: 60, dimension: 'apiKey' })
40
+ * async externalApiCall() { ... }
41
+ *
42
+ * // 自定义错误消息
43
+ * @RateLimit({
44
+ * limit: 10,
45
+ * window: 60,
46
+ * dimension: 'userId',
47
+ * message: '发送消息过于频繁,请稍后再试',
48
+ * })
49
+ * async sendMessage() { ... }
50
+ * ```
51
+ */
52
+ export declare function RateLimit(options: RateLimitOptions): MethodDecorator;
53
+ /**
54
+ * @SkipRateLimit - 跳过限流
55
+ *
56
+ * 标记方法跳过业务层限流检查(入口限流仍然生效)
57
+ *
58
+ * @example
59
+ * ```typescript
60
+ * @SkipRateLimit()
61
+ * async healthCheck() { ... }
62
+ * ```
63
+ */
64
+ export declare function SkipRateLimit(): MethodDecorator;
65
+ /**
66
+ * 预设限流策略
67
+ *
68
+ * 提供常用场景的快捷装饰器
69
+ */
70
+ export declare const RateLimitPresets: {
71
+ /**
72
+ * 高频接口: 每分钟 200 次
73
+ * 适用于: 列表查询、搜索
74
+ */
75
+ high: () => MethodDecorator;
76
+ /**
77
+ * 标准接口: 每分钟 100 次
78
+ * 适用于: 常规 CRUD 操作
79
+ */
80
+ standard: () => MethodDecorator;
81
+ /**
82
+ * 低频接口: 每分钟 20 次
83
+ * 适用于: 创建、更新操作
84
+ */
85
+ low: () => MethodDecorator;
86
+ /**
87
+ * 敏感操作: 每分钟 5 次
88
+ * 适用于: 密码修改、邮箱验证
89
+ */
90
+ sensitive: () => MethodDecorator;
91
+ /**
92
+ * API Key 限流: 每分钟 1000 次
93
+ * 适用于: 开放 API
94
+ */
95
+ apiKey: (limit?: number) => MethodDecorator;
96
+ /**
97
+ * 租户限流: 每分钟 2000 次
98
+ * 适用于: SaaS 多租户场景
99
+ */
100
+ tenant: (limit?: number) => MethodDecorator;
101
+ /**
102
+ * 严格限流: 每小时 10 次
103
+ * 适用于: 注册、重置密码
104
+ */
105
+ strict: () => MethodDecorator;
106
+ /**
107
+ * AI 生成限流: 每分钟 10 次
108
+ * 适用于: AI 内容生成
109
+ */
110
+ aiGeneration: () => MethodDecorator;
111
+ };
112
+ /**
113
+ * @RateLimitHigh - 高频接口限流 (200/分钟)
114
+ */
115
+ export declare const RateLimitHigh: () => MethodDecorator;
116
+ /**
117
+ * @RateLimitStandard - 标准接口限流 (100/分钟)
118
+ */
119
+ export declare const RateLimitStandard: () => MethodDecorator;
120
+ /**
121
+ * @RateLimitLow - 低频接口限流 (20/分钟)
122
+ */
123
+ export declare const RateLimitLow: () => MethodDecorator;
124
+ /**
125
+ * @RateLimitSensitive - 敏感操作限流 (5/分钟)
126
+ */
127
+ export declare const RateLimitSensitive: () => MethodDecorator;
128
+ /**
129
+ * @RateLimitStrict - 严格限流 (10/小时)
130
+ */
131
+ export declare const RateLimitStrict: () => MethodDecorator;
132
+ //# sourceMappingURL=rate-limit.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limit.decorator.d.ts","sourceRoot":"","sources":["../../../src/decorators/rate-limit/rate-limit.decorator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAOxD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe,CAKpE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,IAAI,eAAe,CAE/C;AAMD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;IAC3B;;;OAGG;;IAOH;;;OAGG;;IAOH;;;OAGG;;IAOH;;;OAGG;;IASH;;;OAGG;;IAQH;;;OAGG;;IAQH;;;OAGG;;IASH;;;OAGG;;CASJ,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,aAAa,uBAAwB,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,iBAAiB,uBAA4B,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,YAAY,uBAAuB,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,kBAAkB,uBAA6B,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,eAAe,uBAA0B,CAAC"}