@digitaldefiance/suite-core-lib 3.6.48 → 3.6.50

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 (553) hide show
  1. package/package.json +4 -3
  2. package/src/backup-code-string.d.ts +29 -0
  3. package/src/backup-code-string.d.ts.map +1 -0
  4. package/src/backup-code-string.js +85 -0
  5. package/src/backup-code-string.js.map +1 -0
  6. package/src/builders/{index.ts → index.d.ts} +1 -1
  7. package/src/builders/index.d.ts.map +1 -0
  8. package/src/builders/index.js +9 -0
  9. package/src/builders/index.js.map +1 -0
  10. package/src/builders/role-builder.d.ts +20 -0
  11. package/src/builders/role-builder.d.ts.map +1 -0
  12. package/src/builders/role-builder.js +57 -0
  13. package/src/builders/role-builder.js.map +1 -0
  14. package/src/builders/user-builder.d.ts +24 -0
  15. package/src/builders/user-builder.d.ts.map +1 -0
  16. package/src/builders/user-builder.js +63 -0
  17. package/src/builders/user-builder.js.map +1 -0
  18. package/src/constants.d.ts +7 -0
  19. package/src/constants.d.ts.map +1 -0
  20. package/src/constants.js +214 -0
  21. package/src/constants.js.map +1 -0
  22. package/src/core/{errors.ts → errors.d.ts} +1 -4
  23. package/src/core/errors.d.ts.map +1 -0
  24. package/src/core/errors.js +29 -0
  25. package/src/core/errors.js.map +1 -0
  26. package/src/core/{index.ts → index.d.ts} +1 -1
  27. package/src/core/index.d.ts.map +1 -0
  28. package/src/core/index.js +10 -0
  29. package/src/core/index.js.map +1 -0
  30. package/src/core/result.d.ts +34 -0
  31. package/src/core/result.d.ts.map +1 -0
  32. package/src/core/result.js +35 -0
  33. package/src/core/result.js.map +1 -0
  34. package/src/core/{types.ts → types.d.ts} +1 -6
  35. package/src/core/types.d.ts.map +1 -0
  36. package/src/core/types.js +6 -0
  37. package/src/core/types.js.map +1 -0
  38. package/src/defaults.d.ts +7 -0
  39. package/src/defaults.d.ts.map +1 -0
  40. package/src/defaults.js +70 -0
  41. package/src/defaults.js.map +1 -0
  42. package/src/enumerations/account-status.d.ts +18 -0
  43. package/src/enumerations/account-status.d.ts.map +1 -0
  44. package/src/enumerations/account-status.js +22 -0
  45. package/src/enumerations/account-status.js.map +1 -0
  46. package/src/enumerations/email-token-type.d.ts +28 -0
  47. package/src/enumerations/email-token-type.d.ts.map +1 -0
  48. package/src/enumerations/email-token-type.js +32 -0
  49. package/src/enumerations/email-token-type.js.map +1 -0
  50. package/src/enumerations/fec-error-type.d.ts +17 -0
  51. package/src/enumerations/fec-error-type.d.ts.map +1 -0
  52. package/src/enumerations/fec-error-type.js +21 -0
  53. package/src/enumerations/fec-error-type.js.map +1 -0
  54. package/src/enumerations/{index.ts → index.d.ts} +1 -0
  55. package/src/enumerations/index.d.ts.map +1 -0
  56. package/src/enumerations/index.js +13 -0
  57. package/src/enumerations/index.js.map +1 -0
  58. package/src/enumerations/pbkdf2-error-type.d.ts +8 -0
  59. package/src/enumerations/pbkdf2-error-type.d.ts.map +1 -0
  60. package/src/enumerations/pbkdf2-error-type.js +12 -0
  61. package/src/enumerations/pbkdf2-error-type.js.map +1 -0
  62. package/src/enumerations/role.d.ts +9 -0
  63. package/src/enumerations/role.d.ts.map +1 -0
  64. package/src/enumerations/role.js +13 -0
  65. package/src/enumerations/role.js.map +1 -0
  66. package/src/enumerations/suite-core-string-key.d.ts +488 -0
  67. package/src/enumerations/suite-core-string-key.d.ts.map +1 -0
  68. package/src/enumerations/suite-core-string-key.js +499 -0
  69. package/src/enumerations/suite-core-string-key.js.map +1 -0
  70. package/src/errors/account-locked.d.ts +5 -0
  71. package/src/errors/account-locked.d.ts.map +1 -0
  72. package/src/errors/account-locked.js +16 -0
  73. package/src/errors/account-locked.js.map +1 -0
  74. package/src/errors/account-status.d.ts +10 -0
  75. package/src/errors/account-status.d.ts.map +1 -0
  76. package/src/errors/account-status.js +36 -0
  77. package/src/errors/account-status.js.map +1 -0
  78. package/src/errors/admin-role-not-found.d.ts +9 -0
  79. package/src/errors/admin-role-not-found.d.ts.map +1 -0
  80. package/src/errors/admin-role-not-found.js +15 -0
  81. package/src/errors/admin-role-not-found.js.map +1 -0
  82. package/src/errors/core-typed-handleable.d.ts +15 -0
  83. package/src/errors/core-typed-handleable.d.ts.map +1 -0
  84. package/src/errors/core-typed-handleable.js +54 -0
  85. package/src/errors/core-typed-handleable.js.map +1 -0
  86. package/src/errors/direct-challenge-not-enabled.d.ts +8 -0
  87. package/src/errors/direct-challenge-not-enabled.d.ts.map +1 -0
  88. package/src/errors/direct-challenge-not-enabled.js +19 -0
  89. package/src/errors/direct-challenge-not-enabled.js.map +1 -0
  90. package/src/errors/direct-token-used.d.ts +5 -0
  91. package/src/errors/direct-token-used.d.ts.map +1 -0
  92. package/src/errors/direct-token-used.js +16 -0
  93. package/src/errors/direct-token-used.js.map +1 -0
  94. package/src/errors/email-in-use.d.ts +5 -0
  95. package/src/errors/email-in-use.d.ts.map +1 -0
  96. package/src/errors/email-in-use.js +18 -0
  97. package/src/errors/email-in-use.js.map +1 -0
  98. package/src/errors/email-token-expired.d.ts +5 -0
  99. package/src/errors/email-token-expired.d.ts.map +1 -0
  100. package/src/errors/email-token-expired.js +18 -0
  101. package/src/errors/email-token-expired.js.map +1 -0
  102. package/src/errors/email-token-failed-to-send.d.ts +9 -0
  103. package/src/errors/email-token-failed-to-send.d.ts.map +1 -0
  104. package/src/errors/email-token-failed-to-send.js +25 -0
  105. package/src/errors/email-token-failed-to-send.js.map +1 -0
  106. package/src/errors/email-token-sent-too-recently.d.ts +7 -0
  107. package/src/errors/email-token-sent-too-recently.d.ts.map +1 -0
  108. package/src/errors/email-token-sent-too-recently.js +24 -0
  109. package/src/errors/email-token-sent-too-recently.js.map +1 -0
  110. package/src/errors/email-token-used-or-invalid.d.ts +5 -0
  111. package/src/errors/email-token-used-or-invalid.d.ts.map +1 -0
  112. package/src/errors/email-token-used-or-invalid.js +18 -0
  113. package/src/errors/email-token-used-or-invalid.js.map +1 -0
  114. package/src/errors/email-verified.d.ts +5 -0
  115. package/src/errors/email-verified.d.ts.map +1 -0
  116. package/src/errors/email-verified.js +18 -0
  117. package/src/errors/email-verified.js.map +1 -0
  118. package/src/errors/failed-to-use-direct-token.d.ts +5 -0
  119. package/src/errors/failed-to-use-direct-token.d.ts.map +1 -0
  120. package/src/errors/failed-to-use-direct-token.js +16 -0
  121. package/src/errors/failed-to-use-direct-token.js.map +1 -0
  122. package/src/errors/fec-error.d.ts +9 -0
  123. package/src/errors/fec-error.d.ts.map +1 -0
  124. package/src/errors/fec-error.js +29 -0
  125. package/src/errors/fec-error.js.map +1 -0
  126. package/src/errors/generic-validation.d.ts +8 -0
  127. package/src/errors/generic-validation.d.ts.map +1 -0
  128. package/src/errors/generic-validation.js +15 -0
  129. package/src/errors/generic-validation.js.map +1 -0
  130. package/src/errors/{index.ts → index.d.ts} +1 -0
  131. package/src/errors/index.d.ts.map +1 -0
  132. package/src/errors/index.js +46 -0
  133. package/src/errors/index.js.map +1 -0
  134. package/src/errors/invalid-backup-code.d.ts +7 -0
  135. package/src/errors/invalid-backup-code.d.ts.map +1 -0
  136. package/src/errors/invalid-backup-code.js +14 -0
  137. package/src/errors/invalid-backup-code.js.map +1 -0
  138. package/src/errors/invalid-challenge-response.d.ts +8 -0
  139. package/src/errors/invalid-challenge-response.d.ts.map +1 -0
  140. package/src/errors/invalid-challenge-response.js +19 -0
  141. package/src/errors/invalid-challenge-response.js.map +1 -0
  142. package/src/errors/invalid-challenge.d.ts +5 -0
  143. package/src/errors/invalid-challenge.d.ts.map +1 -0
  144. package/src/errors/invalid-challenge.js +16 -0
  145. package/src/errors/invalid-challenge.js.map +1 -0
  146. package/src/errors/invalid-credentials.d.ts +5 -0
  147. package/src/errors/invalid-credentials.d.ts.map +1 -0
  148. package/src/errors/invalid-credentials.js +18 -0
  149. package/src/errors/invalid-credentials.js.map +1 -0
  150. package/src/errors/invalid-email.d.ts +11 -0
  151. package/src/errors/invalid-email.d.ts.map +1 -0
  152. package/src/errors/invalid-email.js +28 -0
  153. package/src/errors/invalid-email.js.map +1 -0
  154. package/src/errors/invalid-expired-token.d.ts +9 -0
  155. package/src/errors/invalid-expired-token.d.ts.map +1 -0
  156. package/src/errors/invalid-expired-token.js +13 -0
  157. package/src/errors/invalid-expired-token.js.map +1 -0
  158. package/src/errors/invalid-token.d.ts +8 -0
  159. package/src/errors/invalid-token.d.ts.map +1 -0
  160. package/src/errors/invalid-token.js +19 -0
  161. package/src/errors/invalid-token.js.map +1 -0
  162. package/src/errors/invalid-userid.d.ts +9 -0
  163. package/src/errors/invalid-userid.d.ts.map +1 -0
  164. package/src/errors/invalid-userid.js +23 -0
  165. package/src/errors/invalid-userid.js.map +1 -0
  166. package/src/errors/invalid-username.d.ts +5 -0
  167. package/src/errors/invalid-username.d.ts.map +1 -0
  168. package/src/errors/invalid-username.js +16 -0
  169. package/src/errors/invalid-username.js.map +1 -0
  170. package/src/errors/last-admin-error.d.ts +9 -0
  171. package/src/errors/last-admin-error.d.ts.map +1 -0
  172. package/src/errors/last-admin-error.js +15 -0
  173. package/src/errors/last-admin-error.js.map +1 -0
  174. package/src/errors/login-challenge-expired.d.ts +8 -0
  175. package/src/errors/login-challenge-expired.d.ts.map +1 -0
  176. package/src/errors/login-challenge-expired.js +19 -0
  177. package/src/errors/login-challenge-expired.js.map +1 -0
  178. package/src/errors/member-role-not-found.d.ts +9 -0
  179. package/src/errors/member-role-not-found.d.ts.map +1 -0
  180. package/src/errors/member-role-not-found.js +15 -0
  181. package/src/errors/member-role-not-found.js.map +1 -0
  182. package/src/errors/password-login-not-enabled.d.ts +8 -0
  183. package/src/errors/password-login-not-enabled.d.ts.map +1 -0
  184. package/src/errors/password-login-not-enabled.js +19 -0
  185. package/src/errors/password-login-not-enabled.js.map +1 -0
  186. package/src/errors/password-login-not-setup.d.ts +8 -0
  187. package/src/errors/password-login-not-setup.d.ts.map +1 -0
  188. package/src/errors/password-login-not-setup.js +19 -0
  189. package/src/errors/password-login-not-setup.js.map +1 -0
  190. package/src/errors/pbkdf2-error.d.ts +10 -0
  191. package/src/errors/pbkdf2-error.d.ts.map +1 -0
  192. package/src/errors/pbkdf2-error.js +22 -0
  193. package/src/errors/pbkdf2-error.js.map +1 -0
  194. package/src/errors/pending-email-verification.d.ts +5 -0
  195. package/src/errors/pending-email-verification.d.ts.map +1 -0
  196. package/src/errors/pending-email-verification.js +16 -0
  197. package/src/errors/pending-email-verification.js.map +1 -0
  198. package/src/errors/private-key-required.d.ts +5 -0
  199. package/src/errors/private-key-required.d.ts.map +1 -0
  200. package/src/errors/private-key-required.js +16 -0
  201. package/src/errors/private-key-required.js.map +1 -0
  202. package/src/errors/system-role-not-found.d.ts +9 -0
  203. package/src/errors/system-role-not-found.d.ts.map +1 -0
  204. package/src/errors/system-role-not-found.js +15 -0
  205. package/src/errors/system-role-not-found.js.map +1 -0
  206. package/src/errors/token-not-found.d.ts +10 -0
  207. package/src/errors/token-not-found.d.ts.map +1 -0
  208. package/src/errors/token-not-found.js +19 -0
  209. package/src/errors/token-not-found.js.map +1 -0
  210. package/src/errors/translatable-suite-handleable.d.ts +13 -0
  211. package/src/errors/translatable-suite-handleable.d.ts.map +1 -0
  212. package/src/errors/translatable-suite-handleable.js +18 -0
  213. package/src/errors/translatable-suite-handleable.js.map +1 -0
  214. package/src/errors/translatable-suite.d.ts +16 -0
  215. package/src/errors/translatable-suite.d.ts.map +1 -0
  216. package/src/errors/translatable-suite.js +29 -0
  217. package/src/errors/translatable-suite.js.map +1 -0
  218. package/src/errors/user-not-found.d.ts +5 -0
  219. package/src/errors/user-not-found.d.ts.map +1 -0
  220. package/src/errors/user-not-found.js +18 -0
  221. package/src/errors/user-not-found.js.map +1 -0
  222. package/src/errors/username-email-required.d.ts +9 -0
  223. package/src/errors/username-email-required.d.ts.map +1 -0
  224. package/src/errors/username-email-required.js +16 -0
  225. package/src/errors/username-email-required.js.map +1 -0
  226. package/src/errors/username-in-use.d.ts +5 -0
  227. package/src/errors/username-in-use.d.ts.map +1 -0
  228. package/src/errors/username-in-use.js +18 -0
  229. package/src/errors/username-in-use.js.map +1 -0
  230. package/src/i18n-setup.d.ts +18 -0
  231. package/src/i18n-setup.d.ts.map +1 -0
  232. package/src/i18n-setup.js +121 -0
  233. package/src/i18n-setup.js.map +1 -0
  234. package/src/{index.ts → index.d.ts} +1 -0
  235. package/src/index.d.ts.map +1 -0
  236. package/src/index.js +19 -0
  237. package/src/index.js.map +1 -0
  238. package/src/interfaces/backup-code-consts.d.ts +19 -0
  239. package/src/interfaces/backup-code-consts.d.ts.map +1 -0
  240. package/src/interfaces/backup-code-consts.js +3 -0
  241. package/src/interfaces/backup-code-consts.js.map +1 -0
  242. package/src/interfaces/backup-code.d.ts +10 -0
  243. package/src/interfaces/backup-code.d.ts.map +1 -0
  244. package/src/interfaces/backup-code.js +3 -0
  245. package/src/interfaces/backup-code.js.map +1 -0
  246. package/src/interfaces/bases/email-token.d.ts +34 -0
  247. package/src/interfaces/bases/email-token.d.ts.map +1 -0
  248. package/src/interfaces/bases/email-token.js +3 -0
  249. package/src/interfaces/bases/email-token.js.map +1 -0
  250. package/src/interfaces/bases/{index.ts → index.d.ts} +1 -0
  251. package/src/interfaces/bases/index.d.ts.map +1 -0
  252. package/src/interfaces/bases/index.js +14 -0
  253. package/src/interfaces/bases/index.js.map +1 -0
  254. package/src/interfaces/bases/{mnemonic.ts → mnemonic.d.ts} +5 -5
  255. package/src/interfaces/bases/mnemonic.d.ts.map +1 -0
  256. package/src/interfaces/bases/mnemonic.js +3 -0
  257. package/src/interfaces/bases/mnemonic.js.map +1 -0
  258. package/src/interfaces/bases/role.d.ts +33 -0
  259. package/src/interfaces/bases/role.d.ts.map +1 -0
  260. package/src/interfaces/bases/role.js +3 -0
  261. package/src/interfaces/bases/role.js.map +1 -0
  262. package/src/interfaces/bases/token-role.d.ts +13 -0
  263. package/src/interfaces/bases/token-role.d.ts.map +1 -0
  264. package/src/interfaces/bases/token-role.js +3 -0
  265. package/src/interfaces/bases/token-role.js.map +1 -0
  266. package/src/interfaces/bases/{used-direct-login-token.ts → used-direct-login-token.d.ts} +9 -9
  267. package/src/interfaces/bases/used-direct-login-token.d.ts.map +1 -0
  268. package/src/interfaces/bases/used-direct-login-token.js +3 -0
  269. package/src/interfaces/bases/used-direct-login-token.js.map +1 -0
  270. package/src/interfaces/bases/{user-role.ts → user-role.d.ts} +10 -16
  271. package/src/interfaces/bases/user-role.d.ts.map +1 -0
  272. package/src/interfaces/bases/user-role.js +3 -0
  273. package/src/interfaces/bases/user-role.js.map +1 -0
  274. package/src/interfaces/bases/user.d.ts +80 -0
  275. package/src/interfaces/bases/user.d.ts.map +1 -0
  276. package/src/interfaces/bases/user.js +3 -0
  277. package/src/interfaces/bases/user.js.map +1 -0
  278. package/src/interfaces/combined-role-privileges.d.ts +10 -0
  279. package/src/interfaces/combined-role-privileges.d.ts.map +1 -0
  280. package/src/interfaces/combined-role-privileges.js +3 -0
  281. package/src/interfaces/combined-role-privileges.js.map +1 -0
  282. package/src/interfaces/constants.d.ts +59 -0
  283. package/src/interfaces/constants.d.ts.map +1 -0
  284. package/src/interfaces/constants.js +3 -0
  285. package/src/interfaces/constants.js.map +1 -0
  286. package/src/interfaces/core-consts.d.ts +133 -0
  287. package/src/interfaces/core-consts.d.ts.map +1 -0
  288. package/src/interfaces/core-consts.js +3 -0
  289. package/src/interfaces/core-consts.js.map +1 -0
  290. package/src/interfaces/{deep-partial.ts → deep-partial.d.ts} +2 -1
  291. package/src/interfaces/deep-partial.d.ts.map +1 -0
  292. package/src/interfaces/deep-partial.js +3 -0
  293. package/src/interfaces/deep-partial.js.map +1 -0
  294. package/src/interfaces/dto/{email-token.ts → email-token.d.ts} +1 -1
  295. package/src/interfaces/dto/email-token.d.ts.map +1 -0
  296. package/src/interfaces/dto/email-token.js +3 -0
  297. package/src/interfaces/dto/email-token.js.map +1 -0
  298. package/src/interfaces/dto/{index.ts → index.d.ts} +1 -0
  299. package/src/interfaces/dto/index.d.ts.map +1 -0
  300. package/src/interfaces/dto/index.js +15 -0
  301. package/src/interfaces/dto/index.js.map +1 -0
  302. package/src/interfaces/dto/{mnemonic.ts → mnemonic.d.ts} +1 -1
  303. package/src/interfaces/dto/mnemonic.d.ts.map +1 -0
  304. package/src/interfaces/dto/mnemonic.js +3 -0
  305. package/src/interfaces/dto/mnemonic.js.map +1 -0
  306. package/src/interfaces/dto/request-user.d.ts +21 -0
  307. package/src/interfaces/dto/request-user.d.ts.map +1 -0
  308. package/src/interfaces/dto/request-user.js +3 -0
  309. package/src/interfaces/dto/request-user.js.map +1 -0
  310. package/src/interfaces/dto/{role.ts → role.d.ts} +1 -1
  311. package/src/interfaces/dto/role.d.ts.map +1 -0
  312. package/src/interfaces/dto/role.js +3 -0
  313. package/src/interfaces/dto/role.js.map +1 -0
  314. package/src/interfaces/dto/{token-role.ts → token-role.d.ts} +3 -10
  315. package/src/interfaces/dto/token-role.d.ts.map +1 -0
  316. package/src/interfaces/dto/token-role.js +3 -0
  317. package/src/interfaces/dto/token-role.js.map +1 -0
  318. package/src/interfaces/dto/{user-role.ts → user-role.d.ts} +1 -1
  319. package/src/interfaces/dto/user-role.d.ts.map +1 -0
  320. package/src/interfaces/dto/user-role.js +3 -0
  321. package/src/interfaces/dto/user-role.js.map +1 -0
  322. package/src/interfaces/dto/user-settings.d.ts +13 -0
  323. package/src/interfaces/dto/user-settings.d.ts.map +1 -0
  324. package/src/interfaces/dto/user-settings.js +3 -0
  325. package/src/interfaces/dto/user-settings.js.map +1 -0
  326. package/src/interfaces/dto/{user.ts → user.d.ts} +1 -1
  327. package/src/interfaces/dto/user.d.ts.map +1 -0
  328. package/src/interfaces/dto/user.js +3 -0
  329. package/src/interfaces/dto/user.js.map +1 -0
  330. package/src/interfaces/{failable-result.ts → failable-result.d.ts} +5 -4
  331. package/src/interfaces/failable-result.d.ts.map +1 -0
  332. package/src/interfaces/failable-result.js +3 -0
  333. package/src/interfaces/failable-result.js.map +1 -0
  334. package/src/interfaces/frontend-objects/{email-token.ts → email-token.d.ts} +2 -6
  335. package/src/interfaces/frontend-objects/email-token.d.ts.map +1 -0
  336. package/src/interfaces/frontend-objects/email-token.js +3 -0
  337. package/src/interfaces/frontend-objects/email-token.js.map +1 -0
  338. package/src/interfaces/frontend-objects/{index.ts → index.d.ts} +1 -0
  339. package/src/interfaces/frontend-objects/index.d.ts.map +1 -0
  340. package/src/interfaces/frontend-objects/index.js +12 -0
  341. package/src/interfaces/frontend-objects/index.js.map +1 -0
  342. package/src/interfaces/frontend-objects/request-user.d.ts +21 -0
  343. package/src/interfaces/frontend-objects/request-user.d.ts.map +1 -0
  344. package/src/interfaces/frontend-objects/request-user.js +3 -0
  345. package/src/interfaces/frontend-objects/request-user.js.map +1 -0
  346. package/src/interfaces/frontend-objects/{role.ts → role.d.ts} +1 -1
  347. package/src/interfaces/frontend-objects/role.d.ts.map +1 -0
  348. package/src/interfaces/frontend-objects/role.js +3 -0
  349. package/src/interfaces/frontend-objects/role.js.map +1 -0
  350. package/src/interfaces/frontend-objects/{user-role.ts → user-role.d.ts} +1 -1
  351. package/src/interfaces/frontend-objects/user-role.d.ts.map +1 -0
  352. package/src/interfaces/frontend-objects/user-role.js +3 -0
  353. package/src/interfaces/frontend-objects/user-role.js.map +1 -0
  354. package/src/interfaces/frontend-objects/{user.ts → user.d.ts} +2 -7
  355. package/src/interfaces/frontend-objects/user.d.ts.map +1 -0
  356. package/src/interfaces/frontend-objects/user.js +3 -0
  357. package/src/interfaces/frontend-objects/user.js.map +1 -0
  358. package/src/interfaces/{has-creation.ts → has-creation.d.ts} +5 -4
  359. package/src/interfaces/has-creation.d.ts.map +1 -0
  360. package/src/interfaces/has-creation.js +3 -0
  361. package/src/interfaces/has-creation.js.map +1 -0
  362. package/src/interfaces/has-creator.d.ts +11 -0
  363. package/src/interfaces/has-creator.d.ts.map +1 -0
  364. package/src/interfaces/has-creator.js +3 -0
  365. package/src/interfaces/has-creator.js.map +1 -0
  366. package/src/interfaces/has-id.d.ts +8 -0
  367. package/src/interfaces/has-id.d.ts.map +1 -0
  368. package/src/interfaces/has-id.js +3 -0
  369. package/src/interfaces/has-id.js.map +1 -0
  370. package/src/interfaces/{has-soft-delete.ts → has-soft-delete.d.ts} +5 -4
  371. package/src/interfaces/has-soft-delete.d.ts.map +1 -0
  372. package/src/interfaces/has-soft-delete.js +3 -0
  373. package/src/interfaces/has-soft-delete.js.map +1 -0
  374. package/src/interfaces/has-soft-deleter.d.ts +11 -0
  375. package/src/interfaces/has-soft-deleter.d.ts.map +1 -0
  376. package/src/interfaces/has-soft-deleter.js +3 -0
  377. package/src/interfaces/has-soft-deleter.js.map +1 -0
  378. package/src/interfaces/{has-timestamp-owners.ts → has-timestamp-owners.d.ts} +3 -3
  379. package/src/interfaces/has-timestamp-owners.d.ts.map +1 -0
  380. package/src/interfaces/has-timestamp-owners.js +3 -0
  381. package/src/interfaces/has-timestamp-owners.js.map +1 -0
  382. package/src/interfaces/has-timestamps.d.ts +9 -0
  383. package/src/interfaces/has-timestamps.d.ts.map +1 -0
  384. package/src/interfaces/has-timestamps.js +3 -0
  385. package/src/interfaces/has-timestamps.js.map +1 -0
  386. package/src/interfaces/has-updater.d.ts +11 -0
  387. package/src/interfaces/has-updater.d.ts.map +1 -0
  388. package/src/interfaces/has-updater.js +3 -0
  389. package/src/interfaces/has-updater.js.map +1 -0
  390. package/src/interfaces/{has-updates.ts → has-updates.d.ts} +2 -1
  391. package/src/interfaces/has-updates.d.ts.map +1 -0
  392. package/src/interfaces/has-updates.js +3 -0
  393. package/src/interfaces/has-updates.js.map +1 -0
  394. package/src/interfaces/{index.ts → index.d.ts} +1 -0
  395. package/src/interfaces/index.d.ts.map +1 -0
  396. package/src/interfaces/index.js +29 -0
  397. package/src/interfaces/index.js.map +1 -0
  398. package/src/interfaces/{success-message.ts → success-message.d.ts} +3 -2
  399. package/src/interfaces/success-message.d.ts.map +1 -0
  400. package/src/interfaces/success-message.js +3 -0
  401. package/src/interfaces/success-message.js.map +1 -0
  402. package/src/interfaces/{token-user.ts → token-user.d.ts} +3 -3
  403. package/src/interfaces/token-user.d.ts.map +1 -0
  404. package/src/interfaces/token-user.js +3 -0
  405. package/src/interfaces/token-user.js.map +1 -0
  406. package/src/interfaces/{user-settings.ts → user-settings.d.ts} +7 -7
  407. package/src/interfaces/user-settings.d.ts.map +1 -0
  408. package/src/interfaces/user-settings.js +3 -0
  409. package/src/interfaces/user-settings.js.map +1 -0
  410. package/src/lib/flags.d.ts +10 -0
  411. package/src/lib/flags.d.ts.map +1 -0
  412. package/src/lib/flags.js +288 -0
  413. package/src/lib/flags.js.map +1 -0
  414. package/src/lib/formatters.d.ts +16 -0
  415. package/src/lib/formatters.d.ts.map +1 -0
  416. package/src/lib/formatters.js +29 -0
  417. package/src/lib/formatters.js.map +1 -0
  418. package/src/lib/hydrate-dehydrate.d.ts +16 -0
  419. package/src/lib/hydrate-dehydrate.d.ts.map +1 -0
  420. package/src/lib/hydrate-dehydrate.js +43 -0
  421. package/src/lib/hydrate-dehydrate.js.map +1 -0
  422. package/src/lib/{index.ts → index.d.ts} +1 -1
  423. package/src/lib/index.d.ts.map +1 -0
  424. package/src/lib/index.js +12 -0
  425. package/src/lib/index.js.map +1 -0
  426. package/src/lib/validators-with-constants.d.ts +73 -0
  427. package/src/lib/validators-with-constants.d.ts.map +1 -0
  428. package/src/lib/validators-with-constants.js +64 -0
  429. package/src/lib/validators-with-constants.js.map +1 -0
  430. package/src/lib/validators.d.ts +37 -0
  431. package/src/lib/validators.d.ts.map +1 -0
  432. package/src/lib/validators.js +74 -0
  433. package/src/lib/validators.js.map +1 -0
  434. package/src/local-storage-manager.d.ts +22 -0
  435. package/src/local-storage-manager.d.ts.map +1 -0
  436. package/src/local-storage-manager.js +74 -0
  437. package/src/local-storage-manager.js.map +1 -0
  438. package/src/strings/de.d.ts +7 -0
  439. package/src/strings/de.d.ts.map +1 -0
  440. package/src/strings/de.js +492 -0
  441. package/src/strings/de.js.map +1 -0
  442. package/src/strings/en-GB.d.ts +7 -0
  443. package/src/strings/en-GB.d.ts.map +1 -0
  444. package/src/strings/en-GB.js +492 -0
  445. package/src/strings/en-GB.js.map +1 -0
  446. package/src/strings/en-US.d.ts +8 -0
  447. package/src/strings/en-US.d.ts.map +1 -0
  448. package/src/strings/en-US.js +493 -0
  449. package/src/strings/en-US.js.map +1 -0
  450. package/src/strings/es.d.ts +7 -0
  451. package/src/strings/es.d.ts.map +1 -0
  452. package/src/strings/es.js +492 -0
  453. package/src/strings/es.js.map +1 -0
  454. package/src/strings/fr.d.ts +7 -0
  455. package/src/strings/fr.d.ts.map +1 -0
  456. package/src/strings/fr.js +492 -0
  457. package/src/strings/fr.js.map +1 -0
  458. package/src/strings/ja.d.ts +7 -0
  459. package/src/strings/ja.d.ts.map +1 -0
  460. package/src/strings/ja.js +492 -0
  461. package/src/strings/ja.js.map +1 -0
  462. package/src/strings/uk.d.ts +7 -0
  463. package/src/strings/uk.d.ts.map +1 -0
  464. package/src/strings/uk.js +492 -0
  465. package/src/strings/uk.js.map +1 -0
  466. package/src/strings/zh-CN.d.ts +7 -0
  467. package/src/strings/zh-CN.d.ts.map +1 -0
  468. package/src/strings/zh-CN.js +492 -0
  469. package/src/strings/zh-CN.js.map +1 -0
  470. package/LICENSE +0 -21
  471. package/src/backup-code-string.ts +0 -102
  472. package/src/builders/role-builder.ts +0 -67
  473. package/src/builders/user-builder.ts +0 -81
  474. package/src/constants.ts +0 -229
  475. package/src/core/result.ts +0 -40
  476. package/src/defaults.ts +0 -114
  477. package/src/enumerations/account-status.ts +0 -17
  478. package/src/enumerations/email-token-type.ts +0 -27
  479. package/src/enumerations/fec-error-type.ts +0 -16
  480. package/src/enumerations/pbkdf2-error-type.ts +0 -7
  481. package/src/enumerations/role.ts +0 -8
  482. package/src/enumerations/suite-core-string-key.ts +0 -500
  483. package/src/errors/account-locked.ts +0 -12
  484. package/src/errors/account-status.ts +0 -38
  485. package/src/errors/admin-role-not-found.ts +0 -15
  486. package/src/errors/core-typed-handleable.ts +0 -72
  487. package/src/errors/direct-challenge-not-enabled.ts +0 -22
  488. package/src/errors/direct-token-used.ts +0 -17
  489. package/src/errors/email-in-use.ts +0 -14
  490. package/src/errors/email-token-expired.ts +0 -14
  491. package/src/errors/email-token-failed-to-send.ts +0 -46
  492. package/src/errors/email-token-sent-too-recently.ts +0 -32
  493. package/src/errors/email-token-used-or-invalid.ts +0 -14
  494. package/src/errors/email-verified.ts +0 -19
  495. package/src/errors/failed-to-use-direct-token.ts +0 -17
  496. package/src/errors/fec-error.ts +0 -49
  497. package/src/errors/generic-validation.ts +0 -14
  498. package/src/errors/invalid-backup-code.ts +0 -9
  499. package/src/errors/invalid-challenge-response.ts +0 -22
  500. package/src/errors/invalid-challenge.ts +0 -12
  501. package/src/errors/invalid-credentials.ts +0 -19
  502. package/src/errors/invalid-email.ts +0 -46
  503. package/src/errors/invalid-expired-token.ts +0 -21
  504. package/src/errors/invalid-token.ts +0 -22
  505. package/src/errors/invalid-userid.ts +0 -38
  506. package/src/errors/invalid-username.ts +0 -17
  507. package/src/errors/last-admin-error.ts +0 -15
  508. package/src/errors/login-challenge-expired.ts +0 -22
  509. package/src/errors/member-role-not-found.ts +0 -15
  510. package/src/errors/password-login-not-enabled.ts +0 -22
  511. package/src/errors/password-login-not-setup.ts +0 -22
  512. package/src/errors/pbkdf2-error.ts +0 -26
  513. package/src/errors/pending-email-verification.ts +0 -12
  514. package/src/errors/private-key-required.ts +0 -16
  515. package/src/errors/system-role-not-found.ts +0 -15
  516. package/src/errors/token-not-found.ts +0 -24
  517. package/src/errors/translatable-suite-handleable.ts +0 -30
  518. package/src/errors/translatable-suite.ts +0 -37
  519. package/src/errors/user-not-found.ts +0 -14
  520. package/src/errors/username-email-required.ts +0 -23
  521. package/src/errors/username-in-use.ts +0 -14
  522. package/src/i18n-setup.ts +0 -150
  523. package/src/interfaces/backup-code-consts.ts +0 -18
  524. package/src/interfaces/backup-code.ts +0 -9
  525. package/src/interfaces/bases/email-token.ts +0 -39
  526. package/src/interfaces/bases/role.ts +0 -43
  527. package/src/interfaces/bases/token-role.ts +0 -16
  528. package/src/interfaces/bases/user.ts +0 -91
  529. package/src/interfaces/combined-role-privileges.ts +0 -9
  530. package/src/interfaces/constants.ts +0 -59
  531. package/src/interfaces/core-consts.ts +0 -133
  532. package/src/interfaces/dto/request-user.ts +0 -23
  533. package/src/interfaces/dto/user-settings.ts +0 -12
  534. package/src/interfaces/frontend-objects/request-user.ts +0 -21
  535. package/src/interfaces/has-creator.ts +0 -11
  536. package/src/interfaces/has-id.ts +0 -8
  537. package/src/interfaces/has-soft-deleter.ts +0 -11
  538. package/src/interfaces/has-timestamps.ts +0 -11
  539. package/src/interfaces/has-updater.ts +0 -11
  540. package/src/lib/flags.ts +0 -286
  541. package/src/lib/formatters.ts +0 -26
  542. package/src/lib/hydrate-dehydrate.ts +0 -43
  543. package/src/lib/validators-with-constants.ts +0 -74
  544. package/src/lib/validators.ts +0 -72
  545. package/src/local-storage-manager.ts +0 -69
  546. package/src/strings/de.ts +0 -793
  547. package/src/strings/en-GB.ts +0 -743
  548. package/src/strings/en-US.ts +0 -746
  549. package/src/strings/es.ts +0 -799
  550. package/src/strings/fr.ts +0 -804
  551. package/src/strings/ja.ts +0 -766
  552. package/src/strings/uk.ts +0 -783
  553. package/src/strings/zh-CN.ts +0 -650
@@ -1,133 +0,0 @@
1
- /**
2
- * Core constants interface for authentication, validation, and system configuration.
3
- */
4
- import { IIdProviderBase } from '@digitaldefiance/ecies-lib';
5
- import { IBackupCodeConstants } from './backup-code-consts';
6
-
7
- export interface ICoreConstants {
8
- /**
9
- * The ID provider to use for generating and parsing IDs
10
- */
11
- idProvider: IIdProviderBase;
12
- /**
13
- * Backup code related constants
14
- */
15
- BACKUP_CODES: IBackupCodeConstants;
16
- /**
17
- * Duration in milliseconds for a login challenge
18
- */
19
- LoginChallengeExpiration: number;
20
- /**
21
- * Default duration in seconds for which mnemonics are kept in memory
22
- */
23
- DefaultExpireMemoryMnemonicSeconds: number;
24
- /**
25
- * Default duration in seconds for which wallets are kept in memory
26
- */
27
- DefaultExpireMemoryWalletSeconds: number;
28
- /**
29
- * The expected length of a direct login challenge in bytes
30
- */
31
- DirectLoginChallengeLength: number;
32
- /**
33
- * Duration in milliseconds for which an email token is valid.
34
- */
35
- EmailTokenExpiration: number;
36
- /**
37
- * Length in bytes of the email token generated (is represented as a hex string of twice as many)
38
- */
39
- EmailTokenLength: number;
40
- /**
41
- * Number of rounds for bcrypt hashing. Higher values increase security but also consume more CPU resources.
42
- */
43
- BcryptRounds: number;
44
- /**
45
- * The username of the administrator user.
46
- */
47
- AdministratorUser: string;
48
- /**
49
- * The name of the administrator role.
50
- */
51
- AdministratorRole: string;
52
- /**
53
- * The name of the member role.
54
- */
55
- MemberRole: string;
56
- /**
57
- * The username of the test user.
58
- */
59
- MemberUser: string;
60
- /**
61
- * The name of the system role.
62
- */
63
- SystemRole: string;
64
- /**
65
- * The username of the system user.
66
- */
67
- SystemUser: string;
68
- /**
69
- * Minimum username length
70
- */
71
- UsernameMinLength: number;
72
- /**
73
- * Maximum username length
74
- */
75
- UsernameMaxLength: number;
76
- /**
77
- * The regular expression for valid usernames.
78
- */
79
- UsernameRegex: RegExp;
80
- /**
81
- * Minimum password length
82
- */
83
- PasswordMinLength: number;
84
- /**
85
- * The regular expression for valid passwords.
86
- */
87
- PasswordRegex: RegExp;
88
- /**
89
- * The regular expression for valid JWT tokens.
90
- */
91
- JwtSecretRegex: RegExp;
92
- /**
93
- * The regular expression for valid mnemonic phrases.
94
- * BIP39
95
- */
96
- MnemonicRegex: RegExp;
97
- /**
98
- * The regular expression for valid HMAC keys.
99
- */
100
- MnemonicHmacRegex: RegExp;
101
- /**
102
- * The regular expression for valid encryption keys.
103
- */
104
- MnemonicEncryptionKeyRegex: RegExp;
105
- /**
106
- * The amount of time in milliseconds after which an email token can be resent.
107
- */
108
- EmailTokenResendInterval: number;
109
- /**
110
- * The interval in minutes after which an email token can be resent.
111
- */
112
- EmailTokenResendIntervalMinutes: number;
113
- /**
114
- * The name of the site.
115
- */
116
- Site: string;
117
- /**
118
- * The tagline of the site.
119
- */
120
- SiteTagline: string;
121
- /**
122
- * The description of the site.
123
- */
124
- SiteDescription: string;
125
- /**
126
- * The email domain of usernames on the site.
127
- */
128
- SiteEmailDomain: string;
129
- /**
130
- * The hostname of the site.
131
- */
132
- SiteHostname: string;
133
- }
@@ -1,23 +0,0 @@
1
- /**
2
- * Request user Data Transfer Object (DTO) interface.
3
- * Combined user data with roles, privileges, and settings for authenticated requests.
4
- */
5
- import { ICombinedRolePrivileges } from '../combined-role-privileges';
6
- import { IRoleDTO } from '../dto/role';
7
-
8
- export interface IRequestUserDTO {
9
- // IUserDTO
10
- id: string;
11
- roles: Array<IRoleDTO>;
12
- rolePrivileges: ICombinedRolePrivileges;
13
- username: string;
14
- email: string;
15
- emailVerified: boolean;
16
- lastLogin?: string;
17
- // IUserSettingsDTO
18
- timezone: string;
19
- siteLanguage: string;
20
- darkMode: boolean;
21
- currency: string;
22
- directChallenge: boolean;
23
- }
@@ -1,12 +0,0 @@
1
- /**
2
- * User settings Data Transfer Object (DTO).
3
- * Plain string-based representation of user settings for serialization and API transfer.
4
- */
5
- export interface IUserSettingsDTO {
6
- email: string;
7
- timezone: string;
8
- currency: string;
9
- siteLanguage: string;
10
- darkMode: boolean;
11
- directChallenge: boolean;
12
- }
@@ -1,21 +0,0 @@
1
- /**
2
- * Request user frontend object interface.
3
- * Client-side representation of authenticated user data with roles, privileges, and settings.
4
- */
5
- import { ICombinedRolePrivileges } from '../combined-role-privileges';
6
- import { IRoleFrontendObject } from './role';
7
-
8
- export interface IRequestUserFrontendObject {
9
- id: string;
10
- roles: Array<IRoleFrontendObject>;
11
- rolePrivileges: ICombinedRolePrivileges;
12
- username: string;
13
- email: string;
14
- timezone: string;
15
- currency: string;
16
- directChallenge: boolean;
17
- siteLanguage: string;
18
- lastLogin?: Date;
19
- emailVerified: boolean;
20
- darkMode: boolean;
21
- }
@@ -1,11 +0,0 @@
1
- import type { PlatformID } from "@digitaldefiance/ecies-lib";
2
-
3
- /**
4
- * Interface for objects that track who created them.
5
- */
6
- export interface IHasCreator<TID extends PlatformID> {
7
- /**
8
- * The unique identifier for the user who created the object.
9
- */
10
- createdBy: TID;
11
- }
@@ -1,8 +0,0 @@
1
- import type { PlatformID } from "@digitaldefiance/ecies-lib";
2
-
3
- /**
4
- * Interface for objects with a unique identifier.
5
- */
6
- export interface IHasId<TID extends PlatformID> {
7
- _id: TID;
8
- }
@@ -1,11 +0,0 @@
1
- import type { PlatformID } from "@digitaldefiance/ecies-lib";
2
-
3
- /**
4
- * Interface for objects that track who deleted them (soft delete).
5
- */
6
- export interface IHasSoftDeleter<TID extends PlatformID> {
7
- /**
8
- * The unique identifier for the user who deleted the object.
9
- */
10
- deletedBy?: TID;
11
- }
@@ -1,11 +0,0 @@
1
- /**
2
- * Interface for objects with creation and update timestamps.
3
- */
4
- import { IHasCreation } from './has-creation';
5
-
6
- export interface IHasTimestamps<
7
- TDate extends Date | string,
8
- > extends IHasCreation<TDate> {
9
- createdAt: TDate;
10
- updatedAt: TDate;
11
- }
@@ -1,11 +0,0 @@
1
- import type { PlatformID } from "@digitaldefiance/ecies-lib";
2
-
3
- /**
4
- * Interface for objects that track who updated them.
5
- */
6
- export interface IHasUpdater<TID extends PlatformID> {
7
- /**
8
- * The unique identifier for the user who updated the object.
9
- */
10
- updatedBy: TID;
11
- }
package/src/lib/flags.ts DELETED
@@ -1,286 +0,0 @@
1
- /**
2
- * Mapping from BCP-47 language codes to FlagCDN flag codes
3
- * Based on Flagpedia.net flag codes
4
- */
5
-
6
- export const BCP47_TO_FLAG_CDN: Record<string, string> = {
7
- // Major languages with country flags
8
- 'en-US': 'us',
9
- 'en-GB': 'gb',
10
- en: 'gb',
11
- fr: 'fr',
12
- 'fr-FR': 'fr',
13
- es: 'es',
14
- 'es-ES': 'es',
15
- de: 'de',
16
- 'de-DE': 'de',
17
- 'zh-CN': 'cn',
18
- zh: 'cn',
19
- ja: 'jp',
20
- 'ja-JP': 'jp',
21
- uk: 'ua',
22
- 'uk-UA': 'ua',
23
-
24
- // All ISO 3166-1 alpha-2 codes from the HTML
25
- af: 'af', // Afghanistan
26
- ax: 'ax', // Åland Islands
27
- al: 'al', // Albania
28
- dz: 'dz', // Algeria
29
- as: 'as', // American Samoa
30
- ad: 'ad', // Andorra
31
- ao: 'ao', // Angola
32
- ai: 'ai', // Anguilla
33
- aq: 'aq', // Antarctica
34
- ag: 'ag', // Antigua and Barbuda
35
- ar: 'ar', // Argentina
36
- am: 'am', // Armenia
37
- aw: 'aw', // Aruba
38
- au: 'au', // Australia
39
- at: 'at', // Austria
40
- az: 'az', // Azerbaijan
41
- bs: 'bs', // Bahamas
42
- bh: 'bh', // Bahrain
43
- bd: 'bd', // Bangladesh
44
- bb: 'bb', // Barbados
45
- by: 'by', // Belarus
46
- be: 'be', // Belgium
47
- bz: 'bz', // Belize
48
- bj: 'bj', // Benin
49
- bm: 'bm', // Bermuda
50
- bt: 'bt', // Bhutan
51
- bo: 'bo', // Bolivia
52
- ba: 'ba', // Bosnia and Herzegovina
53
- bw: 'bw', // Botswana
54
- bv: 'bv', // Bouvet Island
55
- br: 'br', // Brazil
56
- io: 'io', // British Indian Ocean Territory
57
- bn: 'bn', // Brunei
58
- bg: 'bg', // Bulgaria
59
- bf: 'bf', // Burkina Faso
60
- bi: 'bi', // Burundi
61
- kh: 'kh', // Cambodia
62
- cm: 'cm', // Cameroon
63
- ca: 'ca', // Canada
64
- cv: 'cv', // Cape Verde
65
- bq: 'bq', // Caribbean Netherlands
66
- ky: 'ky', // Cayman Islands
67
- cf: 'cf', // Central African Republic
68
- td: 'td', // Chad
69
- cl: 'cl', // Chile
70
- cn: 'cn', // China
71
- cx: 'cx', // Christmas Island
72
- cc: 'cc', // Cocos Islands
73
- co: 'co', // Colombia
74
- km: 'km', // Comoros
75
- cg: 'cg', // Republic of the Congo
76
- cd: 'cd', // DR Congo
77
- ck: 'ck', // Cook Islands
78
- cr: 'cr', // Costa Rica
79
- ci: 'ci', // Côte d'Ivoire
80
- hr: 'hr', // Croatia
81
- cu: 'cu', // Cuba
82
- cw: 'cw', // Curaçao
83
- cy: 'cy', // Cyprus
84
- cz: 'cz', // Czechia
85
- dk: 'dk', // Denmark
86
- dj: 'dj', // Djibouti
87
- dm: 'dm', // Dominica
88
- do: 'do', // Dominican Republic
89
- ec: 'ec', // Ecuador
90
- eg: 'eg', // Egypt
91
- sv: 'sv', // El Salvador
92
- gq: 'gq', // Equatorial Guinea
93
- er: 'er', // Eritrea
94
- ee: 'ee', // Estonia
95
- sz: 'sz', // Eswatini
96
- et: 'et', // Ethiopia
97
- fk: 'fk', // Falkland Islands
98
- fo: 'fo', // Faroe Islands
99
- fj: 'fj', // Fiji
100
- fi: 'fi', // Finland
101
- gf: 'gf', // French Guiana
102
- pf: 'pf', // French Polynesia
103
- tf: 'tf', // French Southern and Antarctic Lands
104
- ga: 'ga', // Gabon
105
- gm: 'gm', // Gambia
106
- ge: 'ge', // Georgia
107
- gh: 'gh', // Ghana
108
- gi: 'gi', // Gibraltar
109
- gr: 'gr', // Greece
110
- gl: 'gl', // Greenland
111
- gd: 'gd', // Grenada
112
- gp: 'gp', // Guadeloupe
113
- gu: 'gu', // Guam
114
- gt: 'gt', // Guatemala
115
- gg: 'gg', // Guernsey
116
- gn: 'gn', // Guinea
117
- gw: 'gw', // Guinea-Bissau
118
- gy: 'gy', // Guyana
119
- ht: 'ht', // Haiti
120
- hm: 'hm', // Heard Island and McDonald Islands
121
- hn: 'hn', // Honduras
122
- hk: 'hk', // Hong Kong
123
- hu: 'hu', // Hungary
124
- is: 'is', // Iceland
125
- in: 'in', // India
126
- id: 'id', // Indonesia
127
- ir: 'ir', // Iran
128
- iq: 'iq', // Iraq
129
- ie: 'ie', // Ireland
130
- im: 'im', // Isle of Man
131
- il: 'il', // Israel
132
- it: 'it', // Italy
133
- jm: 'jm', // Jamaica
134
- jp: 'jp', // Japan
135
- je: 'je', // Jersey
136
- jo: 'jo', // Jordan
137
- kz: 'kz', // Kazakhstan
138
- ke: 'ke', // Kenya
139
- ki: 'ki', // Kiribati
140
- kp: 'kp', // North Korea
141
- kr: 'kr', // South Korea
142
- xk: 'xk', // Kosovo
143
- kw: 'kw', // Kuwait
144
- kg: 'kg', // Kyrgyzstan
145
- la: 'la', // Laos
146
- lv: 'lv', // Latvia
147
- lb: 'lb', // Lebanon
148
- ls: 'ls', // Lesotho
149
- lr: 'lr', // Liberia
150
- ly: 'ly', // Libya
151
- li: 'li', // Liechtenstein
152
- lt: 'lt', // Lithuania
153
- lu: 'lu', // Luxembourg
154
- mo: 'mo', // Macau
155
- mg: 'mg', // Madagascar
156
- mw: 'mw', // Malawi
157
- my: 'my', // Malaysia
158
- mv: 'mv', // Maldives
159
- ml: 'ml', // Mali
160
- mt: 'mt', // Malta
161
- mh: 'mh', // Marshall Islands
162
- mq: 'mq', // Martinique
163
- mr: 'mr', // Mauritania
164
- mu: 'mu', // Mauritius
165
- yt: 'yt', // Mayotte
166
- mx: 'mx', // Mexico
167
- fm: 'fm', // Micronesia
168
- md: 'md', // Moldova
169
- mc: 'mc', // Monaco
170
- mn: 'mn', // Mongolia
171
- me: 'me', // Montenegro
172
- ms: 'ms', // Montserrat
173
- ma: 'ma', // Morocco
174
- mz: 'mz', // Mozambique
175
- mm: 'mm', // Myanmar
176
- na: 'na', // Namibia
177
- nr: 'nr', // Nauru
178
- np: 'np', // Nepal
179
- nl: 'nl', // Netherlands
180
- nc: 'nc', // New Caledonia
181
- nz: 'nz', // New Zealand
182
- ni: 'ni', // Nicaragua
183
- ne: 'ne', // Niger
184
- ng: 'ng', // Nigeria
185
- nu: 'nu', // Niue
186
- nf: 'nf', // Norfolk Island
187
- mk: 'mk', // North Macedonia
188
- mp: 'mp', // Northern Mariana Islands
189
- no: 'no', // Norway
190
- om: 'om', // Oman
191
- pk: 'pk', // Pakistan
192
- pw: 'pw', // Palau
193
- ps: 'ps', // Palestine
194
- pa: 'pa', // Panama
195
- pg: 'pg', // Papua New Guinea
196
- py: 'py', // Paraguay
197
- pe: 'pe', // Peru
198
- ph: 'ph', // Philippines
199
- pn: 'pn', // Pitcairn Islands
200
- pl: 'pl', // Poland
201
- pt: 'pt', // Portugal
202
- pr: 'pr', // Puerto Rico
203
- qa: 'qa', // Qatar
204
- re: 're', // Réunion
205
- ro: 'ro', // Romania
206
- ru: 'ru', // Russia
207
- rw: 'rw', // Rwanda
208
- bl: 'bl', // Saint Barthélemy
209
- sh: 'sh', // Saint Helena
210
- kn: 'kn', // Saint Kitts and Nevis
211
- lc: 'lc', // Saint Lucia
212
- mf: 'mf', // Saint Martin
213
- pm: 'pm', // Saint Pierre and Miquelon
214
- vc: 'vc', // Saint Vincent and the Grenadines
215
- ws: 'ws', // Samoa
216
- sm: 'sm', // San Marino
217
- st: 'st', // São Tomé and Príncipe
218
- sa: 'sa', // Saudi Arabia
219
- sn: 'sn', // Senegal
220
- rs: 'rs', // Serbia
221
- sc: 'sc', // Seychelles
222
- sl: 'sl', // Sierra Leone
223
- sg: 'sg', // Singapore
224
- sx: 'sx', // Sint Maarten
225
- sk: 'sk', // Slovakia
226
- si: 'si', // Slovenia
227
- sb: 'sb', // Solomon Islands
228
- so: 'so', // Somalia
229
- za: 'za', // South Africa
230
- gs: 'gs', // South Georgia
231
- ss: 'ss', // South Sudan
232
- lk: 'lk', // Sri Lanka
233
- sd: 'sd', // Sudan
234
- sr: 'sr', // Suriname
235
- sj: 'sj', // Svalbard and Jan Mayen
236
- se: 'se', // Sweden
237
- ch: 'ch', // Switzerland
238
- sy: 'sy', // Syria
239
- tw: 'tw', // Taiwan
240
- tj: 'tj', // Tajikistan
241
- tz: 'tz', // Tanzania
242
- th: 'th', // Thailand
243
- tl: 'tl', // Timor-Leste
244
- tg: 'tg', // Togo
245
- tk: 'tk', // Tokelau
246
- to: 'to', // Tonga
247
- tt: 'tt', // Trinidad and Tobago
248
- tn: 'tn', // Tunisia
249
- tr: 'tr', // Turkey
250
- tm: 'tm', // Turkmenistan
251
- tc: 'tc', // Turks and Caicos Islands
252
- tv: 'tv', // Tuvalu
253
- ug: 'ug', // Uganda
254
- ua: 'ua', // Ukraine
255
- ae: 'ae', // United Arab Emirates
256
- gb: 'gb', // United Kingdom
257
- us: 'us', // United States
258
- um: 'um', // United States Minor Outlying Islands
259
- uy: 'uy', // Uruguay
260
- uz: 'uz', // Uzbekistan
261
- vu: 'vu', // Vanuatu
262
- va: 'va', // Vatican City
263
- ve: 've', // Venezuela
264
- vn: 'vn', // Vietnam
265
- vg: 'vg', // British Virgin Islands
266
- vi: 'vi', // United States Virgin Islands
267
- wf: 'wf', // Wallis and Futuna
268
- eh: 'eh', // Western Sahara
269
- ye: 'ye', // Yemen
270
- zm: 'zm', // Zambia
271
- zw: 'zw', // Zimbabwe
272
-
273
- // UK constituent countries
274
- 'en-GB-ENG': 'gb-eng', // England
275
- 'en-GB-SCT': 'gb-sct', // Scotland
276
- 'en-GB-WLS': 'gb-wls', // Wales
277
- 'en-GB-NIR': 'gb-nir', // Northern Ireland
278
- };
279
-
280
- /**
281
- * Get FlagCDN flag code from BCP-47 language code
282
- */
283
- export function getFlagCode(bcp47: string): string | undefined {
284
- if (!bcp47) return undefined;
285
- return BCP47_TO_FLAG_CDN[bcp47] || BCP47_TO_FLAG_CDN[bcp47.toLowerCase()];
286
- }
@@ -1,26 +0,0 @@
1
- /**
2
- * Common formatting helpers
3
- */
4
-
5
- /**
6
- * Format backup code with dashes (XXXX-XXXX-XXXX-XXXX)
7
- */
8
- export function formatBackupCode(code: string): string {
9
- const cleaned = code.replace(/[^A-Z0-9]/gi, '').toUpperCase();
10
- return cleaned.match(/.{1,4}/g)?.join('-') || cleaned;
11
- }
12
-
13
- /**
14
- * Validate backup code format
15
- */
16
- export function isValidBackupCodeFormat(code: string): boolean {
17
- const cleaned = code.replace(/[^A-Z0-9]/gi, '');
18
- return cleaned.length === 16;
19
- }
20
-
21
- /**
22
- * Normalize backup code (remove dashes, uppercase)
23
- */
24
- export function normalizeBackupCode(code: string): string {
25
- return code.replace(/[^A-Z0-9]/gi, '').toUpperCase();
26
- }
@@ -1,43 +0,0 @@
1
- /**
2
- * Hydration and dehydration utilities for converting between DTOs and domain objects.
3
- * Provides functions to transform plain data objects into rich domain objects with validation.
4
- */
5
- import { EmailString } from '@digitaldefiance/ecies-lib';
6
- import { CurrencyCode, Timezone } from '@digitaldefiance/i18n-lib';
7
- import { IUserSettings, IUserSettingsDTO } from '../interfaces';
8
-
9
- /**
10
- * Hydrate user settings DTO into domain object with validated types.
11
- * Converts plain string values into typed domain objects (EmailString, Timezone, CurrencyCode).
12
- * @param dto - Plain user settings data transfer object
13
- * @returns Hydrated user settings with validated domain types
14
- */
15
- export function hydrateUserSettings(dto: IUserSettingsDTO): IUserSettings {
16
- return {
17
- email: new EmailString(dto.email),
18
- timezone: new Timezone(dto.timezone),
19
- currency: new CurrencyCode(dto.currency),
20
- siteLanguage: dto.siteLanguage,
21
- darkMode: dto.darkMode,
22
- directChallenge: dto.directChallenge,
23
- };
24
- }
25
-
26
- /**
27
- * Dehydrate user settings domain object into plain DTO.
28
- * Converts typed domain objects back into plain string values for serialization.
29
- * @param settings - User settings domain object with typed values
30
- * @returns Plain user settings DTO suitable for JSON serialization
31
- */
32
- export function dehydrateUserSettings(
33
- settings: IUserSettings,
34
- ): IUserSettingsDTO {
35
- return {
36
- email: settings.email.email,
37
- timezone: settings.timezone.value,
38
- currency: settings.currency.value,
39
- siteLanguage: settings.siteLanguage,
40
- darkMode: settings.darkMode,
41
- directChallenge: settings.directChallenge,
42
- };
43
- }
@@ -1,74 +0,0 @@
1
- /**
2
- * Validators that accept custom constants
3
- * Allows consumers to pass their own IConstants implementation
4
- */
5
-
6
- import { CORE } from '../constants';
7
- import { IConstants } from '../interfaces/constants';
8
- import { ICoreConstants } from '../interfaces/core-consts';
9
-
10
- /**
11
- * Create validators bound to specific constants
12
- */
13
- export function createValidators(
14
- constants: ICoreConstants | IConstants = CORE,
15
- ) {
16
- return {
17
- /**
18
- * Validate username format using provided constants
19
- */
20
- isValidUsername(username: string): boolean {
21
- return constants.UsernameRegex.test(username);
22
- },
23
-
24
- /**
25
- * Validate password format using provided constants
26
- */
27
- isValidPassword(password: string): boolean {
28
- return constants.PasswordRegex.test(password);
29
- },
30
-
31
- /**
32
- * Validate mnemonic format using provided constants
33
- */
34
- isValidMnemonic(mnemonic: string): boolean {
35
- return constants.MnemonicRegex.test(mnemonic);
36
- },
37
-
38
- /**
39
- * Validate backup code normalized format using provided constants
40
- */
41
- isValidBackupCodeNormalized(code: string): boolean {
42
- return constants.BACKUP_CODES.NormalizedHexRegex.test(code);
43
- },
44
-
45
- /**
46
- * Validate backup code display format using provided constants
47
- */
48
- isValidBackupCodeDisplay(code: string): boolean {
49
- return constants.BACKUP_CODES.DisplayRegex.test(code);
50
- },
51
-
52
- /**
53
- * Validate username length using provided constants
54
- */
55
- isValidUsernameLength(username: string): boolean {
56
- return (
57
- username.length >= constants.UsernameMinLength &&
58
- username.length <= constants.UsernameMaxLength
59
- );
60
- },
61
-
62
- /**
63
- * Validate password length using provided constants
64
- */
65
- isValidPasswordLength(password: string): boolean {
66
- return password.length >= constants.PasswordMinLength;
67
- },
68
- };
69
- }
70
-
71
- /**
72
- * Default validators using CORE constants
73
- */
74
- export const defaultValidators = createValidators();