@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,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Role = void 0;
4
+ var Role;
5
+ (function (Role) {
6
+ Role["User"] = "user";
7
+ Role["Admin"] = "admin";
8
+ })(Role || (exports.Role = Role = {}));
9
+ //# sourceMappingURL=role.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.enum.js","sourceRoot":"","sources":["../../src/enums/role.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,IAGX;AAHD,WAAY,IAAI;IACd,qBAAa,CAAA;IACb,uBAAe,CAAA;AACjB,CAAC,EAHW,IAAI,oBAAJ,IAAI,QAGf"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * ApiException - Enhanced exception using @repo/contracts
3
+ * 增强版 ApiException,使用 @repo/contracts 中的错误定义
4
+ */
5
+ import { HttpException } from '@nestjs/common';
6
+ import { ApiErrorCode } from '@dofe/infra-contracts';
7
+ export declare class ApiException extends HttpException {
8
+ readonly errorCode: ApiErrorCode;
9
+ readonly errorType: string;
10
+ readonly errorData: unknown;
11
+ readonly domain: string;
12
+ /**
13
+ * Create exception from error type string (backward compatible)
14
+ * 从错误类型字符串创建异常(向后兼容)
15
+ */
16
+ constructor(errorType: string, data?: unknown);
17
+ /**
18
+ * Create exception from error code (recommended)
19
+ * 从错误码创建异常(推荐方式)
20
+ */
21
+ static fromCode(errorCode: ApiErrorCode, data?: unknown): ApiException;
22
+ /**
23
+ * Get error code
24
+ */
25
+ getErrorCode(): ApiErrorCode;
26
+ /**
27
+ * Get error message without i18n (fallback)
28
+ */
29
+ getErrorMessageWithoutI18n(): string;
30
+ /**
31
+ * Get localized error message using i18n
32
+ * 使用 i18n 获取本地化错误消息
33
+ *
34
+ * Uses namespace: errors.{domain}.{errorType}
35
+ */
36
+ getErrorMessage(i18n: any): string;
37
+ /**
38
+ * Get error data
39
+ */
40
+ getErrorData(): unknown;
41
+ /**
42
+ * Get error type
43
+ */
44
+ getErrorType(): string;
45
+ /**
46
+ * Convert to JSON response format
47
+ * 转换为 JSON 响应格式
48
+ *
49
+ * Note: `code` is numeric for backward compatibility
50
+ * `error.errorCode` is string for type safety
51
+ */
52
+ toJSON(): {
53
+ code: number;
54
+ msg: string;
55
+ data: null;
56
+ error: {
57
+ errorCode: string;
58
+ errorType: string;
59
+ errorData: unknown;
60
+ };
61
+ };
62
+ }
63
+ /**
64
+ * Helper function to throw ApiException from error code
65
+ * 从错误码抛出 ApiException 的辅助函数
66
+ *
67
+ * @example
68
+ * throw apiError(UserErrorCode.UserNotFound);
69
+ * throw apiError(UserErrorCode.InvalidPassword, { attempts: 3 });
70
+ */
71
+ export declare function apiError(errorCode: ApiErrorCode, data?: unknown): ApiException;
72
+ /**
73
+ * 获取适合写入日志的短错误信息(单行,避免堆栈刷屏)
74
+ * ApiException 的 message 为空,需用 errorCode/errorType 或 getErrorMessageWithoutI18n()
75
+ */
76
+ export declare function getLoggableErrorMessage(error: unknown): string;
77
+ //# sourceMappingURL=api.exception.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.exception.d.ts","sourceRoot":"","sources":["../../../src/filter/exception/api.exception.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EACL,YAAY,EAKb,MAAM,uBAAuB,CAAC;AAmB/B,qBAAa,YAAa,SAAQ,aAAa;IAC7C,SAAgB,SAAS,EAAE,YAAY,CAAC;IACxC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,SAAS,EAAE,OAAO,CAAC;IACnC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B;;;OAGG;gBACS,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE,OAAc;IAsBnD;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,GAAE,OAAc,GAAG,YAAY;IAQ5E;;OAEG;IACH,YAAY,IAAI,YAAY;IAI5B;;OAEG;IACH,0BAA0B,IAAI,MAAM;IAIpC;;;;;OAKG;IAEH,eAAe,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM;IAalC;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;;;;;OAMG;IACH,MAAM,IAAI;QACR,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,IAAI,CAAC;QACX,KAAK,EAAE;YACL,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,OAAO,CAAC;SACpB,CAAC;KACH;CAYF;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CACtB,SAAS,EAAE,YAAY,EACvB,IAAI,GAAE,OAAc,GACnB,YAAY,CAEd;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAa9D"}
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ /**
3
+ * ApiException - Enhanced exception using @repo/contracts
4
+ * 增强版 ApiException,使用 @repo/contracts 中的错误定义
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ApiException = void 0;
8
+ exports.apiError = apiError;
9
+ exports.getLoggableErrorMessage = getLoggableErrorMessage;
10
+ const common_1 = require("@nestjs/common");
11
+ const infra_contracts_1 = require("@dofe/infra-contracts");
12
+ // Domain mapping for i18n namespace
13
+ const ERROR_DOMAIN_MAP = {
14
+ // User errors (2xx)
15
+ '20': 'user',
16
+ '21': 'user',
17
+ // Common errors (9xx)
18
+ '90': 'common',
19
+ '91': 'common',
20
+ '92': 'common',
21
+ '99': 'common',
22
+ };
23
+ function getDomainFromCode(errorCode) {
24
+ const prefix = errorCode.slice(0, 2);
25
+ return ERROR_DOMAIN_MAP[prefix] || 'common';
26
+ }
27
+ class ApiException extends common_1.HttpException {
28
+ errorCode;
29
+ errorType;
30
+ errorData;
31
+ domain;
32
+ /**
33
+ * Create exception from error type string (backward compatible)
34
+ * 从错误类型字符串创建异常(向后兼容)
35
+ */
36
+ constructor(errorType, data = null) {
37
+ // Find error code from type
38
+ const entry = Object.entries(infra_contracts_1.AllErrorTypes).find(([, type]) => type === errorType);
39
+ if (!entry) {
40
+ throw new Error(`Unknown error type: ${errorType}`);
41
+ }
42
+ const errorCode = entry[0];
43
+ const httpStatus = (0, infra_contracts_1.getHttpStatus)(errorCode);
44
+ super('', httpStatus);
45
+ this.errorCode = errorCode;
46
+ this.errorType = errorType;
47
+ this.errorData = data;
48
+ this.domain = getDomainFromCode(errorCode);
49
+ this.name = 'ApiException';
50
+ }
51
+ /**
52
+ * Create exception from error code (recommended)
53
+ * 从错误码创建异常(推荐方式)
54
+ */
55
+ static fromCode(errorCode, data = null) {
56
+ const errorType = (0, infra_contracts_1.getErrorType)(errorCode);
57
+ if (!errorType) {
58
+ throw new Error(`Unknown error code: ${errorCode}`);
59
+ }
60
+ return new ApiException(errorType, data);
61
+ }
62
+ /**
63
+ * Get error code
64
+ */
65
+ getErrorCode() {
66
+ return this.errorCode;
67
+ }
68
+ /**
69
+ * Get error message without i18n (fallback)
70
+ */
71
+ getErrorMessageWithoutI18n() {
72
+ return (0, infra_contracts_1.getErrorMessage)(this.errorType);
73
+ }
74
+ /**
75
+ * Get localized error message using i18n
76
+ * 使用 i18n 获取本地化错误消息
77
+ *
78
+ * Uses namespace: errors.{domain}.{errorType}
79
+ */
80
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
81
+ getErrorMessage(i18n) {
82
+ // Use errors.{domain}.{errorType} namespace
83
+ const key = `errors.${this.domain}.${this.errorType}`;
84
+ const message = i18n.t(key, { lang: i18n.lang });
85
+ if (message && message !== key) {
86
+ return message;
87
+ }
88
+ // Fallback to error type
89
+ return this.getErrorMessageWithoutI18n() || this.errorType || '';
90
+ }
91
+ /**
92
+ * Get error data
93
+ */
94
+ getErrorData() {
95
+ return this.errorData;
96
+ }
97
+ /**
98
+ * Get error type
99
+ */
100
+ getErrorType() {
101
+ return this.errorType;
102
+ }
103
+ /**
104
+ * Convert to JSON response format
105
+ * 转换为 JSON 响应格式
106
+ *
107
+ * Note: `code` is numeric for backward compatibility
108
+ * `error.errorCode` is string for type safety
109
+ */
110
+ toJSON() {
111
+ return {
112
+ code: Number(this.errorCode),
113
+ msg: this.errorType,
114
+ data: null,
115
+ error: {
116
+ errorCode: this.errorCode,
117
+ errorType: this.errorType,
118
+ errorData: this.errorData,
119
+ },
120
+ };
121
+ }
122
+ }
123
+ exports.ApiException = ApiException;
124
+ /**
125
+ * Helper function to throw ApiException from error code
126
+ * 从错误码抛出 ApiException 的辅助函数
127
+ *
128
+ * @example
129
+ * throw apiError(UserErrorCode.UserNotFound);
130
+ * throw apiError(UserErrorCode.InvalidPassword, { attempts: 3 });
131
+ */
132
+ function apiError(errorCode, data = null) {
133
+ return ApiException.fromCode(errorCode, data);
134
+ }
135
+ /**
136
+ * 获取适合写入日志的短错误信息(单行,避免堆栈刷屏)
137
+ * ApiException 的 message 为空,需用 errorCode/errorType 或 getErrorMessageWithoutI18n()
138
+ */
139
+ function getLoggableErrorMessage(error) {
140
+ if (error instanceof ApiException) {
141
+ const msg = error.getErrorMessageWithoutI18n();
142
+ return msg
143
+ ? `${error.errorCode}: ${msg}`
144
+ : `${error.errorCode}: ${error.errorType}`;
145
+ }
146
+ if (error instanceof Error) {
147
+ return (error.message || error.stack?.split('\n')[0]?.trim() || 'Unknown error');
148
+ }
149
+ return String(error ?? 'Unknown error');
150
+ }
151
+ //# sourceMappingURL=api.exception.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.exception.js","sourceRoot":"","sources":["../../../src/filter/exception/api.exception.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { ArgumentsHost, ExceptionFilter } from '@nestjs/common';
2
+ import { Logger } from 'winston';
3
+ export declare class ExceptionsFilter implements ExceptionFilter {
4
+ private readonly logger;
5
+ constructor(logger: Logger);
6
+ catch(exception: any, host: ArgumentsHost): void;
7
+ }
8
+ //# sourceMappingURL=exception.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exception.d.ts","sourceRoot":"","sources":["../../../src/filter/exception/exception.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEb,eAAe,EAIhB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGjC,qBACa,gBAAiB,YAAW,eAAe;IAEnB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAGlE,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa;CA2B1C"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ExceptionsFilter = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const nest_winston_1 = require("nest-winston");
18
+ const winston_1 = require("winston");
19
+ const infra_utils_1 = require("@dofe/infra-utils");
20
+ let ExceptionsFilter = class ExceptionsFilter {
21
+ logger;
22
+ constructor(logger) {
23
+ this.logger = logger;
24
+ }
25
+ catch(exception, host) {
26
+ const ctx = host.switchToHttp();
27
+ const response = ctx.getResponse();
28
+ const request = ctx.getRequest();
29
+ const status = exception instanceof common_1.HttpException
30
+ ? exception.getStatus()
31
+ : common_1.HttpStatus.INTERNAL_SERVER_ERROR;
32
+ let msg = exception.message || (status >= 500 ? 'Service Error' : 'Client Error');
33
+ if (Object.prototype.toString.call(response) === '[object Object]' &&
34
+ response.message) {
35
+ msg = response.message;
36
+ }
37
+ this.logger.error(msg, (0, infra_utils_1.getReqMainInfo)(request, { ...response, statusCode: status }));
38
+ response.status(status).json({
39
+ code: status,
40
+ msg: `Service Error: ${exception}`,
41
+ });
42
+ }
43
+ };
44
+ exports.ExceptionsFilter = ExceptionsFilter;
45
+ exports.ExceptionsFilter = ExceptionsFilter = __decorate([
46
+ (0, common_1.Catch)(),
47
+ __param(0, (0, common_1.Inject)(nest_winston_1.WINSTON_MODULE_PROVIDER)),
48
+ __metadata("design:paramtypes", [winston_1.Logger])
49
+ ], ExceptionsFilter);
50
+ //# sourceMappingURL=exception.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exception.js","sourceRoot":"","sources":["../../../src/filter/exception/exception.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAOwB;AAExB,+CAAuD;AACvD,qCAAiC;AACjC,mDAAmD;AAG5C,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAEyB;IADpD,YACoD,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAC/D,CAAC;IAEJ,KAAK,CAAC,SAAc,EAAE,IAAmB;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QAEjC,MAAM,MAAM,GACV,SAAS,YAAY,sBAAa;YAChC,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE;YACvB,CAAC,CAAC,mBAAU,CAAC,qBAAqB,CAAC;QACvC,IAAI,GAAG,GACL,SAAS,CAAC,OAAO,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAC1E,IACE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,iBAAiB;YAC9D,QAAQ,CAAC,OAAO,EAChB,CAAC;YACD,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,EACH,IAAA,4BAAc,EAAC,OAAO,EAAE,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAC7D,CAAC;QACF,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;YAC3B,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,kBAAkB,SAAS,EAAE;SACnC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAhCY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,cAAK,GAAE;IAGH,WAAA,IAAA,eAAM,EAAC,sCAAuB,CAAC,CAAA;qCAA0B,gBAAM;GAFvD,gBAAgB,CAgC5B"}
@@ -0,0 +1,11 @@
1
+ import { ExceptionFilter, ArgumentsHost, HttpException } from '@nestjs/common';
2
+ import { ApiException } from '@/filter/exception/api.exception';
3
+ import { Logger } from 'winston';
4
+ export declare class HttpExceptionFilter implements ExceptionFilter {
5
+ private readonly logger;
6
+ constructor(logger: Logger);
7
+ catch(exception: HttpException | ApiException, host: ArgumentsHost): void;
8
+ private getChannelFromHost;
9
+ private buildResponseBody;
10
+ }
11
+ //# sourceMappingURL=http.exception.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.exception.d.ts","sourceRoot":"","sources":["../../../src/filter/exception/http.exception.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEf,aAAa,EACb,aAAa,EAGd,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAGhE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAKjC,qBACa,mBAAoB,YAAW,eAAe;IAEtB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAGlE,KAAK,CAAC,SAAS,EAAE,aAAa,GAAG,YAAY,EAAE,IAAI,EAAE,aAAa;IA8ElE,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,iBAAiB;CAuD1B"}
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.HttpExceptionFilter = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const nestjs_i18n_1 = require("nestjs-i18n");
18
+ const api_exception_1 = require("@/filter/exception/api.exception");
19
+ const nest_winston_1 = require("nest-winston");
20
+ const winston_1 = require("winston");
21
+ // import { errorFromType } from '@/ts-rest/response.helper';
22
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
23
+ // errorFromType is re-exported but not used in this file
24
+ let HttpExceptionFilter = class HttpExceptionFilter {
25
+ logger;
26
+ constructor(logger) {
27
+ this.logger = logger;
28
+ }
29
+ catch(exception, host) {
30
+ // console.log('TECHWU HttpExceptionFilter', exception);
31
+ const { channel, message } = this.getChannelFromHost(host);
32
+ // console.log('TECHWU exception', exception);
33
+ if (channel) {
34
+ this.logger.error(exception.message, exception.stack);
35
+ channel.nack(message, false, false);
36
+ }
37
+ else {
38
+ const i18n = nestjs_i18n_1.I18nContext.current(host);
39
+ const ctx = host.switchToHttp();
40
+ const response = ctx.getResponse();
41
+ const request = ctx.getRequest();
42
+ const status = exception.getStatus();
43
+ // 特殊处理参数校验失败
44
+ let validationErrors = null;
45
+ if (exception instanceof common_1.BadRequestException) {
46
+ const exceptionResponse = exception.getResponse();
47
+ // 处理 ts-rest 校验错误(TsRestRequestValidationError / RequestValidationError)
48
+ // exceptionResponse 格式: { paramsResult, headersResult, queryResult, bodyResult }
49
+ if (exceptionResponse &&
50
+ typeof exceptionResponse === 'object' &&
51
+ !Array.isArray(exceptionResponse)) {
52
+ const tsRestErrors = [];
53
+ const parts = [
54
+ ['params', exceptionResponse.paramsResult],
55
+ ['headers', exceptionResponse.headersResult],
56
+ ['query', exceptionResponse.queryResult],
57
+ ['body', exceptionResponse.bodyResult],
58
+ ];
59
+ for (const [location, zodError] of parts) {
60
+ if (zodError && zodError.issues && Array.isArray(zodError.issues)) {
61
+ for (const issue of zodError.issues) {
62
+ const path = issue.path && issue.path.length > 0
63
+ ? issue.path.join('.')
64
+ : '';
65
+ const fieldDesc = path ? `${location}.${path}` : location;
66
+ tsRestErrors.push(`[${fieldDesc}] ${issue.message}`);
67
+ }
68
+ }
69
+ }
70
+ if (tsRestErrors.length > 0) {
71
+ validationErrors = tsRestErrors;
72
+ }
73
+ }
74
+ // 处理标准 NestJS 参数校验失败(class-validator)
75
+ if (!validationErrors &&
76
+ exceptionResponse &&
77
+ exceptionResponse.message) {
78
+ if (Array.isArray(exceptionResponse.message)) {
79
+ validationErrors = exceptionResponse.message;
80
+ }
81
+ else {
82
+ validationErrors = [exceptionResponse.message];
83
+ }
84
+ }
85
+ }
86
+ const responseBody = this.buildResponseBody(exception, request, status, i18n, validationErrors);
87
+ const { timestamp, path, ...responseRet } = responseBody;
88
+ // console.log('TECHWU , responseBody', responseBody)
89
+ response.status(status).send(responseRet);
90
+ }
91
+ }
92
+ getChannelFromHost(host) {
93
+ try {
94
+ const ctx = host.switchToRpc();
95
+ const context = ctx.getContext();
96
+ const channel = context.getChannelRef ? context.getChannelRef() : null;
97
+ const message = context.getMessage ? context.getMessage() : null;
98
+ return { channel, message };
99
+ }
100
+ catch (error) {
101
+ console.error('获取通道或消息时发生错误', error);
102
+ return { channel: null, message: null };
103
+ }
104
+ }
105
+ buildResponseBody(exception, request, status, i18n, validationErrors) {
106
+ const isApiException = exception instanceof api_exception_1.ApiException;
107
+ const timestamp = new Date().toLocaleString('zh-CN', {
108
+ timeZone: 'Asia/Shanghai',
109
+ });
110
+ const path = request.url;
111
+ // Get traceId for error tracking
112
+ const traceId = request.traceId;
113
+ // Get error code
114
+ const code = isApiException ? exception.getErrorCode() : status;
115
+ // Get error message
116
+ const message = isApiException
117
+ ? exception.getErrorMessage(i18n)
118
+ : exception.message || exception.getResponse();
119
+ // Get error data
120
+ const data = isApiException ? exception.getErrorData() : undefined;
121
+ const responseBody = {
122
+ code,
123
+ msg: message, // 使用 msg 与成功响应保持一致
124
+ traceId, // 添加 traceId 便于问题追踪
125
+ timestamp,
126
+ path,
127
+ };
128
+ // Add enhanced error details for ApiException
129
+ if (isApiException) {
130
+ responseBody.error = data;
131
+ }
132
+ // 如果是参数校验失败,添加详细的错误信息
133
+ if (validationErrors && validationErrors.length > 0) {
134
+ if (!responseBody.error ||
135
+ typeof responseBody.error !== 'object' ||
136
+ Array.isArray(responseBody.error)) {
137
+ responseBody.error = {
138
+ originalError: responseBody.error,
139
+ };
140
+ }
141
+ responseBody.error.errorData = validationErrors;
142
+ }
143
+ return responseBody;
144
+ }
145
+ };
146
+ exports.HttpExceptionFilter = HttpExceptionFilter;
147
+ exports.HttpExceptionFilter = HttpExceptionFilter = __decorate([
148
+ (0, common_1.Catch)(common_1.HttpException, api_exception_1.ApiException),
149
+ __param(0, (0, common_1.Inject)(nest_winston_1.WINSTON_MODULE_PROVIDER)),
150
+ __metadata("design:paramtypes", [winston_1.Logger])
151
+ ], HttpExceptionFilter);
152
+ //# sourceMappingURL=http.exception.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.exception.js","sourceRoot":"","sources":["../../../src/filter/exception/http.exception.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { CanActivate, ExecutionContext } from '@nestjs/common';
2
+ import { Reflector } from '@nestjs/core';
3
+ import { Logger } from 'winston';
4
+ /**
5
+ * API Key 守卫
6
+ * 允许使用有效的 API Key 跳过部分验证(如用户认证、租户验证等)
7
+ *
8
+ * 安全特性:
9
+ * 1. API Key 必须预定义在环境变量中
10
+ * 2. 记录所有 API Key 调用日志
11
+ * 3. 支持可选的租户强制验证
12
+ */
13
+ export declare class ApiKeyGuard implements CanActivate {
14
+ private readonly reflector;
15
+ private readonly logger;
16
+ private readonly validApiKeys;
17
+ private readonly enabled;
18
+ constructor(reflector: Reflector, logger: Logger);
19
+ canActivate(context: ExecutionContext): Promise<boolean>;
20
+ /**
21
+ * 从请求中提取 API Key
22
+ * 支持从 header 或 query 参数获取
23
+ */
24
+ private extractApiKey;
25
+ /**
26
+ * 验证 API Key
27
+ */
28
+ private validateApiKey;
29
+ /**
30
+ * 设置内部服务上下文
31
+ */
32
+ private setInternalServiceContext;
33
+ /**
34
+ * 遮蔽 API Key 用于日志记录
35
+ */
36
+ private maskApiKey;
37
+ /**
38
+ * 获取 API Key 标识符(用于区分不同的 Key)
39
+ */
40
+ private getKeyId;
41
+ }
42
+ //# sourceMappingURL=api-key.guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-key.guard.d.ts","sourceRoot":"","sources":["../../src/guards/api-key.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EACX,gBAAgB,EAEjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAOjC;;;;;;;;GAQG;AACH,qBACa,WAAY,YAAW,WAAW;IAK3C,OAAO,CAAC,QAAQ,CAAC,SAAS;IACO,OAAO,CAAC,QAAQ,CAAC,MAAM;IAL1D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAGf,SAAS,EAAE,SAAS,EACa,MAAM,EAAE,MAAM;IAmB5D,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAyC9D;;;OAGG;IACH,OAAO,CAAC,aAAa;IAgBrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA4BjC;;OAEG;IACH,OAAO,CAAC,UAAU;IAOlB;;OAEG;IACH,OAAO,CAAC,QAAQ;CAGjB"}