@nauth-toolkit/core 0.1.14 → 0.1.17

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 (623) hide show
  1. package/dist/adapters/database-columns.d.ts +70 -0
  2. package/dist/adapters/database-columns.d.ts.map +1 -1
  3. package/dist/adapters/database-columns.js +76 -2
  4. package/dist/adapters/database-columns.js.map +1 -1
  5. package/dist/adapters/express.adapter.d.ts +66 -0
  6. package/dist/adapters/express.adapter.d.ts.map +1 -1
  7. package/dist/adapters/express.adapter.js +80 -0
  8. package/dist/adapters/express.adapter.js.map +1 -1
  9. package/dist/adapters/fastify.adapter.d.ts +42 -0
  10. package/dist/adapters/fastify.adapter.d.ts.map +1 -1
  11. package/dist/adapters/fastify.adapter.js +86 -0
  12. package/dist/adapters/fastify.adapter.js.map +1 -1
  13. package/dist/adapters/index.d.ts +5 -0
  14. package/dist/adapters/index.d.ts.map +1 -1
  15. package/dist/adapters/index.js +9 -0
  16. package/dist/adapters/index.js.map +1 -1
  17. package/dist/adapters/storage.factory.d.ts +107 -0
  18. package/dist/adapters/storage.factory.d.ts.map +1 -1
  19. package/dist/adapters/storage.factory.js +114 -0
  20. package/dist/adapters/storage.factory.js.map +1 -1
  21. package/dist/adapters.d.ts +8 -0
  22. package/dist/adapters.d.ts.map +1 -1
  23. package/dist/adapters.js +8 -0
  24. package/dist/adapters.js.map +1 -1
  25. package/dist/bootstrap.d.ts +82 -0
  26. package/dist/bootstrap.d.ts.map +1 -1
  27. package/dist/bootstrap.js +106 -0
  28. package/dist/bootstrap.js.map +1 -1
  29. package/dist/dto/admin-set-password.dto.d.ts +90 -0
  30. package/dist/dto/admin-set-password.dto.d.ts.map +1 -1
  31. package/dist/dto/admin-set-password.dto.js +91 -0
  32. package/dist/dto/admin-set-password.dto.js.map +1 -1
  33. package/dist/dto/auth-challenge.dto.d.ts +170 -0
  34. package/dist/dto/auth-challenge.dto.d.ts.map +1 -1
  35. package/dist/dto/auth-challenge.dto.js +170 -0
  36. package/dist/dto/auth-challenge.dto.js.map +1 -1
  37. package/dist/dto/auth-response.dto.d.ts +196 -0
  38. package/dist/dto/auth-response.dto.d.ts.map +1 -1
  39. package/dist/dto/auth-response.dto.js +149 -0
  40. package/dist/dto/auth-response.dto.js.map +1 -1
  41. package/dist/dto/challenge-response.dto.d.ts +155 -0
  42. package/dist/dto/challenge-response.dto.d.ts.map +1 -1
  43. package/dist/dto/challenge-response.dto.js +8 -0
  44. package/dist/dto/challenge-response.dto.js.map +1 -1
  45. package/dist/dto/change-password-request.dto.d.ts +35 -0
  46. package/dist/dto/change-password-request.dto.d.ts.map +1 -1
  47. package/dist/dto/change-password-request.dto.js +35 -0
  48. package/dist/dto/change-password-request.dto.js.map +1 -1
  49. package/dist/dto/change-password-response.dto.d.ts +25 -0
  50. package/dist/dto/change-password-response.dto.d.ts.map +1 -1
  51. package/dist/dto/change-password-response.dto.js +25 -0
  52. package/dist/dto/change-password-response.dto.js.map +1 -1
  53. package/dist/dto/change-password.dto.d.ts +45 -0
  54. package/dist/dto/change-password.dto.d.ts.map +1 -1
  55. package/dist/dto/change-password.dto.js +45 -0
  56. package/dist/dto/change-password.dto.js.map +1 -1
  57. package/dist/dto/confirm-forgot-password.dto.d.ts +59 -0
  58. package/dist/dto/confirm-forgot-password.dto.d.ts.map +1 -1
  59. package/dist/dto/confirm-forgot-password.dto.js +59 -0
  60. package/dist/dto/confirm-forgot-password.dto.js.map +1 -1
  61. package/dist/dto/error-response.dto.d.ts +103 -0
  62. package/dist/dto/error-response.dto.d.ts.map +1 -1
  63. package/dist/dto/error-response.dto.js +103 -0
  64. package/dist/dto/error-response.dto.js.map +1 -1
  65. package/dist/dto/forgot-password.dto.d.ts +58 -0
  66. package/dist/dto/forgot-password.dto.d.ts.map +1 -1
  67. package/dist/dto/forgot-password.dto.js +58 -0
  68. package/dist/dto/forgot-password.dto.js.map +1 -1
  69. package/dist/dto/get-available-methods.dto.d.ts +37 -0
  70. package/dist/dto/get-available-methods.dto.d.ts.map +1 -1
  71. package/dist/dto/get-available-methods.dto.js +37 -0
  72. package/dist/dto/get-available-methods.dto.js.map +1 -1
  73. package/dist/dto/get-challenge-data-response.dto.d.ts +24 -0
  74. package/dist/dto/get-challenge-data-response.dto.d.ts.map +1 -1
  75. package/dist/dto/get-challenge-data-response.dto.js +24 -0
  76. package/dist/dto/get-challenge-data-response.dto.js.map +1 -1
  77. package/dist/dto/get-challenge-data.dto.d.ts +46 -0
  78. package/dist/dto/get-challenge-data.dto.d.ts.map +1 -1
  79. package/dist/dto/get-challenge-data.dto.js +46 -0
  80. package/dist/dto/get-challenge-data.dto.js.map +1 -1
  81. package/dist/dto/get-client-info.dto.d.ts +74 -0
  82. package/dist/dto/get-client-info.dto.d.ts.map +1 -1
  83. package/dist/dto/get-client-info.dto.js +74 -0
  84. package/dist/dto/get-client-info.dto.js.map +1 -1
  85. package/dist/dto/get-device-token-response.dto.d.ts +21 -0
  86. package/dist/dto/get-device-token-response.dto.d.ts.map +1 -1
  87. package/dist/dto/get-device-token-response.dto.js +21 -0
  88. package/dist/dto/get-device-token-response.dto.js.map +1 -1
  89. package/dist/dto/get-events-by-type.dto.d.ts +50 -0
  90. package/dist/dto/get-events-by-type.dto.d.ts.map +1 -1
  91. package/dist/dto/get-events-by-type.dto.js +50 -0
  92. package/dist/dto/get-events-by-type.dto.js.map +1 -1
  93. package/dist/dto/get-ip-address-response.dto.d.ts +20 -0
  94. package/dist/dto/get-ip-address-response.dto.d.ts.map +1 -1
  95. package/dist/dto/get-ip-address-response.dto.js +20 -0
  96. package/dist/dto/get-ip-address-response.dto.js.map +1 -1
  97. package/dist/dto/get-mfa-status.dto.d.ts +59 -0
  98. package/dist/dto/get-mfa-status.dto.d.ts.map +1 -1
  99. package/dist/dto/get-mfa-status.dto.js +59 -0
  100. package/dist/dto/get-mfa-status.dto.js.map +1 -1
  101. package/dist/dto/get-risk-assessment-history.dto.d.ts +28 -0
  102. package/dist/dto/get-risk-assessment-history.dto.d.ts.map +1 -1
  103. package/dist/dto/get-risk-assessment-history.dto.js +28 -0
  104. package/dist/dto/get-risk-assessment-history.dto.js.map +1 -1
  105. package/dist/dto/get-session-id-response.dto.d.ts +21 -0
  106. package/dist/dto/get-session-id-response.dto.d.ts.map +1 -1
  107. package/dist/dto/get-session-id-response.dto.js +21 -0
  108. package/dist/dto/get-session-id-response.dto.js.map +1 -1
  109. package/dist/dto/get-setup-data-response.dto.d.ts +27 -0
  110. package/dist/dto/get-setup-data-response.dto.d.ts.map +1 -1
  111. package/dist/dto/get-setup-data-response.dto.js +27 -0
  112. package/dist/dto/get-setup-data-response.dto.js.map +1 -1
  113. package/dist/dto/get-setup-data.dto.d.ts +51 -0
  114. package/dist/dto/get-setup-data.dto.d.ts.map +1 -1
  115. package/dist/dto/get-setup-data.dto.js +51 -0
  116. package/dist/dto/get-setup-data.dto.js.map +1 -1
  117. package/dist/dto/get-suspicious-activity.dto.d.ts +31 -0
  118. package/dist/dto/get-suspicious-activity.dto.d.ts.map +1 -1
  119. package/dist/dto/get-suspicious-activity.dto.js +31 -0
  120. package/dist/dto/get-suspicious-activity.dto.js.map +1 -1
  121. package/dist/dto/get-user-agent-response.dto.d.ts +19 -0
  122. package/dist/dto/get-user-agent-response.dto.d.ts.map +1 -1
  123. package/dist/dto/get-user-agent-response.dto.js +19 -0
  124. package/dist/dto/get-user-agent-response.dto.js.map +1 -1
  125. package/dist/dto/get-user-auth-history.dto.d.ts +64 -0
  126. package/dist/dto/get-user-auth-history.dto.d.ts.map +1 -1
  127. package/dist/dto/get-user-auth-history.dto.js +64 -0
  128. package/dist/dto/get-user-auth-history.dto.js.map +1 -1
  129. package/dist/dto/get-user-by-email.dto.d.ts +42 -0
  130. package/dist/dto/get-user-by-email.dto.d.ts.map +1 -1
  131. package/dist/dto/get-user-by-email.dto.js +42 -0
  132. package/dist/dto/get-user-by-email.dto.js.map +1 -1
  133. package/dist/dto/get-user-by-id.dto.d.ts +32 -0
  134. package/dist/dto/get-user-by-id.dto.d.ts.map +1 -1
  135. package/dist/dto/get-user-by-id.dto.js +32 -0
  136. package/dist/dto/get-user-by-id.dto.js.map +1 -1
  137. package/dist/dto/get-user-devices.dto.d.ts +34 -0
  138. package/dist/dto/get-user-devices.dto.d.ts.map +1 -1
  139. package/dist/dto/get-user-devices.dto.js +34 -0
  140. package/dist/dto/get-user-devices.dto.js.map +1 -1
  141. package/dist/dto/get-user-response.dto.d.ts +14 -0
  142. package/dist/dto/get-user-response.dto.d.ts.map +1 -1
  143. package/dist/dto/get-user-response.dto.js +15 -0
  144. package/dist/dto/get-user-response.dto.js.map +1 -1
  145. package/dist/dto/has-provider.dto.d.ts +33 -0
  146. package/dist/dto/has-provider.dto.d.ts.map +1 -1
  147. package/dist/dto/has-provider.dto.js +33 -0
  148. package/dist/dto/has-provider.dto.js.map +1 -1
  149. package/dist/dto/index.js +5 -0
  150. package/dist/dto/index.js.map +1 -1
  151. package/dist/dto/is-trusted-device-response.dto.d.ts +28 -0
  152. package/dist/dto/is-trusted-device-response.dto.d.ts.map +1 -1
  153. package/dist/dto/is-trusted-device-response.dto.js +28 -0
  154. package/dist/dto/is-trusted-device-response.dto.js.map +1 -1
  155. package/dist/dto/list-providers-response.dto.d.ts +19 -0
  156. package/dist/dto/list-providers-response.dto.d.ts.map +1 -1
  157. package/dist/dto/list-providers-response.dto.js +19 -0
  158. package/dist/dto/list-providers-response.dto.js.map +1 -1
  159. package/dist/dto/login.dto.d.ts +48 -0
  160. package/dist/dto/login.dto.d.ts.map +1 -1
  161. package/dist/dto/login.dto.js +50 -1
  162. package/dist/dto/login.dto.js.map +1 -1
  163. package/dist/dto/logout-all-response.dto.d.ts +20 -0
  164. package/dist/dto/logout-all-response.dto.d.ts.map +1 -1
  165. package/dist/dto/logout-all-response.dto.js +20 -0
  166. package/dist/dto/logout-all-response.dto.js.map +1 -1
  167. package/dist/dto/logout-all.dto.d.ts +42 -0
  168. package/dist/dto/logout-all.dto.d.ts.map +1 -1
  169. package/dist/dto/logout-all.dto.js +42 -0
  170. package/dist/dto/logout-all.dto.js.map +1 -1
  171. package/dist/dto/logout-response.dto.d.ts +21 -0
  172. package/dist/dto/logout-response.dto.d.ts.map +1 -1
  173. package/dist/dto/logout-response.dto.js +21 -0
  174. package/dist/dto/logout-response.dto.js.map +1 -1
  175. package/dist/dto/logout.dto.d.ts +45 -0
  176. package/dist/dto/logout.dto.d.ts.map +1 -1
  177. package/dist/dto/logout.dto.js +45 -0
  178. package/dist/dto/logout.dto.js.map +1 -1
  179. package/dist/dto/refresh-token.dto.d.ts +28 -0
  180. package/dist/dto/refresh-token.dto.d.ts.map +1 -1
  181. package/dist/dto/refresh-token.dto.js +28 -0
  182. package/dist/dto/refresh-token.dto.js.map +1 -1
  183. package/dist/dto/remove-devices.dto.d.ts +51 -0
  184. package/dist/dto/remove-devices.dto.d.ts.map +1 -1
  185. package/dist/dto/remove-devices.dto.js +51 -0
  186. package/dist/dto/remove-devices.dto.js.map +1 -1
  187. package/dist/dto/resend-code-response.dto.d.ts +28 -0
  188. package/dist/dto/resend-code-response.dto.d.ts.map +1 -1
  189. package/dist/dto/resend-code-response.dto.js +28 -0
  190. package/dist/dto/resend-code-response.dto.js.map +1 -1
  191. package/dist/dto/resend-code.dto.d.ts +37 -0
  192. package/dist/dto/resend-code.dto.d.ts.map +1 -1
  193. package/dist/dto/resend-code.dto.js +37 -0
  194. package/dist/dto/resend-code.dto.js.map +1 -1
  195. package/dist/dto/reset-password.dto.d.ts +74 -0
  196. package/dist/dto/reset-password.dto.d.ts.map +1 -1
  197. package/dist/dto/reset-password.dto.js +76 -1
  198. package/dist/dto/reset-password.dto.js.map +1 -1
  199. package/dist/dto/respond-challenge.dto.d.ts +147 -0
  200. package/dist/dto/respond-challenge.dto.d.ts.map +1 -1
  201. package/dist/dto/respond-challenge.dto.js +162 -0
  202. package/dist/dto/respond-challenge.dto.js.map +1 -1
  203. package/dist/dto/set-mfa-exemption.dto.d.ts +65 -0
  204. package/dist/dto/set-mfa-exemption.dto.d.ts.map +1 -1
  205. package/dist/dto/set-mfa-exemption.dto.js +65 -0
  206. package/dist/dto/set-mfa-exemption.dto.js.map +1 -1
  207. package/dist/dto/set-must-change-password-response.dto.d.ts +23 -0
  208. package/dist/dto/set-must-change-password-response.dto.d.ts.map +1 -1
  209. package/dist/dto/set-must-change-password-response.dto.js +23 -0
  210. package/dist/dto/set-must-change-password-response.dto.js.map +1 -1
  211. package/dist/dto/set-must-change-password.dto.d.ts +32 -0
  212. package/dist/dto/set-must-change-password.dto.d.ts.map +1 -1
  213. package/dist/dto/set-must-change-password.dto.js +32 -0
  214. package/dist/dto/set-must-change-password.dto.js.map +1 -1
  215. package/dist/dto/set-preferred-method.dto.d.ts +48 -0
  216. package/dist/dto/set-preferred-method.dto.d.ts.map +1 -1
  217. package/dist/dto/set-preferred-method.dto.js +48 -0
  218. package/dist/dto/set-preferred-method.dto.js.map +1 -1
  219. package/dist/dto/setup-mfa.dto.d.ts +62 -0
  220. package/dist/dto/setup-mfa.dto.d.ts.map +1 -1
  221. package/dist/dto/setup-mfa.dto.js +62 -0
  222. package/dist/dto/setup-mfa.dto.js.map +1 -1
  223. package/dist/dto/signup.dto.d.ts +92 -0
  224. package/dist/dto/signup.dto.d.ts.map +1 -1
  225. package/dist/dto/signup.dto.js +93 -0
  226. package/dist/dto/signup.dto.js.map +1 -1
  227. package/dist/dto/social-auth.dto.d.ts +234 -0
  228. package/dist/dto/social-auth.dto.d.ts.map +1 -1
  229. package/dist/dto/social-auth.dto.js +234 -0
  230. package/dist/dto/social-auth.dto.js.map +1 -1
  231. package/dist/dto/trust-device-response.dto.d.ts +26 -0
  232. package/dist/dto/trust-device-response.dto.d.ts.map +1 -1
  233. package/dist/dto/trust-device-response.dto.js +26 -0
  234. package/dist/dto/trust-device-response.dto.js.map +1 -1
  235. package/dist/dto/trust-device.dto.d.ts +9 -0
  236. package/dist/dto/trust-device.dto.d.ts.map +1 -1
  237. package/dist/dto/trust-device.dto.js +9 -0
  238. package/dist/dto/trust-device.dto.js.map +1 -1
  239. package/dist/dto/update-user-attributes-request.dto.d.ts +36 -0
  240. package/dist/dto/update-user-attributes-request.dto.d.ts.map +1 -1
  241. package/dist/dto/update-user-attributes-request.dto.js +36 -0
  242. package/dist/dto/update-user-attributes-request.dto.js.map +1 -1
  243. package/dist/dto/user-response.dto.d.ts +81 -0
  244. package/dist/dto/user-response.dto.d.ts.map +1 -1
  245. package/dist/dto/user-response.dto.js +84 -2
  246. package/dist/dto/user-response.dto.js.map +1 -1
  247. package/dist/dto/user-update.dto.d.ts +132 -0
  248. package/dist/dto/user-update.dto.d.ts.map +1 -1
  249. package/dist/dto/user-update.dto.js +133 -0
  250. package/dist/dto/user-update.dto.js.map +1 -1
  251. package/dist/dto/verify-email.dto.d.ts +171 -0
  252. package/dist/dto/verify-email.dto.d.ts.map +1 -1
  253. package/dist/dto/verify-email.dto.js +173 -1
  254. package/dist/dto/verify-email.dto.js.map +1 -1
  255. package/dist/dto/verify-mfa-code.dto.d.ts +65 -0
  256. package/dist/dto/verify-mfa-code.dto.d.ts.map +1 -1
  257. package/dist/dto/verify-mfa-code.dto.js +65 -0
  258. package/dist/dto/verify-mfa-code.dto.js.map +1 -1
  259. package/dist/dto/verify-phone-by-sub.dto.d.ts +49 -0
  260. package/dist/dto/verify-phone-by-sub.dto.d.ts.map +1 -1
  261. package/dist/dto/verify-phone-by-sub.dto.js +49 -0
  262. package/dist/dto/verify-phone-by-sub.dto.js.map +1 -1
  263. package/dist/dto/verify-phone.dto.d.ts +139 -0
  264. package/dist/dto/verify-phone.dto.d.ts.map +1 -1
  265. package/dist/dto/verify-phone.dto.js +142 -1
  266. package/dist/dto/verify-phone.dto.js.map +1 -1
  267. package/dist/dto.d.ts +10 -0
  268. package/dist/dto.d.ts.map +1 -1
  269. package/dist/dto.js +10 -0
  270. package/dist/dto.js.map +1 -1
  271. package/dist/entities/auth-audit.entity.d.ts +159 -0
  272. package/dist/entities/auth-audit.entity.d.ts.map +1 -1
  273. package/dist/entities/auth-audit.entity.js +166 -0
  274. package/dist/entities/auth-audit.entity.js.map +1 -1
  275. package/dist/entities/challenge-session.entity.d.ts +87 -0
  276. package/dist/entities/challenge-session.entity.d.ts.map +1 -1
  277. package/dist/entities/challenge-session.entity.js +87 -0
  278. package/dist/entities/challenge-session.entity.js.map +1 -1
  279. package/dist/entities/index.d.ts +18 -0
  280. package/dist/entities/index.d.ts.map +1 -1
  281. package/dist/entities/index.js +18 -0
  282. package/dist/entities/index.js.map +1 -1
  283. package/dist/entities/login-attempt.entity.d.ts +43 -0
  284. package/dist/entities/login-attempt.entity.d.ts.map +1 -1
  285. package/dist/entities/login-attempt.entity.js +43 -0
  286. package/dist/entities/login-attempt.entity.js.map +1 -1
  287. package/dist/entities/mfa-device.entity.d.ts +112 -0
  288. package/dist/entities/mfa-device.entity.d.ts.map +1 -1
  289. package/dist/entities/mfa-device.entity.js +112 -0
  290. package/dist/entities/mfa-device.entity.js.map +1 -1
  291. package/dist/entities/rate-limit.entity.d.ts +31 -0
  292. package/dist/entities/rate-limit.entity.d.ts.map +1 -1
  293. package/dist/entities/rate-limit.entity.js +31 -0
  294. package/dist/entities/rate-limit.entity.js.map +1 -1
  295. package/dist/entities/session.entity.d.ts +121 -0
  296. package/dist/entities/session.entity.d.ts.map +1 -1
  297. package/dist/entities/session.entity.js +121 -0
  298. package/dist/entities/session.entity.js.map +1 -1
  299. package/dist/entities/social-account.entity.d.ts +75 -0
  300. package/dist/entities/social-account.entity.d.ts.map +1 -1
  301. package/dist/entities/social-account.entity.js +75 -0
  302. package/dist/entities/social-account.entity.js.map +1 -1
  303. package/dist/entities/storage-lock.entity.d.ts +28 -0
  304. package/dist/entities/storage-lock.entity.d.ts.map +1 -1
  305. package/dist/entities/storage-lock.entity.js +28 -0
  306. package/dist/entities/storage-lock.entity.js.map +1 -1
  307. package/dist/entities/trusted-device.entity.d.ts +83 -0
  308. package/dist/entities/trusted-device.entity.d.ts.map +1 -1
  309. package/dist/entities/trusted-device.entity.js +83 -0
  310. package/dist/entities/trusted-device.entity.js.map +1 -1
  311. package/dist/entities/user.entity.d.ts +166 -0
  312. package/dist/entities/user.entity.d.ts.map +1 -1
  313. package/dist/entities/user.entity.js +166 -0
  314. package/dist/entities/user.entity.js.map +1 -1
  315. package/dist/entities/verification-token.entity.d.ts +102 -0
  316. package/dist/entities/verification-token.entity.d.ts.map +1 -1
  317. package/dist/entities/verification-token.entity.js +102 -0
  318. package/dist/entities/verification-token.entity.js.map +1 -1
  319. package/dist/entities.d.ts +8 -0
  320. package/dist/entities.d.ts.map +1 -1
  321. package/dist/entities.js +8 -0
  322. package/dist/entities.js.map +1 -1
  323. package/dist/enums/auth-audit-event-type.enum.d.ts +211 -0
  324. package/dist/enums/auth-audit-event-type.enum.d.ts.map +1 -1
  325. package/dist/enums/auth-audit-event-type.enum.js +244 -0
  326. package/dist/enums/auth-audit-event-type.enum.js.map +1 -1
  327. package/dist/enums/error-codes.enum.d.ts +296 -0
  328. package/dist/enums/error-codes.enum.d.ts.map +1 -1
  329. package/dist/enums/error-codes.enum.js +332 -0
  330. package/dist/enums/error-codes.enum.js.map +1 -1
  331. package/dist/enums/mfa-method.enum.d.ts +74 -0
  332. package/dist/enums/mfa-method.enum.d.ts.map +1 -1
  333. package/dist/enums/mfa-method.enum.js +64 -0
  334. package/dist/enums/mfa-method.enum.js.map +1 -1
  335. package/dist/enums/risk-factor.enum.d.ts +91 -0
  336. package/dist/enums/risk-factor.enum.d.ts.map +1 -1
  337. package/dist/enums/risk-factor.enum.js +97 -0
  338. package/dist/enums/risk-factor.enum.js.map +1 -1
  339. package/dist/exceptions/nauth.exception.d.ts +149 -0
  340. package/dist/exceptions/nauth.exception.d.ts.map +1 -1
  341. package/dist/exceptions/nauth.exception.js +159 -0
  342. package/dist/exceptions/nauth.exception.js.map +1 -1
  343. package/dist/handlers/auth.handler.d.ts +32 -0
  344. package/dist/handlers/auth.handler.d.ts.map +1 -1
  345. package/dist/handlers/auth.handler.js +47 -1
  346. package/dist/handlers/auth.handler.js.map +1 -1
  347. package/dist/handlers/client-info.handler.d.ts +25 -0
  348. package/dist/handlers/client-info.handler.d.ts.map +1 -1
  349. package/dist/handlers/client-info.handler.js +36 -2
  350. package/dist/handlers/client-info.handler.js.map +1 -1
  351. package/dist/handlers/csrf.handler.d.ts +32 -0
  352. package/dist/handlers/csrf.handler.d.ts.map +1 -1
  353. package/dist/handlers/csrf.handler.js +49 -1
  354. package/dist/handlers/csrf.handler.js.map +1 -1
  355. package/dist/handlers/token-delivery.handler.d.ts +16 -0
  356. package/dist/handlers/token-delivery.handler.d.ts.map +1 -1
  357. package/dist/handlers/token-delivery.handler.js +22 -1
  358. package/dist/handlers/token-delivery.handler.js.map +1 -1
  359. package/dist/index.d.ts +34 -0
  360. package/dist/index.d.ts.map +1 -1
  361. package/dist/index.js +67 -0
  362. package/dist/index.js.map +1 -1
  363. package/dist/interfaces/client-info.interface.d.ts +58 -0
  364. package/dist/interfaces/client-info.interface.d.ts.map +1 -1
  365. package/dist/interfaces/config.interface.d.ts +1774 -0
  366. package/dist/interfaces/config.interface.d.ts.map +1 -1
  367. package/dist/interfaces/config.interface.js +16 -0
  368. package/dist/interfaces/config.interface.js.map +1 -1
  369. package/dist/interfaces/entities.interface.d.ts +48 -0
  370. package/dist/interfaces/entities.interface.d.ts.map +1 -1
  371. package/dist/interfaces/entities.interface.js +8 -0
  372. package/dist/interfaces/entities.interface.js.map +1 -1
  373. package/dist/interfaces/index.js +5 -0
  374. package/dist/interfaces/index.js.map +1 -1
  375. package/dist/interfaces/logger.interface.d.ts +213 -0
  376. package/dist/interfaces/logger.interface.d.ts.map +1 -1
  377. package/dist/interfaces/logger.interface.js +35 -0
  378. package/dist/interfaces/logger.interface.js.map +1 -1
  379. package/dist/interfaces/mfa-provider.interface.d.ts +134 -0
  380. package/dist/interfaces/mfa-provider.interface.d.ts.map +1 -1
  381. package/dist/interfaces/oauth.interface.d.ts +110 -0
  382. package/dist/interfaces/oauth.interface.d.ts.map +1 -1
  383. package/dist/interfaces/provider.interface.d.ts +83 -0
  384. package/dist/interfaces/provider.interface.d.ts.map +1 -1
  385. package/dist/interfaces/sms-template.interface.d.ts +246 -0
  386. package/dist/interfaces/sms-template.interface.d.ts.map +1 -1
  387. package/dist/interfaces/sms-template.interface.js +26 -0
  388. package/dist/interfaces/sms-template.interface.js.map +1 -1
  389. package/dist/interfaces/social-auth-provider.interface.d.ts +115 -0
  390. package/dist/interfaces/social-auth-provider.interface.d.ts.map +1 -1
  391. package/dist/interfaces/storage-adapter.interface.d.ts +37 -0
  392. package/dist/interfaces/storage-adapter.interface.d.ts.map +1 -1
  393. package/dist/interfaces/template.interface.d.ts +351 -0
  394. package/dist/interfaces/template.interface.d.ts.map +1 -1
  395. package/dist/interfaces/template.interface.js +13 -0
  396. package/dist/interfaces/template.interface.js.map +1 -1
  397. package/dist/interfaces/token-verifier.interface.d.ts +101 -0
  398. package/dist/interfaces/token-verifier.interface.d.ts.map +1 -1
  399. package/dist/interfaces.d.ts +8 -0
  400. package/dist/interfaces.d.ts.map +1 -1
  401. package/dist/interfaces.js +8 -0
  402. package/dist/interfaces.js.map +1 -1
  403. package/dist/internal.d.ts +120 -0
  404. package/dist/internal.d.ts.map +1 -1
  405. package/dist/internal.js +138 -0
  406. package/dist/internal.js.map +1 -1
  407. package/dist/platform/interfaces.d.ts +187 -0
  408. package/dist/platform/interfaces.d.ts.map +1 -1
  409. package/dist/platform/interfaces.js +11 -0
  410. package/dist/platform/interfaces.js.map +1 -1
  411. package/dist/schemas/auth-config.schema.d.ts +48 -0
  412. package/dist/schemas/auth-config.schema.d.ts.map +1 -1
  413. package/dist/schemas/auth-config.schema.js +188 -9
  414. package/dist/schemas/auth-config.schema.js.map +1 -1
  415. package/dist/services/adaptive-mfa-decision.service.d.ts +144 -0
  416. package/dist/services/adaptive-mfa-decision.service.d.ts.map +1 -1
  417. package/dist/services/adaptive-mfa-decision.service.js +151 -5
  418. package/dist/services/adaptive-mfa-decision.service.js.map +1 -1
  419. package/dist/services/auth-audit.service.d.ts +195 -0
  420. package/dist/services/auth-audit.service.d.ts.map +1 -1
  421. package/dist/services/auth-audit.service.js +228 -1
  422. package/dist/services/auth-audit.service.js.map +1 -1
  423. package/dist/services/auth-challenge-helper.service.d.ts +144 -1
  424. package/dist/services/auth-challenge-helper.service.d.ts.map +1 -1
  425. package/dist/services/auth-challenge-helper.service.js +295 -16
  426. package/dist/services/auth-challenge-helper.service.js.map +1 -1
  427. package/dist/services/auth-flow-context-builder.service.d.ts +120 -1
  428. package/dist/services/auth-flow-context-builder.service.d.ts.map +1 -1
  429. package/dist/services/auth-flow-context-builder.service.js +184 -5
  430. package/dist/services/auth-flow-context-builder.service.js.map +1 -1
  431. package/dist/services/auth-flow-rules.d.ts +136 -0
  432. package/dist/services/auth-flow-rules.d.ts.map +1 -1
  433. package/dist/services/auth-flow-rules.js +137 -0
  434. package/dist/services/auth-flow-rules.js.map +1 -1
  435. package/dist/services/auth-flow-state-definitions.d.ts +40 -0
  436. package/dist/services/auth-flow-state-definitions.d.ts.map +1 -1
  437. package/dist/services/auth-flow-state-definitions.js +98 -0
  438. package/dist/services/auth-flow-state-definitions.js.map +1 -1
  439. package/dist/services/auth-flow-state-machine.service.d.ts +91 -0
  440. package/dist/services/auth-flow-state-machine.service.d.ts.map +1 -1
  441. package/dist/services/auth-flow-state-machine.service.js +102 -0
  442. package/dist/services/auth-flow-state-machine.service.js.map +1 -1
  443. package/dist/services/auth-flow-state-machine.types.d.ts +221 -0
  444. package/dist/services/auth-flow-state-machine.types.d.ts.map +1 -1
  445. package/dist/services/auth-flow-state-machine.types.js +47 -0
  446. package/dist/services/auth-flow-state-machine.types.js.map +1 -1
  447. package/dist/services/auth.service.d.ts +397 -1
  448. package/dist/services/auth.service.d.ts.map +1 -1
  449. package/dist/services/auth.service.js +943 -27
  450. package/dist/services/auth.service.js.map +1 -1
  451. package/dist/services/challenge.service.d.ts +255 -1
  452. package/dist/services/challenge.service.d.ts.map +1 -1
  453. package/dist/services/challenge.service.js +327 -3
  454. package/dist/services/challenge.service.js.map +1 -1
  455. package/dist/services/client-info.service.d.ts +143 -0
  456. package/dist/services/client-info.service.d.ts.map +1 -1
  457. package/dist/services/client-info.service.js +161 -0
  458. package/dist/services/client-info.service.js.map +1 -1
  459. package/dist/services/csrf.service.d.ts +15 -0
  460. package/dist/services/csrf.service.d.ts.map +1 -1
  461. package/dist/services/csrf.service.js +16 -0
  462. package/dist/services/csrf.service.js.map +1 -1
  463. package/dist/services/email-verification.service.d.ts +52 -0
  464. package/dist/services/email-verification.service.d.ts.map +1 -1
  465. package/dist/services/email-verification.service.js +149 -10
  466. package/dist/services/email-verification.service.js.map +1 -1
  467. package/dist/services/geo-location.service.d.ts +105 -0
  468. package/dist/services/geo-location.service.d.ts.map +1 -1
  469. package/dist/services/geo-location.service.js +188 -2
  470. package/dist/services/geo-location.service.js.map +1 -1
  471. package/dist/services/jwt.service.d.ts +257 -0
  472. package/dist/services/jwt.service.d.ts.map +1 -1
  473. package/dist/services/jwt.service.js +284 -1
  474. package/dist/services/jwt.service.js.map +1 -1
  475. package/dist/services/mfa-base.service.d.ts +179 -1
  476. package/dist/services/mfa-base.service.d.ts.map +1 -1
  477. package/dist/services/mfa-base.service.js +256 -2
  478. package/dist/services/mfa-base.service.js.map +1 -1
  479. package/dist/services/mfa.service.d.ts +304 -0
  480. package/dist/services/mfa.service.d.ts.map +1 -1
  481. package/dist/services/mfa.service.js +380 -0
  482. package/dist/services/mfa.service.js.map +1 -1
  483. package/dist/services/password-reset.service.d.ts +46 -0
  484. package/dist/services/password-reset.service.d.ts.map +1 -1
  485. package/dist/services/password-reset.service.js +79 -0
  486. package/dist/services/password-reset.service.js.map +1 -1
  487. package/dist/services/password.service.d.ts +139 -0
  488. package/dist/services/password.service.d.ts.map +1 -1
  489. package/dist/services/password.service.js +167 -9
  490. package/dist/services/password.service.js.map +1 -1
  491. package/dist/services/phone-verification.service.d.ts +75 -0
  492. package/dist/services/phone-verification.service.d.ts.map +1 -1
  493. package/dist/services/phone-verification.service.js +188 -6
  494. package/dist/services/phone-verification.service.js.map +1 -1
  495. package/dist/services/risk-detection.service.d.ts +198 -0
  496. package/dist/services/risk-detection.service.d.ts.map +1 -1
  497. package/dist/services/risk-detection.service.js +358 -11
  498. package/dist/services/risk-detection.service.js.map +1 -1
  499. package/dist/services/risk-scoring.service.d.ts +84 -0
  500. package/dist/services/risk-scoring.service.d.ts.map +1 -1
  501. package/dist/services/risk-scoring.service.js +87 -0
  502. package/dist/services/risk-scoring.service.js.map +1 -1
  503. package/dist/services/session.service.d.ts +204 -0
  504. package/dist/services/session.service.d.ts.map +1 -1
  505. package/dist/services/session.service.js +289 -4
  506. package/dist/services/session.service.js.map +1 -1
  507. package/dist/services/social-auth-base.service.d.ts +123 -1
  508. package/dist/services/social-auth-base.service.d.ts.map +1 -1
  509. package/dist/services/social-auth-base.service.js +155 -2
  510. package/dist/services/social-auth-base.service.js.map +1 -1
  511. package/dist/services/social-auth.service.d.ts +191 -0
  512. package/dist/services/social-auth.service.d.ts.map +1 -1
  513. package/dist/services/social-auth.service.js +215 -2
  514. package/dist/services/social-auth.service.js.map +1 -1
  515. package/dist/services/social-provider-registry.service.d.ts +86 -0
  516. package/dist/services/social-provider-registry.service.d.ts.map +1 -1
  517. package/dist/services/social-provider-registry.service.js +86 -0
  518. package/dist/services/social-provider-registry.service.js.map +1 -1
  519. package/dist/services/trusted-device.service.d.ts +105 -0
  520. package/dist/services/trusted-device.service.d.ts.map +1 -1
  521. package/dist/services/trusted-device.service.js +133 -4
  522. package/dist/services/trusted-device.service.js.map +1 -1
  523. package/dist/storage/account-lockout-storage.service.d.ts +35 -0
  524. package/dist/storage/account-lockout-storage.service.d.ts.map +1 -1
  525. package/dist/storage/account-lockout-storage.service.js +35 -0
  526. package/dist/storage/account-lockout-storage.service.js.map +1 -1
  527. package/dist/storage/memory-storage.adapter.d.ts +148 -0
  528. package/dist/storage/memory-storage.adapter.d.ts.map +1 -1
  529. package/dist/storage/memory-storage.adapter.js +201 -6
  530. package/dist/storage/memory-storage.adapter.js.map +1 -1
  531. package/dist/storage/rate-limit-storage.service.d.ts +3 -0
  532. package/dist/storage/rate-limit-storage.service.d.ts.map +1 -1
  533. package/dist/storage/rate-limit-storage.service.js +4 -0
  534. package/dist/storage/rate-limit-storage.service.js.map +1 -1
  535. package/dist/storage.d.ts +8 -0
  536. package/dist/storage.d.ts.map +1 -1
  537. package/dist/storage.js +8 -0
  538. package/dist/storage.js.map +1 -1
  539. package/dist/templates/html-template.engine.d.ts +110 -0
  540. package/dist/templates/html-template.engine.d.ts.map +1 -1
  541. package/dist/templates/html-template.engine.js +147 -0
  542. package/dist/templates/html-template.engine.js.map +1 -1
  543. package/dist/templates/index.d.ts +5 -0
  544. package/dist/templates/index.d.ts.map +1 -1
  545. package/dist/templates/index.js +5 -0
  546. package/dist/templates/index.js.map +1 -1
  547. package/dist/templates/sms-template.engine.d.ts +151 -0
  548. package/dist/templates/sms-template.engine.d.ts.map +1 -1
  549. package/dist/templates/sms-template.engine.js +171 -0
  550. package/dist/templates/sms-template.engine.js.map +1 -1
  551. package/dist/templates.d.ts +8 -0
  552. package/dist/templates.d.ts.map +1 -1
  553. package/dist/templates.js +8 -0
  554. package/dist/templates.js.map +1 -1
  555. package/dist/utils/common-passwords.d.ts +42 -0
  556. package/dist/utils/common-passwords.d.ts.map +1 -1
  557. package/dist/utils/common-passwords.js +88 -0
  558. package/dist/utils/common-passwords.js.map +1 -1
  559. package/dist/utils/context-storage.d.ts +129 -0
  560. package/dist/utils/context-storage.d.ts.map +1 -1
  561. package/dist/utils/context-storage.js +129 -0
  562. package/dist/utils/context-storage.js.map +1 -1
  563. package/dist/utils/cookie-names.util.d.ts +35 -0
  564. package/dist/utils/cookie-names.util.d.ts.map +1 -1
  565. package/dist/utils/cookie-names.util.js +37 -0
  566. package/dist/utils/cookie-names.util.js.map +1 -1
  567. package/dist/utils/cookies.util.d.ts +19 -0
  568. package/dist/utils/cookies.util.d.ts.map +1 -1
  569. package/dist/utils/cookies.util.js +30 -3
  570. package/dist/utils/cookies.util.js.map +1 -1
  571. package/dist/utils/index.d.ts +3 -0
  572. package/dist/utils/index.d.ts.map +1 -1
  573. package/dist/utils/index.js +4 -0
  574. package/dist/utils/index.js.map +1 -1
  575. package/dist/utils/ip-extractor.d.ts +88 -0
  576. package/dist/utils/ip-extractor.d.ts.map +1 -1
  577. package/dist/utils/ip-extractor.js +109 -16
  578. package/dist/utils/ip-extractor.js.map +1 -1
  579. package/dist/utils/nauth-logger.d.ts +70 -0
  580. package/dist/utils/nauth-logger.d.ts.map +1 -1
  581. package/dist/utils/nauth-logger.js +82 -4
  582. package/dist/utils/nauth-logger.js.map +1 -1
  583. package/dist/utils/pii-redactor.d.ts +70 -0
  584. package/dist/utils/pii-redactor.d.ts.map +1 -1
  585. package/dist/utils/pii-redactor.js +102 -0
  586. package/dist/utils/pii-redactor.js.map +1 -1
  587. package/dist/utils/setup/get-repositories.d.ts +16 -0
  588. package/dist/utils/setup/get-repositories.d.ts.map +1 -1
  589. package/dist/utils/setup/get-repositories.js +21 -0
  590. package/dist/utils/setup/get-repositories.js.map +1 -1
  591. package/dist/utils/setup/init-services.d.ts +40 -1
  592. package/dist/utils/setup/init-services.d.ts.map +1 -1
  593. package/dist/utils/setup/init-services.js +98 -0
  594. package/dist/utils/setup/init-services.js.map +1 -1
  595. package/dist/utils/setup/init-social.d.ts +27 -0
  596. package/dist/utils/setup/init-social.d.ts.map +1 -1
  597. package/dist/utils/setup/init-social.js +49 -0
  598. package/dist/utils/setup/init-social.js.map +1 -1
  599. package/dist/utils/setup/init-storage.d.ts +22 -0
  600. package/dist/utils/setup/init-storage.d.ts.map +1 -1
  601. package/dist/utils/setup/init-storage.js +36 -0
  602. package/dist/utils/setup/init-storage.js.map +1 -1
  603. package/dist/utils/setup/register-mfa.d.ts +22 -0
  604. package/dist/utils/setup/register-mfa.d.ts.map +1 -1
  605. package/dist/utils/setup/register-mfa.js +41 -0
  606. package/dist/utils/setup/register-mfa.js.map +1 -1
  607. package/dist/utils/setup/run-nauth-migrations.d.ts +7 -0
  608. package/dist/utils/setup/run-nauth-migrations.d.ts.map +1 -1
  609. package/dist/utils/setup/run-nauth-migrations.js +8 -0
  610. package/dist/utils/setup/run-nauth-migrations.js.map +1 -1
  611. package/dist/utils/token-delivery-policy.d.ts +17 -0
  612. package/dist/utils/token-delivery-policy.d.ts.map +1 -1
  613. package/dist/utils/token-delivery-policy.js +17 -0
  614. package/dist/utils/token-delivery-policy.js.map +1 -1
  615. package/dist/utils.d.ts +8 -0
  616. package/dist/utils.d.ts.map +1 -1
  617. package/dist/utils.js +8 -0
  618. package/dist/utils.js.map +1 -1
  619. package/dist/validators/template.validator.d.ts +80 -0
  620. package/dist/validators/template.validator.d.ts.map +1 -1
  621. package/dist/validators/template.validator.js +94 -0
  622. package/dist/validators/template.validator.js.map +1 -1
  623. package/package.json +7 -2
@@ -12,8 +12,37 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.ResetPasswordDTO = exports.ResetPasswordRequestDTO = void 0;
13
13
  const class_validator_1 = require("class-validator");
14
14
  const class_transformer_1 = require("class-transformer");
15
+ /**
16
+ * Reset Password Request DTO
17
+ *
18
+ * Used to request a password reset token via email or phone.
19
+ *
20
+ * Security:
21
+ * - Identifier validated (email or phone)
22
+ * - Input sanitization applied
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * POST /auth/reset-password/request
27
+ * {
28
+ * "identifier": "user@example.com"
29
+ * }
30
+ * ```
31
+ */
15
32
  class ResetPasswordRequestDTO {
16
- identifier;
33
+ /**
34
+ * User identifier (email or phone)
35
+ *
36
+ * Validation:
37
+ * - Must be a string
38
+ * - Min 1 character
39
+ * - Max 255 characters (matches DB constraint for email)
40
+ *
41
+ * Sanitization:
42
+ * - Trimmed
43
+ * - Lowercased if email format detected
44
+ */
45
+ identifier; // email or phone
17
46
  }
18
47
  exports.ResetPasswordRequestDTO = ResetPasswordRequestDTO;
19
48
  __decorate([
@@ -24,6 +53,7 @@ __decorate([
24
53
  (0, class_transformer_1.Transform)(({ value }) => {
25
54
  if (typeof value === 'string') {
26
55
  const trimmed = value.trim();
56
+ // If it contains @, treat as email and lowercase
27
57
  if (trimmed.includes('@')) {
28
58
  return trimmed.toLowerCase();
29
59
  }
@@ -33,8 +63,53 @@ __decorate([
33
63
  }),
34
64
  __metadata("design:type", String)
35
65
  ], ResetPasswordRequestDTO.prototype, "identifier", void 0);
66
+ /**
67
+ * Reset Password DTO
68
+ *
69
+ * Used to reset password with a valid reset token.
70
+ *
71
+ * Security:
72
+ * - Token length validated (matches DB constraint: varchar(255))
73
+ * - Password strength enforced (8-128 chars)
74
+ * - Token format validated in service layer
75
+ *
76
+ * @example
77
+ * ```typescript
78
+ * POST /auth/reset-password
79
+ * {
80
+ * "token": "reset-token-from-email",
81
+ * "newPassword": "NewSecurePassword123!"
82
+ * }
83
+ * ```
84
+ */
36
85
  class ResetPasswordDTO {
86
+ /**
87
+ * Password reset token from email
88
+ *
89
+ * Validation:
90
+ * - Must be a string
91
+ * - Min 1 character (prevents empty strings)
92
+ * - Max 255 characters (matches DB constraint: varchar(255))
93
+ *
94
+ * Sanitization:
95
+ * - Trimmed
96
+ *
97
+ * Note: Token format and validity validated in service layer
98
+ */
37
99
  token;
100
+ /**
101
+ * New password
102
+ *
103
+ * Validation:
104
+ * - Must be a string
105
+ * - Min 8 characters (security requirement)
106
+ * - Max 128 characters (prevents DoS via bcrypt)
107
+ *
108
+ * Note: NOT trimmed (passwords can have leading/trailing spaces)
109
+ * Additional checks in service layer:
110
+ * - Password strength (if configured)
111
+ * - Password history (prevent reuse)
112
+ */
38
113
  newPassword;
39
114
  }
40
115
  exports.ResetPasswordDTO = ResetPasswordDTO;
@@ -1 +1 @@
1
- {"version":3,"file":"reset-password.dto.js","sourceRoot":"","sources":["../../src/dto/reset-password.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA6E;AAC7E,yDAA8C;AAmB9C,MAAa,uBAAuB;IA4BlC,UAAU,CAAU;CACrB;AA7BD,0DA6BC;AADC;IAfC,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC;IACpD,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC;IACjD,IAAA,2BAAS,EAAC,CAAC,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC;IACnD,IAAA,2BAAS,EAAC,GAAG,EAAE,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC;IACxE,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAE7B,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;YAC/B,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;;2DACkB;AAsBtB,MAAa,gBAAgB;IAwB3B,KAAK,CAAU;IAmBf,WAAW,CAAU;CACtB;AA5CD,4CA4CC;AApBC;IAVC,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC;IAC/C,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC5C,IAAA,2BAAS,EAAC,CAAC,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC9C,IAAA,2BAAS,EAAC,GAAG,EAAE,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC;IACnE,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;;+CACa;AAmBf;IAJC,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC;IACtD,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;IACnD,IAAA,2BAAS,EAAC,CAAC,EAAE,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC;IACnE,IAAA,2BAAS,EAAC,GAAG,EAAE,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC;;qDAClD"}
1
+ {"version":3,"file":"reset-password.dto.js","sourceRoot":"","sources":["../../src/dto/reset-password.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA6E;AAC7E,yDAA8C;AAE9C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAa,uBAAuB;IAClC;;;;;;;;;;;OAWG;IAgBH,UAAU,CAAU,CAAC,iBAAiB;CACvC;AA7BD,0DA6BC;AADC;IAfC,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC;IACpD,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC;IACjD,IAAA,2BAAS,EAAC,CAAC,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC;IACnD,IAAA,2BAAS,EAAC,GAAG,EAAE,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC;IACxE,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7B,iDAAiD;YACjD,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;YAC/B,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;;2DACkB;AAGtB;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAa,gBAAgB;IAC3B;;;;;;;;;;;;OAYG;IAWH,KAAK,CAAU;IAEf;;;;;;;;;;;;OAYG;IAKH,WAAW,CAAU;CACtB;AA5CD,4CA4CC;AApBC;IAVC,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC;IAC/C,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC5C,IAAA,2BAAS,EAAC,CAAC,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC9C,IAAA,2BAAS,EAAC,GAAG,EAAE,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC;IACnE,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;;+CACa;AAmBf;IAJC,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC;IACtD,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;IACnD,IAAA,2BAAS,EAAC,CAAC,EAAE,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC;IACnE,IAAA,2BAAS,EAAC,GAAG,EAAE,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC;;qDAClD"}
@@ -1,3 +1,22 @@
1
+ /**
2
+ * Unified Challenge Response DTO with Comprehensive Validation
3
+ *
4
+ * Provides class-validator validation for challenge responses.
5
+ * This is the single source of truth for challenge response validation,
6
+ * used by both NestJS and Express adapters.
7
+ *
8
+ * Security Features:
9
+ * - All string inputs have max length (prevents DoS attacks)
10
+ * - Phone numbers validated against E.164 format
11
+ * - Password strength enforced (8-128 chars)
12
+ * - Conditional validation based on challenge type
13
+ * - Enum validation prevents invalid challenge types
14
+ *
15
+ * @module RespondChallengeDTO
16
+ */
17
+ /**
18
+ * Challenge type enum for validation
19
+ */
1
20
  export declare enum ChallengeType {
2
21
  VERIFY_EMAIL = "VERIFY_EMAIL",
3
22
  VERIFY_PHONE = "VERIFY_PHONE",
@@ -5,6 +24,9 @@ export declare enum ChallengeType {
5
24
  FORCE_CHANGE_PASSWORD = "FORCE_CHANGE_PASSWORD",
6
25
  MFA_SETUP_REQUIRED = "MFA_SETUP_REQUIRED"
7
26
  }
27
+ /**
28
+ * MFA method enum for validation
29
+ */
8
30
  export declare enum MFAMethodType {
9
31
  SMS = "sms",
10
32
  EMAIL = "email",
@@ -12,16 +34,141 @@ export declare enum MFAMethodType {
12
34
  PASSKEY = "passkey",
13
35
  BACKUP = "backup"
14
36
  }
37
+ /**
38
+ * Unified DTO for responding to authentication challenges
39
+ *
40
+ * Uses conditional validation (@ValidateIf) to validate fields based on challenge type.
41
+ * This ensures proper validation while maintaining a single endpoint for all challenge types.
42
+ *
43
+ * Security:
44
+ * - All strings have max length constraints matching DB limits
45
+ * - Phone numbers validated against E.164 format (prevents SQL injection)
46
+ * - Verification codes validated for length (4-10 chars)
47
+ * - Passwords validated for strength requirements
48
+ * - Session tokens validated as UUID v4 format (prevents injection)
49
+ *
50
+ * @example
51
+ * ```typescript
52
+ * @Controller('auth')
53
+ * export class AuthController {
54
+ * @Post('respond-challenge')
55
+ * async respondToChallenge(@Body() dto: RespondChallengeDTO) {
56
+ * return await this.authService.respondToChallenge(dto);
57
+ * }
58
+ * }
59
+ * ```
60
+ */
15
61
  export declare class RespondChallengeDTO {
62
+ /**
63
+ * Challenge session token (UUID v4)
64
+ * Always required
65
+ *
66
+ * Validation:
67
+ * - Must be a valid UUID v4 format
68
+ * - Generated using randomUUID() in challenge service
69
+ * - Matches DB constraint: varchar(255) but UUID format enforced
70
+ *
71
+ * Sanitization:
72
+ * - Trimmed
73
+ * - Lowercased for consistency
74
+ *
75
+ * @example "a21b654c-2746-4168-acee-c175083a65cd"
76
+ */
16
77
  session: string;
78
+ /**
79
+ * Challenge type being responded to
80
+ * Always required
81
+ */
17
82
  type: ChallengeType;
83
+ /**
84
+ * Verification code
85
+ * Required for:
86
+ * - VERIFY_EMAIL
87
+ * - VERIFY_PHONE (when verifying code)
88
+ * - MFA_REQUIRED (for SMS/Email/TOTP/Backup methods)
89
+ *
90
+ * Validation:
91
+ * - Must be a string
92
+ * - Length 4-10 characters (covers all code types)
93
+ * - Alphanumeric only
94
+ *
95
+ * Note: NOT trimmed (codes should be exact)
96
+ */
18
97
  code?: string;
98
+ /**
99
+ * Phone number in E.164 format
100
+ * Required for VERIFY_PHONE when collecting phone number (first step)
101
+ *
102
+ * Validation:
103
+ * - Must be a string
104
+ * - Must match E.164 format: +[country code][number]
105
+ * - Example: +14155552671
106
+ * - Max 20 characters (matches DB limit)
107
+ *
108
+ * Sanitization:
109
+ * - Trimmed
110
+ * - Only digits and leading + allowed
111
+ */
19
112
  phone?: string;
113
+ /**
114
+ * New password
115
+ * Required for FORCE_CHANGE_PASSWORD challenge
116
+ *
117
+ * Validation:
118
+ * - Must be a string
119
+ * - Min 8 characters (security requirement)
120
+ * - Max 128 characters (prevents DoS via bcrypt)
121
+ *
122
+ * Note: NOT trimmed (passwords can have leading/trailing spaces)
123
+ */
20
124
  newPassword?: string;
125
+ /**
126
+ * MFA method being used or set up
127
+ * Required for:
128
+ * - MFA_REQUIRED challenge (method being used for verification)
129
+ * - MFA_SETUP_REQUIRED challenge (method being set up)
130
+ *
131
+ * Validation:
132
+ * - Must be one of: sms, email, totp, passkey, backup
133
+ */
21
134
  method?: MFAMethodType;
135
+ /**
136
+ * Passkey credential
137
+ * Required for MFA_REQUIRED when method is 'passkey'
138
+ *
139
+ * Validation:
140
+ * - Must be an object
141
+ * - Contains WebAuthn credential from navigator.credentials.get()
142
+ */
22
143
  credential?: Record<string, unknown>;
144
+ /**
145
+ * MFA setup data (method-specific)
146
+ * Required for MFA_SETUP_REQUIRED challenge
147
+ *
148
+ * Expected structure by method:
149
+ * - SMS: { phone: string, code: string }
150
+ * - Email: { code: string }
151
+ * - TOTP: { code: string }
152
+ * - Passkey: { credential: Record<string, unknown> }
153
+ *
154
+ * Validation:
155
+ * - Must be an object
156
+ * - Structure validated by MFA provider services
157
+ */
23
158
  setupData?: Record<string, unknown>;
24
159
  }
160
+ /**
161
+ * Helper type guards for challenge response
162
+ *
163
+ * Use these to narrow TypeScript types in your application logic.
164
+ *
165
+ * @example
166
+ * ```typescript
167
+ * if (RespondChallengeValidation.isEmailVerification(dto)) {
168
+ * // TypeScript knows dto.code is available
169
+ * }
170
+ * ```
171
+ */
25
172
  export declare namespace RespondChallengeValidation {
26
173
  function isEmailVerification(dto: RespondChallengeDTO): boolean;
27
174
  function isPhoneCollection(dto: RespondChallengeDTO): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"respond-challenge.dto.d.ts","sourceRoot":"","sources":["../../src/dto/respond-challenge.dto.ts"],"names":[],"mappings":"AAuBA,oBAAY,aAAa;IACvB,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,qBAAqB,0BAA0B;IAC/C,kBAAkB,uBAAuB;CAC1C;AAKD,oBAAY,aAAa;IACvB,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AA0BD,qBAAa,mBAAmB;IAuB9B,OAAO,EAAG,MAAM,CAAC;IAUjB,IAAI,EAAG,aAAa,CAAC;IA6BrB,IAAI,CAAC,EAAE,MAAM,CAAC;IAgCd,KAAK,CAAC,EAAE,MAAM,CAAC;IAqBf,WAAW,CAAC,EAAE,MAAM,CAAC;IAiBrB,MAAM,CAAC,EAAE,aAAa,CAAC;IAYvB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAsBrC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAcD,yBAAiB,0BAA0B,CAAC;IAC1C,SAAgB,mBAAmB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAErE;IAED,SAAgB,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAEnE;IAED,SAAgB,mBAAmB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAErE;IAED,SAAgB,gBAAgB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAElE;IAED,SAAgB,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAEnE;IAED,SAAgB,UAAU,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAE5D;CACF"}
1
+ {"version":3,"file":"respond-challenge.dto.d.ts","sourceRoot":"","sources":["../../src/dto/respond-challenge.dto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH;;GAEG;AACH,oBAAY,aAAa;IACvB,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,qBAAqB,0BAA0B;IAC/C,kBAAkB,uBAAuB;CAC1C;AAED;;GAEG;AACH,oBAAY,aAAa;IACvB,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,mBAAmB;IAC9B;;;;;;;;;;;;;;OAcG;IAQH,OAAO,EAAG,MAAM,CAAC;IAEjB;;;OAGG;IAKH,IAAI,EAAG,aAAa,CAAC;IAMrB;;;;;;;;;;;;;OAaG;IAUH,IAAI,CAAC,EAAE,MAAM,CAAC;IAMd;;;;;;;;;;;;;OAaG;IAaH,KAAK,CAAC,EAAE,MAAM,CAAC;IAMf;;;;;;;;;;OAUG;IAKH,WAAW,CAAC,EAAE,MAAM,CAAC;IAMrB;;;;;;;;OAQG;IAGH,MAAM,CAAC,EAAE,aAAa,CAAC;IAEvB;;;;;;;OAOG;IAGH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAMrC;;;;;;;;;;;;;OAaG;IAGH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED;;;;;;;;;;;GAWG;AACH,yBAAiB,0BAA0B,CAAC;IAC1C,SAAgB,mBAAmB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAErE;IAED,SAAgB,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAEnE;IAED,SAAgB,mBAAmB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAErE;IAED,SAAgB,gBAAgB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAElE;IAED,SAAgB,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAEnE;IAED,SAAgB,UAAU,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAE5D;CACF"}
@@ -1,4 +1,20 @@
1
1
  "use strict";
2
+ /**
3
+ * Unified Challenge Response DTO with Comprehensive Validation
4
+ *
5
+ * Provides class-validator validation for challenge responses.
6
+ * This is the single source of truth for challenge response validation,
7
+ * used by both NestJS and Express adapters.
8
+ *
9
+ * Security Features:
10
+ * - All string inputs have max length (prevents DoS attacks)
11
+ * - Phone numbers validated against E.164 format
12
+ * - Password strength enforced (8-128 chars)
13
+ * - Conditional validation based on challenge type
14
+ * - Enum validation prevents invalid challenge types
15
+ *
16
+ * @module RespondChallengeDTO
17
+ */
2
18
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
19
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
20
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -12,6 +28,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
28
  exports.RespondChallengeValidation = exports.RespondChallengeDTO = exports.MFAMethodType = exports.ChallengeType = void 0;
13
29
  const class_validator_1 = require("class-validator");
14
30
  const class_transformer_1 = require("class-transformer");
31
+ /**
32
+ * Challenge type enum for validation
33
+ */
15
34
  var ChallengeType;
16
35
  (function (ChallengeType) {
17
36
  ChallengeType["VERIFY_EMAIL"] = "VERIFY_EMAIL";
@@ -20,6 +39,9 @@ var ChallengeType;
20
39
  ChallengeType["FORCE_CHANGE_PASSWORD"] = "FORCE_CHANGE_PASSWORD";
21
40
  ChallengeType["MFA_SETUP_REQUIRED"] = "MFA_SETUP_REQUIRED";
22
41
  })(ChallengeType || (exports.ChallengeType = ChallengeType = {}));
42
+ /**
43
+ * MFA method enum for validation
44
+ */
23
45
  var MFAMethodType;
24
46
  (function (MFAMethodType) {
25
47
  MFAMethodType["SMS"] = "sms";
@@ -28,14 +50,142 @@ var MFAMethodType;
28
50
  MFAMethodType["PASSKEY"] = "passkey";
29
51
  MFAMethodType["BACKUP"] = "backup";
30
52
  })(MFAMethodType || (exports.MFAMethodType = MFAMethodType = {}));
53
+ /**
54
+ * Unified DTO for responding to authentication challenges
55
+ *
56
+ * Uses conditional validation (@ValidateIf) to validate fields based on challenge type.
57
+ * This ensures proper validation while maintaining a single endpoint for all challenge types.
58
+ *
59
+ * Security:
60
+ * - All strings have max length constraints matching DB limits
61
+ * - Phone numbers validated against E.164 format (prevents SQL injection)
62
+ * - Verification codes validated for length (4-10 chars)
63
+ * - Passwords validated for strength requirements
64
+ * - Session tokens validated as UUID v4 format (prevents injection)
65
+ *
66
+ * @example
67
+ * ```typescript
68
+ * @Controller('auth')
69
+ * export class AuthController {
70
+ * @Post('respond-challenge')
71
+ * async respondToChallenge(@Body() dto: RespondChallengeDTO) {
72
+ * return await this.authService.respondToChallenge(dto);
73
+ * }
74
+ * }
75
+ * ```
76
+ */
31
77
  class RespondChallengeDTO {
78
+ /**
79
+ * Challenge session token (UUID v4)
80
+ * Always required
81
+ *
82
+ * Validation:
83
+ * - Must be a valid UUID v4 format
84
+ * - Generated using randomUUID() in challenge service
85
+ * - Matches DB constraint: varchar(255) but UUID format enforced
86
+ *
87
+ * Sanitization:
88
+ * - Trimmed
89
+ * - Lowercased for consistency
90
+ *
91
+ * @example "a21b654c-2746-4168-acee-c175083a65cd"
92
+ */
32
93
  session;
94
+ /**
95
+ * Challenge type being responded to
96
+ * Always required
97
+ */
33
98
  type;
99
+ // ============================================================================
100
+ // VERIFY_EMAIL / VERIFY_PHONE / MFA_REQUIRED (code-based)
101
+ // ============================================================================
102
+ /**
103
+ * Verification code
104
+ * Required for:
105
+ * - VERIFY_EMAIL
106
+ * - VERIFY_PHONE (when verifying code)
107
+ * - MFA_REQUIRED (for SMS/Email/TOTP/Backup methods)
108
+ *
109
+ * Validation:
110
+ * - Must be a string
111
+ * - Length 4-10 characters (covers all code types)
112
+ * - Alphanumeric only
113
+ *
114
+ * Note: NOT trimmed (codes should be exact)
115
+ */
34
116
  code;
117
+ // ============================================================================
118
+ // VERIFY_PHONE (phone collection)
119
+ // ============================================================================
120
+ /**
121
+ * Phone number in E.164 format
122
+ * Required for VERIFY_PHONE when collecting phone number (first step)
123
+ *
124
+ * Validation:
125
+ * - Must be a string
126
+ * - Must match E.164 format: +[country code][number]
127
+ * - Example: +14155552671
128
+ * - Max 20 characters (matches DB limit)
129
+ *
130
+ * Sanitization:
131
+ * - Trimmed
132
+ * - Only digits and leading + allowed
133
+ */
35
134
  phone;
135
+ // ============================================================================
136
+ // FORCE_CHANGE_PASSWORD
137
+ // ============================================================================
138
+ /**
139
+ * New password
140
+ * Required for FORCE_CHANGE_PASSWORD challenge
141
+ *
142
+ * Validation:
143
+ * - Must be a string
144
+ * - Min 8 characters (security requirement)
145
+ * - Max 128 characters (prevents DoS via bcrypt)
146
+ *
147
+ * Note: NOT trimmed (passwords can have leading/trailing spaces)
148
+ */
36
149
  newPassword;
150
+ // ============================================================================
151
+ // MFA_REQUIRED / MFA_SETUP_REQUIRED
152
+ // ============================================================================
153
+ /**
154
+ * MFA method being used or set up
155
+ * Required for:
156
+ * - MFA_REQUIRED challenge (method being used for verification)
157
+ * - MFA_SETUP_REQUIRED challenge (method being set up)
158
+ *
159
+ * Validation:
160
+ * - Must be one of: sms, email, totp, passkey, backup
161
+ */
37
162
  method;
163
+ /**
164
+ * Passkey credential
165
+ * Required for MFA_REQUIRED when method is 'passkey'
166
+ *
167
+ * Validation:
168
+ * - Must be an object
169
+ * - Contains WebAuthn credential from navigator.credentials.get()
170
+ */
38
171
  credential;
172
+ // ============================================================================
173
+ // MFA_SETUP_REQUIRED
174
+ // ============================================================================
175
+ /**
176
+ * MFA setup data (method-specific)
177
+ * Required for MFA_SETUP_REQUIRED challenge
178
+ *
179
+ * Expected structure by method:
180
+ * - SMS: { phone: string, code: string }
181
+ * - Email: { code: string }
182
+ * - TOTP: { code: string }
183
+ * - Passkey: { credential: Record<string, unknown> }
184
+ *
185
+ * Validation:
186
+ * - Must be an object
187
+ * - Structure validated by MFA provider services
188
+ */
39
189
  setupData;
40
190
  }
41
191
  exports.RespondChallengeDTO = RespondChallengeDTO;
@@ -101,6 +251,18 @@ __decorate([
101
251
  (0, class_validator_1.IsObject)({ message: 'Setup data must be an object' }),
102
252
  __metadata("design:type", Object)
103
253
  ], RespondChallengeDTO.prototype, "setupData", void 0);
254
+ /**
255
+ * Helper type guards for challenge response
256
+ *
257
+ * Use these to narrow TypeScript types in your application logic.
258
+ *
259
+ * @example
260
+ * ```typescript
261
+ * if (RespondChallengeValidation.isEmailVerification(dto)) {
262
+ * // TypeScript knows dto.code is available
263
+ * }
264
+ * ```
265
+ */
104
266
  var RespondChallengeValidation;
105
267
  (function (RespondChallengeValidation) {
106
268
  function isEmailVerification(dto) {
@@ -1 +1 @@
1
- {"version":3,"file":"respond-challenge.dto.js","sourceRoot":"","sources":["../../src/dto/respond-challenge.dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"respond-challenge.dto.js","sourceRoot":"","sources":["../../src/dto/respond-challenge.dto.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,77 @@
1
+ /**
2
+ * DTO for setting MFA exemption
3
+ *
4
+ * Used to grant or revoke a user's exemption from multi-factor authentication requirements.
5
+ * Admin-only operation.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const result = await mfaService.setMFAExemption({
10
+ * userSub: 'user-uuid',
11
+ * exempt: true,
12
+ * reason: 'Business partner requires MFA bypass',
13
+ * grantedBy: 'admin@example.com'
14
+ * });
15
+ * ```
16
+ */
17
+ /**
18
+ * DTO for setting MFA exemption
19
+ */
1
20
  export declare class SetMFAExemptionDTO {
21
+ /**
22
+ * User's unique identifier (UUID v4)
23
+ *
24
+ * Validation:
25
+ * - Must be a valid UUID v4 format
26
+ * - Matches DB constraint: char(36) or uuid
27
+ *
28
+ * Sanitization:
29
+ * - Trimmed
30
+ * - Lowercased for consistency
31
+ *
32
+ * @example "a21b654c-2746-4168-acee-c175083a65cd"
33
+ */
2
34
  userSub: string;
35
+ /**
36
+ * Whether to grant exemption (true) or revoke exemption (false)
37
+ */
3
38
  exempt: boolean;
39
+ /**
40
+ * Optional reason for the exemption status change
41
+ *
42
+ * Validation:
43
+ * - Max 500 characters
44
+ *
45
+ * Sanitization:
46
+ * - Trimmed
47
+ */
4
48
  reason?: string | null;
49
+ /**
50
+ * Optional identifier of the admin performing this action
51
+ *
52
+ * Validation:
53
+ * - Max 255 characters
54
+ *
55
+ * Sanitization:
56
+ * - Trimmed
57
+ */
5
58
  grantedBy?: string | null;
6
59
  }
60
+ /**
61
+ * Response DTO for setting MFA exemption
62
+ */
7
63
  export declare class SetMFAExemptionResponseDTO {
64
+ /**
65
+ * Whether user is exempt from MFA requirements
66
+ */
8
67
  mfaExempt: boolean;
68
+ /**
69
+ * Reason for MFA exemption (if exempt)
70
+ */
9
71
  mfaExemptReason: string | null;
72
+ /**
73
+ * Date when MFA exemption was granted (if exempt)
74
+ */
10
75
  mfaExemptGrantedAt: Date | null;
11
76
  }
12
77
  //# sourceMappingURL=set-mfa-exemption.dto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"set-mfa-exemption.dto.d.ts","sourceRoot":"","sources":["../../src/dto/set-mfa-exemption.dto.ts"],"names":[],"mappings":"AAuBA,qBAAa,kBAAkB;IAqB7B,OAAO,EAAG,MAAM,CAAC;IAMjB,MAAM,EAAG,OAAO,CAAC;IAoBjB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAoBvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAKD,qBAAa,0BAA0B;IAIrC,SAAS,EAAG,OAAO,CAAC;IAKpB,eAAe,EAAG,MAAM,GAAG,IAAI,CAAC;IAKhC,kBAAkB,EAAG,IAAI,GAAG,IAAI,CAAC;CAClC"}
1
+ {"version":3,"file":"set-mfa-exemption.dto.d.ts","sourceRoot":"","sources":["../../src/dto/set-mfa-exemption.dto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH;;GAEG;AACH,qBAAa,kBAAkB;IAC7B;;;;;;;;;;;;OAYG;IAQH,OAAO,EAAG,MAAM,CAAC;IAEjB;;OAEG;IAEH,MAAM,EAAG,OAAO,CAAC;IAEjB;;;;;;;;OAQG;IAUH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB;;;;;;;;OAQG;IAUH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,0BAA0B;IACrC;;OAEG;IACH,SAAS,EAAG,OAAO,CAAC;IAEpB;;OAEG;IACH,eAAe,EAAG,MAAM,GAAG,IAAI,CAAC;IAEhC;;OAEG;IACH,kBAAkB,EAAG,IAAI,GAAG,IAAI,CAAC;CAClC"}
@@ -1,4 +1,20 @@
1
1
  "use strict";
2
+ /**
3
+ * DTO for setting MFA exemption
4
+ *
5
+ * Used to grant or revoke a user's exemption from multi-factor authentication requirements.
6
+ * Admin-only operation.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * const result = await mfaService.setMFAExemption({
11
+ * userSub: 'user-uuid',
12
+ * exempt: true,
13
+ * reason: 'Business partner requires MFA bypass',
14
+ * grantedBy: 'admin@example.com'
15
+ * });
16
+ * ```
17
+ */
2
18
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
19
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
20
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -12,10 +28,47 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
28
  exports.SetMFAExemptionResponseDTO = exports.SetMFAExemptionDTO = void 0;
13
29
  const class_validator_1 = require("class-validator");
14
30
  const class_transformer_1 = require("class-transformer");
31
+ /**
32
+ * DTO for setting MFA exemption
33
+ */
15
34
  class SetMFAExemptionDTO {
35
+ /**
36
+ * User's unique identifier (UUID v4)
37
+ *
38
+ * Validation:
39
+ * - Must be a valid UUID v4 format
40
+ * - Matches DB constraint: char(36) or uuid
41
+ *
42
+ * Sanitization:
43
+ * - Trimmed
44
+ * - Lowercased for consistency
45
+ *
46
+ * @example "a21b654c-2746-4168-acee-c175083a65cd"
47
+ */
16
48
  userSub;
49
+ /**
50
+ * Whether to grant exemption (true) or revoke exemption (false)
51
+ */
17
52
  exempt;
53
+ /**
54
+ * Optional reason for the exemption status change
55
+ *
56
+ * Validation:
57
+ * - Max 500 characters
58
+ *
59
+ * Sanitization:
60
+ * - Trimmed
61
+ */
18
62
  reason;
63
+ /**
64
+ * Optional identifier of the admin performing this action
65
+ *
66
+ * Validation:
67
+ * - Max 255 characters
68
+ *
69
+ * Sanitization:
70
+ * - Trimmed
71
+ */
19
72
  grantedBy;
20
73
  }
21
74
  exports.SetMFAExemptionDTO = SetMFAExemptionDTO;
@@ -57,9 +110,21 @@ __decorate([
57
110
  }),
58
111
  __metadata("design:type", Object)
59
112
  ], SetMFAExemptionDTO.prototype, "grantedBy", void 0);
113
+ /**
114
+ * Response DTO for setting MFA exemption
115
+ */
60
116
  class SetMFAExemptionResponseDTO {
117
+ /**
118
+ * Whether user is exempt from MFA requirements
119
+ */
61
120
  mfaExempt;
121
+ /**
122
+ * Reason for MFA exemption (if exempt)
123
+ */
62
124
  mfaExemptReason;
125
+ /**
126
+ * Date when MFA exemption was granted (if exempt)
127
+ */
63
128
  mfaExemptGrantedAt;
64
129
  }
65
130
  exports.SetMFAExemptionResponseDTO = SetMFAExemptionResponseDTO;