@nauth-toolkit/core 0.1.14 → 0.1.18

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 +1780 -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 +62 -0
  412. package/dist/schemas/auth-config.schema.d.ts.map +1 -1
  413. package/dist/schemas/auth-config.schema.js +189 -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 +152 -12
  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
@@ -1,32 +1,198 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseAuthAudit = void 0;
4
+ /**
5
+ * Base Authentication Audit Entity
6
+ *
7
+ * Core audit record with all fields and business logic.
8
+ * Database adapters extend this class and add ORM-specific decorators.
9
+ *
10
+ * @remarks
11
+ * This class is database-agnostic. TypeORM, Prisma, or other ORMs
12
+ * extend this class in their respective packages.
13
+ *
14
+ * **Design Notes:**
15
+ * - Only stores `userId` (integer internal ID) - no `userSub` duplication
16
+ * - Risk tracking fields are infrastructure for future adaptive MFA (no business logic)
17
+ * - All audit integrations are non-blocking (errors logged, don't throw)
18
+ */
4
19
  class BaseAuthAudit {
20
+ /**
21
+ * Internal audit record ID (auto-increment integer)
22
+ */
5
23
  id;
24
+ /**
25
+ * Internal user ID (foreign key to users table)
26
+ * Uses integer for optimal performance in joins and lookups.
27
+ * API methods accepting userSub will resolve to userId before querying.
28
+ *
29
+ * @remarks
30
+ * No userSub field to avoid duplication. All queries use userId
31
+ * for efficient database operations.
32
+ */
6
33
  userId;
34
+ /**
35
+ * Type of authentication/security event
36
+ */
7
37
  eventType;
38
+ /**
39
+ * Event classification status
40
+ * - SUCCESS: Operation completed successfully
41
+ * - FAILURE: Operation failed (login failed, verification failed, etc.)
42
+ * - INFO: Informational event (profile update, device added, etc.)
43
+ * - SUSPICIOUS: Security violation or suspicious activity detected
44
+ */
8
45
  eventStatus;
46
+ // ============================================================================
47
+ // Risk Assessment Fields (Infrastructure for Future Adaptive MFA)
48
+ // ============================================================================
49
+ /**
50
+ * Risk factor score (0-100)
51
+ * Calculated during adaptive MFA evaluation (future implementation).
52
+ * null if not applicable (non-adaptive flows).
53
+ *
54
+ * @remarks
55
+ * This is infrastructure for future adaptive MFA. The audit service
56
+ * records risk data but does NOT calculate risk scores. Risk calculation
57
+ * and adaptive MFA business logic will be implemented in future phases.
58
+ */
9
59
  riskFactor;
60
+ /**
61
+ * Risk factors that contributed to the risk score
62
+ * Examples: ['new_device', 'new_ip', 'new_country', 'impossible_travel']
63
+ *
64
+ * @remarks
65
+ * Infrastructure field for future adaptive MFA implementation.
66
+ */
10
67
  riskFactors;
68
+ /**
69
+ * Whether adaptive MFA was triggered for this event
70
+ * true if MFA was conditionally required based on risk (future implementation).
71
+ * null if not applicable.
72
+ *
73
+ * @remarks
74
+ * Infrastructure field for future adaptive MFA implementation.
75
+ */
11
76
  adaptiveMfaTriggered;
77
+ // ============================================================================
78
+ // Client Information
79
+ // ============================================================================
80
+ /**
81
+ * IP address where event occurred
82
+ */
12
83
  ipAddress;
84
+ /**
85
+ * Country from IP geolocation (optional, for geographic risk assessment)
86
+ */
13
87
  ipCountry;
88
+ /**
89
+ * City from IP geolocation (optional, for geographic risk assessment)
90
+ */
14
91
  ipCity;
92
+ /**
93
+ * Latitude from IP geolocation (optional, for impossible travel detection)
94
+ */
15
95
  ipLatitude;
96
+ /**
97
+ * Longitude from IP geolocation (optional, for impossible travel detection)
98
+ */
16
99
  ipLongitude;
100
+ /**
101
+ * User agent string
102
+ */
17
103
  userAgent;
104
+ /**
105
+ * Platform extracted from user agent
106
+ * Examples: "iOS", "Android", "Windows", "macOS"
107
+ */
18
108
  platform;
109
+ /**
110
+ * Browser extracted from user agent
111
+ * Examples: "Chrome", "Safari", "Firefox"
112
+ */
19
113
  browser;
114
+ /**
115
+ * Device identifier (UUID)
116
+ * Unique identifier for the device/browser
117
+ */
20
118
  deviceId;
119
+ /**
120
+ * User-friendly device name
121
+ * Examples: "iPhone 15 Pro", "Chrome on MacBook"
122
+ */
21
123
  deviceName;
124
+ /**
125
+ * Device type
126
+ * Examples: "mobile", "desktop", "tablet"
127
+ */
22
128
  deviceType;
129
+ // ============================================================================
130
+ // Context Information
131
+ // ============================================================================
132
+ /**
133
+ * Session ID (if event is related to a session)
134
+ * Foreign key to sessions table
135
+ */
23
136
  sessionId;
137
+ /**
138
+ * Challenge session ID (if event is related to a challenge)
139
+ * Foreign key to challenge_sessions table
140
+ */
24
141
  challengeSessionId;
142
+ /**
143
+ * Authentication method used
144
+ * Examples: "password", "google", "apple", "facebook"
145
+ * Used for social login provider tracking
146
+ */
25
147
  authMethod;
148
+ /**
149
+ * Who performed this action (for admin/CLI/automated operations)
150
+ * - Admin user ID or email for manual admin actions
151
+ * - CLI identifier for command-line operations
152
+ * - 'system' for automated actions
153
+ * - null for user-initiated actions
154
+ *
155
+ * @example
156
+ * performedBy: 'admin@example.com'
157
+ * performedBy: 'cli-migration-2025'
158
+ * performedBy: 'system'
159
+ */
26
160
  performedBy;
161
+ // ============================================================================
162
+ // Event Details
163
+ // ============================================================================
164
+ /**
165
+ * Reason for the event (optional)
166
+ * Used for security events, account locks, etc.
167
+ */
27
168
  reason;
169
+ /**
170
+ * Detailed description of the event
171
+ */
28
172
  description;
173
+ /**
174
+ * Rich metadata (JSON)
175
+ * Event-specific data stored without requiring schema changes.
176
+ *
177
+ * @example
178
+ * ```typescript
179
+ * // Social login
180
+ * metadata: { provider: 'google', isNewUser: true }
181
+ *
182
+ * // Challenge event
183
+ * metadata: { challengeName: 'VERIFY_EMAIL', challengeSessionId: 123 }
184
+ *
185
+ * // MFA device
186
+ * metadata: { deviceType: 'totp', deviceName: 'iPhone Authenticator' }
187
+ *
188
+ * // Token reuse
189
+ * metadata: { tokenFamily: 'abc123', action: 'token_family_revoked' }
190
+ * ```
191
+ */
29
192
  metadata;
193
+ /**
194
+ * Timestamp when event occurred
195
+ */
30
196
  createdAt;
31
197
  }
32
198
  exports.BaseAuthAudit = BaseAuthAudit;
@@ -1 +1 @@
1
- {"version":3,"file":"auth-audit.entity.js","sourceRoot":"","sources":["../../src/entities/auth-audit.entity.ts"],"names":[],"mappings":";;;AAwBA,MAAa,aAAa;IAIxB,EAAE,CAAU;IAWZ,MAAM,CAAU;IAKhB,SAAS,CAAsB;IAS/B,WAAW,CAAwB;IAgBnC,UAAU,CAAiB;IAS3B,WAAW,CAAmB;IAU9B,oBAAoB,CAAkB;IAStC,SAAS,CAAiB;IAK1B,SAAS,CAAiB;IAK1B,MAAM,CAAiB;IAKvB,UAAU,CAAiB;IAK3B,WAAW,CAAiB;IAK5B,SAAS,CAAiB;IAM1B,QAAQ,CAAiB;IAMzB,OAAO,CAAiB;IAMxB,QAAQ,CAAiB;IAMzB,UAAU,CAAiB;IAM3B,UAAU,CAAiB;IAU3B,SAAS,CAAiB;IAM1B,kBAAkB,CAAiB;IAOnC,UAAU,CAAiB;IAc3B,WAAW,CAAiB;IAU5B,MAAM,CAAiB;IAKvB,WAAW,CAAiB;IAqB5B,QAAQ,CAAkC;IAK1C,SAAS,CAAQ;CAClB;AA/MD,sCA+MC"}
1
+ {"version":3,"file":"auth-audit.entity.js","sourceRoot":"","sources":["../../src/entities/auth-audit.entity.ts"],"names":[],"mappings":";;;AASA;;;;;;;;;;;;;;GAcG;AACH,MAAa,aAAa;IACxB;;OAEG;IACH,EAAE,CAAU;IAEZ;;;;;;;;OAQG;IACH,MAAM,CAAU;IAEhB;;OAEG;IACH,SAAS,CAAsB;IAE/B;;;;;;OAMG;IACH,WAAW,CAAwB;IAEnC,+EAA+E;IAC/E,kEAAkE;IAClE,+EAA+E;IAE/E;;;;;;;;;OASG;IACH,UAAU,CAAiB;IAE3B;;;;;;OAMG;IACH,WAAW,CAAmB;IAE9B;;;;;;;OAOG;IACH,oBAAoB,CAAkB;IAEtC,+EAA+E;IAC/E,qBAAqB;IACrB,+EAA+E;IAE/E;;OAEG;IACH,SAAS,CAAiB;IAE1B;;OAEG;IACH,SAAS,CAAiB;IAE1B;;OAEG;IACH,MAAM,CAAiB;IAEvB;;OAEG;IACH,UAAU,CAAiB;IAE3B;;OAEG;IACH,WAAW,CAAiB;IAE5B;;OAEG;IACH,SAAS,CAAiB;IAE1B;;;OAGG;IACH,QAAQ,CAAiB;IAEzB;;;OAGG;IACH,OAAO,CAAiB;IAExB;;;OAGG;IACH,QAAQ,CAAiB;IAEzB;;;OAGG;IACH,UAAU,CAAiB;IAE3B;;;OAGG;IACH,UAAU,CAAiB;IAE3B,+EAA+E;IAC/E,sBAAsB;IACtB,+EAA+E;IAE/E;;;OAGG;IACH,SAAS,CAAiB;IAE1B;;;OAGG;IACH,kBAAkB,CAAiB;IAEnC;;;;OAIG;IACH,UAAU,CAAiB;IAE3B;;;;;;;;;;;OAWG;IACH,WAAW,CAAiB;IAE5B,+EAA+E;IAC/E,gBAAgB;IAChB,+EAA+E;IAE/E;;;OAGG;IACH,MAAM,CAAiB;IAEvB;;OAEG;IACH,WAAW,CAAiB;IAE5B;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAkC;IAE1C;;OAEG;IACH,SAAS,CAAQ;CAClB;AA/MD,sCA+MC"}
@@ -1,17 +1,104 @@
1
+ /**
2
+ * Base Challenge Session Entity
3
+ *
4
+ * Stores temporary authentication challenge sessions.
5
+ * These are short-lived sessions used to track pending challenges
6
+ * that must be completed before full authentication is granted.
7
+ * Database adapters extend this class and add ORM-specific decorators.
8
+ *
9
+ * @remarks
10
+ * Similar to AWS Cognito's challenge sessions, these are NOT full JWT tokens.
11
+ * They expire quickly (typically 15 minutes) and are deleted after completion.
12
+ * This class is database-agnostic. TypeORM, Prisma, or other ORMs
13
+ * extend this class in their respective packages.
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * // Creating a challenge session after signup
18
+ * const challengeSession = new ChallengeSession();
19
+ * challengeSession.userId = user.id;
20
+ * challengeSession.challengeName = 'VERIFY_EMAIL';
21
+ * challengeSession.sessionToken = randomUUID();
22
+ * challengeSession.expiresAt = new Date(Date.now() + 15 * 60 * 1000);
23
+ * challengeSession.metadata = { email: user.email };
24
+ * ```
25
+ */
1
26
  export declare class BaseChallengeSession {
27
+ /**
28
+ * Primary key
29
+ */
2
30
  id: number;
31
+ /**
32
+ * User ID foreign key
33
+ * References the user this challenge session belongs to
34
+ */
3
35
  userId: number;
36
+ /**
37
+ * Challenge type that must be completed
38
+ *
39
+ * @example 'VERIFY_EMAIL', 'VERIFY_PHONE', 'MFA_REQUIRED', 'FORCE_CHANGE_PASSWORD'
40
+ */
4
41
  challengeName: string;
42
+ /**
43
+ * Temporary session token (UUID)
44
+ * This is returned to the client and must be submitted when responding to challenge
45
+ */
5
46
  sessionToken: string;
47
+ /**
48
+ * Session expiration time
49
+ * Challenge sessions are short-lived (typically 15 minutes)
50
+ */
6
51
  expiresAt: Date;
52
+ /**
53
+ * Whether this challenge has been completed successfully
54
+ * Completed challenges cannot be attempted again
55
+ */
7
56
  isCompleted?: boolean;
57
+ /**
58
+ * When the challenge was completed successfully
59
+ * NULL if not yet completed
60
+ */
8
61
  completedAt?: Date | null;
62
+ /**
63
+ * Number of failed attempts to complete this challenge
64
+ * Used to prevent brute-force attacks on verification codes
65
+ */
9
66
  attempts: number;
67
+ /**
68
+ * Maximum allowed attempts before session is invalidated
69
+ */
10
70
  maxAttempts: number;
71
+ /**
72
+ * Challenge-specific metadata
73
+ * Stores information needed for challenge completion
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * {
78
+ * email: 'user@example.com',
79
+ * phone: '+1234567890',
80
+ * verificationTokenId: 123
81
+ * }
82
+ * ```
83
+ */
11
84
  challengeParameters: Record<string, unknown> | null;
85
+ /**
86
+ * Additional metadata (alias for challengeParameters for backwards compatibility)
87
+ */
12
88
  metadata?: Record<string, unknown> | null;
89
+ /**
90
+ * IP address where the challenge session was created
91
+ * For security auditing
92
+ */
13
93
  ipAddress: string | null;
94
+ /**
95
+ * User agent where the challenge session was created
96
+ * For security auditing
97
+ */
14
98
  userAgent: string | null;
99
+ /**
100
+ * Creation timestamp
101
+ */
15
102
  createdAt: Date;
16
103
  }
17
104
  //# sourceMappingURL=challenge-session.entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"challenge-session.entity.d.ts","sourceRoot":"","sources":["../../src/entities/challenge-session.entity.ts"],"names":[],"mappings":"AAyBA,qBAAa,oBAAoB;IAI/B,EAAE,EAAG,MAAM,CAAC;IAMZ,MAAM,EAAG,MAAM,CAAC;IAOhB,aAAa,EAAG,MAAM,CAAC;IAMvB,YAAY,EAAG,MAAM,CAAC;IAMtB,SAAS,EAAG,IAAI,CAAC;IAMjB,WAAW,CAAC,EAAE,OAAO,CAAC;IAMtB,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAM1B,QAAQ,EAAG,MAAM,CAAC;IAKlB,WAAW,EAAG,MAAM,CAAC;IAerB,mBAAmB,EAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAKrD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAM1C,SAAS,EAAG,MAAM,GAAG,IAAI,CAAC;IAM1B,SAAS,EAAG,MAAM,GAAG,IAAI,CAAC;IAK1B,SAAS,EAAG,IAAI,CAAC;CAClB"}
1
+ {"version":3,"file":"challenge-session.entity.d.ts","sourceRoot":"","sources":["../../src/entities/challenge-session.entity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,oBAAoB;IAC/B;;OAEG;IACH,EAAE,EAAG,MAAM,CAAC;IAEZ;;;OAGG;IACH,MAAM,EAAG,MAAM,CAAC;IAEhB;;;;OAIG;IACH,aAAa,EAAG,MAAM,CAAC;IAEvB;;;OAGG;IACH,YAAY,EAAG,MAAM,CAAC;IAEtB;;;OAGG;IACH,SAAS,EAAG,IAAI,CAAC;IAEjB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAE1B;;;OAGG;IACH,QAAQ,EAAG,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,EAAG,MAAM,CAAC;IAErB;;;;;;;;;;;;OAYG;IACH,mBAAmB,EAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAErD;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAE1C;;;OAGG;IACH,SAAS,EAAG,MAAM,GAAG,IAAI,CAAC;IAE1B;;;OAGG;IACH,SAAS,EAAG,MAAM,GAAG,IAAI,CAAC;IAE1B;;OAEG;IACH,SAAS,EAAG,IAAI,CAAC;CAClB"}
@@ -1,20 +1,107 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseChallengeSession = void 0;
4
+ /**
5
+ * Base Challenge Session Entity
6
+ *
7
+ * Stores temporary authentication challenge sessions.
8
+ * These are short-lived sessions used to track pending challenges
9
+ * that must be completed before full authentication is granted.
10
+ * Database adapters extend this class and add ORM-specific decorators.
11
+ *
12
+ * @remarks
13
+ * Similar to AWS Cognito's challenge sessions, these are NOT full JWT tokens.
14
+ * They expire quickly (typically 15 minutes) and are deleted after completion.
15
+ * This class is database-agnostic. TypeORM, Prisma, or other ORMs
16
+ * extend this class in their respective packages.
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * // Creating a challenge session after signup
21
+ * const challengeSession = new ChallengeSession();
22
+ * challengeSession.userId = user.id;
23
+ * challengeSession.challengeName = 'VERIFY_EMAIL';
24
+ * challengeSession.sessionToken = randomUUID();
25
+ * challengeSession.expiresAt = new Date(Date.now() + 15 * 60 * 1000);
26
+ * challengeSession.metadata = { email: user.email };
27
+ * ```
28
+ */
4
29
  class BaseChallengeSession {
30
+ /**
31
+ * Primary key
32
+ */
5
33
  id;
34
+ /**
35
+ * User ID foreign key
36
+ * References the user this challenge session belongs to
37
+ */
6
38
  userId;
39
+ /**
40
+ * Challenge type that must be completed
41
+ *
42
+ * @example 'VERIFY_EMAIL', 'VERIFY_PHONE', 'MFA_REQUIRED', 'FORCE_CHANGE_PASSWORD'
43
+ */
7
44
  challengeName;
45
+ /**
46
+ * Temporary session token (UUID)
47
+ * This is returned to the client and must be submitted when responding to challenge
48
+ */
8
49
  sessionToken;
50
+ /**
51
+ * Session expiration time
52
+ * Challenge sessions are short-lived (typically 15 minutes)
53
+ */
9
54
  expiresAt;
55
+ /**
56
+ * Whether this challenge has been completed successfully
57
+ * Completed challenges cannot be attempted again
58
+ */
10
59
  isCompleted;
60
+ /**
61
+ * When the challenge was completed successfully
62
+ * NULL if not yet completed
63
+ */
11
64
  completedAt;
65
+ /**
66
+ * Number of failed attempts to complete this challenge
67
+ * Used to prevent brute-force attacks on verification codes
68
+ */
12
69
  attempts;
70
+ /**
71
+ * Maximum allowed attempts before session is invalidated
72
+ */
13
73
  maxAttempts;
74
+ /**
75
+ * Challenge-specific metadata
76
+ * Stores information needed for challenge completion
77
+ *
78
+ * @example
79
+ * ```typescript
80
+ * {
81
+ * email: 'user@example.com',
82
+ * phone: '+1234567890',
83
+ * verificationTokenId: 123
84
+ * }
85
+ * ```
86
+ */
14
87
  challengeParameters;
88
+ /**
89
+ * Additional metadata (alias for challengeParameters for backwards compatibility)
90
+ */
15
91
  metadata;
92
+ /**
93
+ * IP address where the challenge session was created
94
+ * For security auditing
95
+ */
16
96
  ipAddress;
97
+ /**
98
+ * User agent where the challenge session was created
99
+ * For security auditing
100
+ */
17
101
  userAgent;
102
+ /**
103
+ * Creation timestamp
104
+ */
18
105
  createdAt;
19
106
  }
20
107
  exports.BaseChallengeSession = BaseChallengeSession;
@@ -1 +1 @@
1
- {"version":3,"file":"challenge-session.entity.js","sourceRoot":"","sources":["../../src/entities/challenge-session.entity.ts"],"names":[],"mappings":";;;AAyBA,MAAa,oBAAoB;IAI/B,EAAE,CAAU;IAMZ,MAAM,CAAU;IAOhB,aAAa,CAAU;IAMvB,YAAY,CAAU;IAMtB,SAAS,CAAQ;IAMjB,WAAW,CAAW;IAMtB,WAAW,CAAe;IAM1B,QAAQ,CAAU;IAKlB,WAAW,CAAU;IAerB,mBAAmB,CAAkC;IAKrD,QAAQ,CAAkC;IAM1C,SAAS,CAAiB;IAM1B,SAAS,CAAiB;IAK1B,SAAS,CAAQ;CAClB;AA1FD,oDA0FC"}
1
+ {"version":3,"file":"challenge-session.entity.js","sourceRoot":"","sources":["../../src/entities/challenge-session.entity.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAa,oBAAoB;IAC/B;;OAEG;IACH,EAAE,CAAU;IAEZ;;;OAGG;IACH,MAAM,CAAU;IAEhB;;;;OAIG;IACH,aAAa,CAAU;IAEvB;;;OAGG;IACH,YAAY,CAAU;IAEtB;;;OAGG;IACH,SAAS,CAAQ;IAEjB;;;OAGG;IACH,WAAW,CAAW;IAEtB;;;OAGG;IACH,WAAW,CAAe;IAE1B;;;OAGG;IACH,QAAQ,CAAU;IAElB;;OAEG;IACH,WAAW,CAAU;IAErB;;;;;;;;;;;;OAYG;IACH,mBAAmB,CAAkC;IAErD;;OAEG;IACH,QAAQ,CAAkC;IAE1C;;;OAGG;IACH,SAAS,CAAiB;IAE1B;;;OAGG;IACH,SAAS,CAAiB;IAE1B;;OAEG;IACH,SAAS,CAAQ;CAClB;AA1FD,oDA0FC"}
@@ -1,3 +1,21 @@
1
+ /**
2
+ * Base Entity Classes
3
+ *
4
+ * Database-agnostic entity classes containing all fields and business logic.
5
+ * Database adapters (TypeORM, Prisma, etc.) extend these classes and add ORM-specific decorators.
6
+ *
7
+ * @remarks
8
+ * These base classes provide:
9
+ * - Field definitions
10
+ * - Business logic methods
11
+ * - JSDoc documentation
12
+ * - Type safety
13
+ *
14
+ * Database packages add:
15
+ * - ORM decorators (@Entity, @Column, etc.)
16
+ * - Database-specific configuration
17
+ * - Indexes and constraints
18
+ */
1
19
  export { BaseUser } from './user.entity';
2
20
  export { BaseSession } from './session.entity';
3
21
  export { BaseTrustedDevice } from './trusted-device.entity';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,6 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseStorageLock = exports.BaseRateLimit = exports.BaseAuthAudit = exports.BaseMFADevice = exports.BaseChallengeSession = exports.BaseSocialAccount = exports.BaseVerificationToken = exports.BaseLoginAttempt = exports.BaseTrustedDevice = exports.BaseSession = exports.BaseUser = void 0;
4
+ /**
5
+ * Base Entity Classes
6
+ *
7
+ * Database-agnostic entity classes containing all fields and business logic.
8
+ * Database adapters (TypeORM, Prisma, etc.) extend these classes and add ORM-specific decorators.
9
+ *
10
+ * @remarks
11
+ * These base classes provide:
12
+ * - Field definitions
13
+ * - Business logic methods
14
+ * - JSDoc documentation
15
+ * - Type safety
16
+ *
17
+ * Database packages add:
18
+ * - ORM decorators (@Entity, @Column, etc.)
19
+ * - Database-specific configuration
20
+ * - Indexes and constraints
21
+ */
4
22
  var user_entity_1 = require("./user.entity");
5
23
  Object.defineProperty(exports, "BaseUser", { enumerable: true, get: function () { return user_entity_1.BaseUser; } });
6
24
  var session_entity_1 = require("./session.entity");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":";;;AAkBA,6CAAyC;AAAhC,uGAAA,QAAQ,OAAA;AACjB,mDAA+C;AAAtC,6GAAA,WAAW,OAAA;AACpB,iEAA4D;AAAnD,0HAAA,iBAAiB,OAAA;AAC1B,+DAA0D;AAAjD,wHAAA,gBAAgB,OAAA;AACzB,yEAAoE;AAA3D,kIAAA,qBAAqB,OAAA;AAC9B,iEAA4D;AAAnD,0HAAA,iBAAiB,OAAA;AAC1B,uEAAkE;AAAzD,gIAAA,oBAAoB,OAAA;AAC7B,yDAAoD;AAA3C,kHAAA,aAAa,OAAA;AACtB,yDAA+E;AAAtE,kHAAA,aAAa,OAAA;AACtB,yDAAoD;AAA3C,kHAAA,aAAa,OAAA;AACtB,6DAAwD;AAA/C,sHAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,6CAAyC;AAAhC,uGAAA,QAAQ,OAAA;AACjB,mDAA+C;AAAtC,6GAAA,WAAW,OAAA;AACpB,iEAA4D;AAAnD,0HAAA,iBAAiB,OAAA;AAC1B,+DAA0D;AAAjD,wHAAA,gBAAgB,OAAA;AACzB,yEAAoE;AAA3D,kIAAA,qBAAqB,OAAA;AAC9B,iEAA4D;AAAnD,0HAAA,iBAAiB,OAAA;AAC1B,uEAAkE;AAAzD,gIAAA,oBAAoB,OAAA;AAC7B,yDAAoD;AAA3C,kHAAA,aAAa,OAAA;AACtB,yDAA+E;AAAtE,kHAAA,aAAa,OAAA;AACtB,yDAAoD;AAA3C,kHAAA,aAAa,OAAA;AACtB,6DAAwD;AAA/C,sHAAA,eAAe,OAAA"}
@@ -1,13 +1,56 @@
1
+ /**
2
+ * Base Login Attempt Entity
3
+ *
4
+ * Failed login tracking for security auditing and rate limiting.
5
+ * Database adapters extend this class and add ORM-specific decorators.
6
+ *
7
+ * @remarks
8
+ * This class is database-agnostic. TypeORM, Prisma, or other ORMs
9
+ * extend this class in their respective packages.
10
+ */
1
11
  export declare class BaseLoginAttempt {
12
+ /**
13
+ * Internal login attempt ID
14
+ */
2
15
  id: number;
16
+ /**
17
+ * Email/username used in login attempt
18
+ * May be NULL for malformed requests
19
+ */
3
20
  email?: string | null;
21
+ /**
22
+ * Internal user ID (foreign key to users table)
23
+ * Nullable since login attempt might be for non-existent user
24
+ */
4
25
  userId?: number | null;
26
+ /**
27
+ * IP address of login attempt
28
+ */
5
29
  ipAddress?: string | null;
30
+ /**
31
+ * User agent string
32
+ */
6
33
  userAgent?: string | null;
34
+ /**
35
+ * Whether login was successful
36
+ */
7
37
  success: boolean;
38
+ /**
39
+ * Reason for login failure
40
+ * Examples: "invalid_credentials", "account_locked", "mfa_required"
41
+ */
8
42
  failureReason?: string | null;
43
+ /**
44
+ * Whether MFA was required for this attempt
45
+ */
9
46
  mfaRequired: boolean;
47
+ /**
48
+ * Additional metadata (JSON)
49
+ */
10
50
  metadata?: Record<string, unknown> | null;
51
+ /**
52
+ * Login attempt timestamp
53
+ */
11
54
  createdAt: Date;
12
55
  }
13
56
  //# sourceMappingURL=login-attempt.entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"login-attempt.entity.d.ts","sourceRoot":"","sources":["../../src/entities/login-attempt.entity.ts"],"names":[],"mappings":"AAUA,qBAAa,gBAAgB;IAI3B,EAAE,EAAG,MAAM,CAAC;IAMZ,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAMtB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAKvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK1B,OAAO,EAAG,OAAO,CAAC;IAMlB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK9B,WAAW,EAAG,OAAO,CAAC;IAKtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAK1C,SAAS,EAAG,IAAI,CAAC;CAClB"}
1
+ {"version":3,"file":"login-attempt.entity.d.ts","sourceRoot":"","sources":["../../src/entities/login-attempt.entity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,EAAE,EAAG,MAAM,CAAC;IAEZ;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B;;OAEG;IACH,OAAO,EAAG,OAAO,CAAC;IAElB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B;;OAEG;IACH,WAAW,EAAG,OAAO,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAE1C;;OAEG;IACH,SAAS,EAAG,IAAI,CAAC;CAClB"}
@@ -1,16 +1,59 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseLoginAttempt = void 0;
4
+ /**
5
+ * Base Login Attempt Entity
6
+ *
7
+ * Failed login tracking for security auditing and rate limiting.
8
+ * Database adapters extend this class and add ORM-specific decorators.
9
+ *
10
+ * @remarks
11
+ * This class is database-agnostic. TypeORM, Prisma, or other ORMs
12
+ * extend this class in their respective packages.
13
+ */
4
14
  class BaseLoginAttempt {
15
+ /**
16
+ * Internal login attempt ID
17
+ */
5
18
  id;
19
+ /**
20
+ * Email/username used in login attempt
21
+ * May be NULL for malformed requests
22
+ */
6
23
  email;
24
+ /**
25
+ * Internal user ID (foreign key to users table)
26
+ * Nullable since login attempt might be for non-existent user
27
+ */
7
28
  userId;
29
+ /**
30
+ * IP address of login attempt
31
+ */
8
32
  ipAddress;
33
+ /**
34
+ * User agent string
35
+ */
9
36
  userAgent;
37
+ /**
38
+ * Whether login was successful
39
+ */
10
40
  success;
41
+ /**
42
+ * Reason for login failure
43
+ * Examples: "invalid_credentials", "account_locked", "mfa_required"
44
+ */
11
45
  failureReason;
46
+ /**
47
+ * Whether MFA was required for this attempt
48
+ */
12
49
  mfaRequired;
50
+ /**
51
+ * Additional metadata (JSON)
52
+ */
13
53
  metadata;
54
+ /**
55
+ * Login attempt timestamp
56
+ */
14
57
  createdAt;
15
58
  }
16
59
  exports.BaseLoginAttempt = BaseLoginAttempt;
@@ -1 +1 @@
1
- {"version":3,"file":"login-attempt.entity.js","sourceRoot":"","sources":["../../src/entities/login-attempt.entity.ts"],"names":[],"mappings":";;;AAUA,MAAa,gBAAgB;IAI3B,EAAE,CAAU;IAMZ,KAAK,CAAiB;IAMtB,MAAM,CAAiB;IAKvB,SAAS,CAAiB;IAK1B,SAAS,CAAiB;IAK1B,OAAO,CAAW;IAMlB,aAAa,CAAiB;IAK9B,WAAW,CAAW;IAKtB,QAAQ,CAAkC;IAK1C,SAAS,CAAQ;CAClB;AArDD,4CAqDC"}
1
+ {"version":3,"file":"login-attempt.entity.js","sourceRoot":"","sources":["../../src/entities/login-attempt.entity.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACH,MAAa,gBAAgB;IAC3B;;OAEG;IACH,EAAE,CAAU;IAEZ;;;OAGG;IACH,KAAK,CAAiB;IAEtB;;;OAGG;IACH,MAAM,CAAiB;IAEvB;;OAEG;IACH,SAAS,CAAiB;IAE1B;;OAEG;IACH,SAAS,CAAiB;IAE1B;;OAEG;IACH,OAAO,CAAW;IAElB;;;OAGG;IACH,aAAa,CAAiB;IAE9B;;OAEG;IACH,WAAW,CAAW;IAEtB;;OAEG;IACH,QAAQ,CAAkC;IAE1C;;OAEG;IACH,SAAS,CAAQ;CAClB;AArDD,4CAqDC"}