@digitaldefiance/suite-core-lib 3.6.49 → 3.7.0

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 (551) hide show
  1. package/package.json +7 -6
  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.d.ts +17 -0
  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.d.ts +17 -0
  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.ts → has-creator.d.ts} +5 -5
  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.ts → has-id.d.ts} +2 -2
  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.ts → has-soft-deleter.d.ts} +5 -5
  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.ts → has-updater.d.ts} +5 -5
  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 -70
  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 -501
  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/used-direct-login-token.ts +0 -19
  529. package/src/interfaces/bases/user-role.ts +0 -26
  530. package/src/interfaces/bases/user.ts +0 -91
  531. package/src/interfaces/combined-role-privileges.ts +0 -9
  532. package/src/interfaces/constants.ts +0 -59
  533. package/src/interfaces/core-consts.ts +0 -133
  534. package/src/interfaces/dto/request-user.ts +0 -23
  535. package/src/interfaces/dto/user-settings.ts +0 -12
  536. package/src/interfaces/frontend-objects/request-user.ts +0 -21
  537. package/src/interfaces/has-timestamps.ts +0 -11
  538. package/src/lib/flags.ts +0 -286
  539. package/src/lib/formatters.ts +0 -26
  540. package/src/lib/hydrate-dehydrate.ts +0 -43
  541. package/src/lib/validators-with-constants.ts +0 -74
  542. package/src/lib/validators.ts +0 -72
  543. package/src/local-storage-manager.ts +0 -69
  544. package/src/strings/de.ts +0 -795
  545. package/src/strings/en-GB.ts +0 -745
  546. package/src/strings/en-US.ts +0 -748
  547. package/src/strings/es.ts +0 -801
  548. package/src/strings/fr.ts +0 -806
  549. package/src/strings/ja.ts +0 -768
  550. package/src/strings/uk.ts +0 -785
  551. package/src/strings/zh-CN.ts +0 -651
@@ -1,24 +0,0 @@
1
- /**
2
- * Error thrown when a token cannot be found.
3
- */
4
- import { CoreLanguageCode } from '@digitaldefiance/i18n-lib';
5
- import { SuiteCoreStringKey } from '../enumerations';
6
- import { TranslatableSuiteHandleableError } from './translatable-suite-handleable';
7
-
8
- export class TokenNotFoundError extends TranslatableSuiteHandleableError {
9
- public readonly token: string;
10
- constructor(token: string, language?: CoreLanguageCode, statusCode = 404) {
11
- super(
12
- SuiteCoreStringKey.TokenNotFoundTemplate,
13
- {
14
- TOKEN: token,
15
- },
16
- language,
17
- {
18
- statusCode,
19
- },
20
- );
21
- this.token = token;
22
- this.name = 'TokenNotFoundError';
23
- }
24
- }
@@ -1,30 +0,0 @@
1
- /**
2
- * Translatable handleable error class for suite-core library with i18n and error handling support.
3
- */
4
- import { TranslatableHandleableGenericError } from '@digitaldefiance/i18n-lib';
5
- import { SuiteCoreStringKey } from '../enumerations';
6
- import { SuiteCoreComponentId } from '../i18n-setup';
7
-
8
- export class TranslatableSuiteHandleableError extends TranslatableHandleableGenericError<SuiteCoreStringKey> {
9
- constructor(
10
- messageKey: SuiteCoreStringKey,
11
- otherVars?: Record<string, string | number>,
12
- language?: string,
13
- handleableOptions?: {
14
- statusCode?: number;
15
- cause?: Error;
16
- sourceData?: unknown;
17
- },
18
- ) {
19
- super(
20
- SuiteCoreComponentId,
21
- messageKey,
22
- otherVars,
23
- language,
24
- undefined, // metadata
25
- 'default', // instanceKey
26
- handleableOptions,
27
- );
28
- this.name = 'TranslatableSuiteHandleableError';
29
- }
30
- }
@@ -1,37 +0,0 @@
1
- /**
2
- * Translatable error class for suite-core library with i18n support.
3
- */
4
- import { SuiteCoreStringKey } from '../enumerations/suite-core-string-key';
5
- import { getSuiteCoreI18nEngine, SuiteCoreComponentId } from '../i18n-setup';
6
-
7
- export class TranslatableSuiteError extends Error {
8
- public readonly StringName: SuiteCoreStringKey;
9
- /**
10
- * @param string The translation key or raw string
11
- * @param otherVars Variables for interpolation
12
- * @param language Optional language override
13
- * @param options Error options
14
- * @param engine Optional i18n engine override (defaults to node-express-suite component)
15
- */
16
- constructor(
17
- string: SuiteCoreStringKey,
18
- otherVars?: Record<string, string | number>,
19
- language?: string,
20
- ) {
21
- const i18nEngine = getSuiteCoreI18nEngine();
22
- let translatedMessage: string;
23
- try {
24
- translatedMessage = i18nEngine.translate(
25
- SuiteCoreComponentId,
26
- string,
27
- otherVars,
28
- language,
29
- );
30
- } catch {
31
- translatedMessage = string;
32
- }
33
- super(translatedMessage);
34
- this.name = 'TranslatableSuiteError';
35
- this.StringName = string;
36
- }
37
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * Error thrown when a user cannot be found.
3
- */
4
- import { SuiteCoreStringKey } from '../enumerations';
5
- import { TranslatableSuiteHandleableError } from './translatable-suite-handleable';
6
-
7
- export class UserNotFoundError extends TranslatableSuiteHandleableError {
8
- constructor(language?: string, statusCode = 404) {
9
- super(SuiteCoreStringKey.Auth_UserNotFound, undefined, language, {
10
- statusCode,
11
- });
12
- this.name = 'UserNotFoundError';
13
- }
14
- }
@@ -1,23 +0,0 @@
1
- /**
2
- * Error thrown when neither username nor email is provided.
3
- */
4
- import { CoreLanguageCode } from '@digitaldefiance/i18n-lib';
5
- import { SuiteCoreStringKey } from '../enumerations';
6
- import { getSuiteCoreTranslation } from '../i18n-setup';
7
- import { GenericValidationError } from './generic-validation';
8
-
9
- export class UsernameOrEmailRequiredError extends GenericValidationError {
10
- constructor(language?: CoreLanguageCode, statusCode = 422) {
11
- super(
12
- getSuiteCoreTranslation(
13
- SuiteCoreStringKey.Validation_UsernameOrEmailRequired,
14
- undefined,
15
- language,
16
- ),
17
- {
18
- statusCode,
19
- },
20
- );
21
- this.name = 'UsernameOrEmailRequiredError';
22
- }
23
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * Error thrown when a username is already in use by another account.
3
- */
4
- import { SuiteCoreStringKey } from '../enumerations';
5
- import { TranslatableSuiteHandleableError } from './translatable-suite-handleable';
6
-
7
- export class UsernameInUseError extends TranslatableSuiteHandleableError {
8
- constructor(language?: string, statusCode = 422) {
9
- super(SuiteCoreStringKey.Validation_UsernameInUse, undefined, language, {
10
- statusCode,
11
- });
12
- this.name = 'UsernameInUseError';
13
- }
14
- }
package/src/i18n-setup.ts DELETED
@@ -1,150 +0,0 @@
1
- /**
2
- * Internationalization (i18n) setup and configuration for suite-core library.
3
- * Manages i18n engine initialization, component registration, and translation string loading
4
- * across 8 supported languages (en-US, en-GB, fr, de, es, zh-CN, ja, uk).
5
- */
6
- import {
7
- ComponentConfig,
8
- ComponentDefinition,
9
- CoreLanguageCode,
10
- createDefaultLanguages,
11
- EngineConfig,
12
- I18nEngine,
13
- LanguageCodes,
14
- } from '@digitaldefiance/i18n-lib';
15
- import { Role } from './enumerations/role';
16
- import { SuiteCoreStringKey } from './enumerations/suite-core-string-key';
17
- import { germanStrings } from './strings/de';
18
- import { britishEnglishStrings } from './strings/en-GB';
19
- import { americanEnglishStrings } from './strings/en-US';
20
- import { spanishStrings } from './strings/es';
21
- import { frenchStrings } from './strings/fr';
22
- import { japaneseStrings } from './strings/ja';
23
- import { ukrainianStrings } from './strings/uk';
24
- import { mandarinStrings } from './strings/zh-CN';
25
-
26
- export const SuiteCoreI18nEngineKey = 'default' as const;
27
- export const SuiteCoreComponentId = 'suite-core' as const;
28
- export const SuiteCoreComponent: ComponentDefinition<SuiteCoreStringKey> = {
29
- id: SuiteCoreComponentId,
30
- name: 'Suite Core Library Component',
31
- stringKeys: Object.values(SuiteCoreStringKey),
32
- };
33
- export const SuiteCoreComponentStrings: Record<
34
- string,
35
- Record<SuiteCoreStringKey, string>
36
- > = {
37
- [LanguageCodes.EN_US]: americanEnglishStrings,
38
- [LanguageCodes.EN_GB]: britishEnglishStrings,
39
- [LanguageCodes.FR]: frenchStrings,
40
- [LanguageCodes.DE]: germanStrings,
41
- [LanguageCodes.ES]: spanishStrings,
42
- [LanguageCodes.ZH_CN]: mandarinStrings,
43
- [LanguageCodes.JA]: japaneseStrings,
44
- [LanguageCodes.UK]: ukrainianStrings,
45
- };
46
-
47
- const roleTranslations: Record<CoreLanguageCode, Record<Role, string>> = {
48
- [LanguageCodes.EN_US]: {
49
- [Role.Admin]: 'Administrator',
50
- [Role.Member]: 'Member',
51
- [Role.System]: 'System',
52
- },
53
- [LanguageCodes.EN_GB]: {
54
- [Role.Admin]: 'Administrator',
55
- [Role.Member]: 'Member',
56
- [Role.System]: 'System',
57
- },
58
- [LanguageCodes.FR]: {
59
- [Role.Admin]: 'Administrateur',
60
- [Role.Member]: 'Membre',
61
- [Role.System]: 'Système',
62
- },
63
- [LanguageCodes.ES]: {
64
- [Role.Admin]: 'Administrador',
65
- [Role.Member]: 'Miembro',
66
- [Role.System]: 'Sistema',
67
- },
68
- [LanguageCodes.DE]: {
69
- [Role.Admin]: 'Administrator',
70
- [Role.Member]: 'Mitglied',
71
- [Role.System]: 'System',
72
- },
73
- [LanguageCodes.ZH_CN]: {
74
- [Role.Admin]: '管理员',
75
- [Role.Member]: '成员',
76
- [Role.System]: '系统',
77
- },
78
- [LanguageCodes.JA]: {
79
- [Role.Admin]: '管理者',
80
- [Role.Member]: 'メンバー',
81
- [Role.System]: 'システム',
82
- },
83
- [LanguageCodes.UK]: {
84
- [Role.Admin]: 'Адміністратор',
85
- [Role.Member]: 'Учасник',
86
- [Role.System]: 'Система',
87
- },
88
- };
89
-
90
- // Suite Core component config
91
- export function createSuiteCoreComponentConfig(): ComponentConfig {
92
- const SuiteCoreComponentConfig: ComponentConfig = {
93
- id: SuiteCoreComponentId,
94
- strings: SuiteCoreComponentStrings,
95
- aliases: ['SuiteCoreStringKey'],
96
- };
97
- return SuiteCoreComponentConfig;
98
- }
99
-
100
- let _engine: I18nEngine | undefined;
101
-
102
- export function getSuiteCoreI18nEngine(config?: EngineConfig): I18nEngine {
103
- if (!_engine || !I18nEngine.hasInstance(SuiteCoreI18nEngineKey)) {
104
- _engine = I18nEngine.registerIfNotExists(
105
- SuiteCoreI18nEngineKey,
106
- createDefaultLanguages(),
107
- { defaultLanguage: LanguageCodes.EN_US, ...config },
108
- );
109
-
110
- _engine.registerIfNotExists(createSuiteCoreComponentConfig());
111
- _engine.registerEnum(Role, roleTranslations, 'Role');
112
- }
113
- return _engine;
114
- }
115
-
116
- export function getSuiteCoreTranslation(
117
- key: SuiteCoreStringKey,
118
- variables?: Record<string, unknown>,
119
- language?: string,
120
- config?: EngineConfig,
121
- ): string {
122
- return getSuiteCoreI18nEngine(config).translate(
123
- SuiteCoreComponentId,
124
- key,
125
- variables,
126
- language,
127
- );
128
- }
129
-
130
- export function resetSuiteCoreI18nEngine(): void {
131
- I18nEngine.removeInstance(SuiteCoreI18nEngineKey);
132
- _engine = undefined;
133
- }
134
-
135
- export function initSuiteCoreI18nEngine(config?: EngineConfig): I18nEngine {
136
- return getSuiteCoreI18nEngine(config);
137
- }
138
-
139
- export function safeGetSuiteCoreTranslation(
140
- key: SuiteCoreStringKey,
141
- variables?: Record<string, unknown>,
142
- language?: string,
143
- config?: EngineConfig,
144
- ): string {
145
- try {
146
- return getSuiteCoreTranslation(key, variables, language, config);
147
- } catch {
148
- return key;
149
- }
150
- }
@@ -1,18 +0,0 @@
1
- /**
2
- * Backup code constants interface.
3
- */
4
- export interface IBackupCodeConstants {
5
- /**
6
- * How many backup codes to generate for users
7
- */
8
- Count: number;
9
- /**
10
- * Regex for the backup codes
11
- * 32 lowercase alphanumeric character string (a-z0-9)
12
- */
13
- NormalizedHexRegex: RegExp;
14
- /**
15
- * Regex for the display format of the backup codes
16
- */
17
- DisplayRegex: RegExp; // xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx
18
- }
@@ -1,9 +0,0 @@
1
- /**
2
- * Backup code structure with encryption and checksum data.
3
- */
4
- export interface IBackupCode {
5
- version: string;
6
- checksumSalt: string;
7
- checksum: string;
8
- encrypted: string;
9
- }
@@ -1,39 +0,0 @@
1
- import type { PlatformID } from '@digitaldefiance/ecies-lib';
2
- import { EmailTokenType } from '../../enumerations/email-token-type';
3
- import { IHasId } from '../has-id';
4
- import { IHasTimestamps } from '../has-timestamps';
5
-
6
- /**
7
- * Base interface for email token collection documents
8
- */
9
- export interface IEmailTokenBase<
10
- TID extends PlatformID,
11
- TDate extends Date | string,
12
- TEmailTokenType extends EmailTokenType | string,
13
- >
14
- extends IHasId<TID>, IHasTimestamps<TDate> {
15
- /**
16
- * The user ID associated with the token
17
- */
18
- userId: TID;
19
- /**
20
- * The type of token
21
- */
22
- type: TEmailTokenType;
23
- /**
24
- * The token value
25
- */
26
- token: string;
27
- /**
28
- * The email address the token was sent to
29
- */
30
- email: string;
31
- /**
32
- * The date the token was last sent
33
- */
34
- lastSent?: TDate;
35
- /**
36
- * The date the token expires
37
- */
38
- expiresAt: TDate;
39
- }
@@ -1,43 +0,0 @@
1
- import type { PlatformID } from '@digitaldefiance/ecies-lib';
2
- import { Role } from '../../enumerations/role';
3
- import { IHasId } from '../has-id';
4
- import { IHasSoftDelete } from '../has-soft-delete';
5
- import { IHasSoftDeleter } from '../has-soft-deleter';
6
- import { IHasTimestampOwners } from '../has-timestamp-owners';
7
- import { IHasTimestamps } from '../has-timestamps';
8
-
9
- export interface IRoleBase<
10
- TID extends PlatformID,
11
- TDate extends Date | string = Date,
12
- TRole extends Role | string = Role,
13
- >
14
- extends
15
- IHasId<TID>,
16
- IHasTimestamps<TDate>,
17
- IHasTimestampOwners<TID>,
18
- IHasSoftDelete<TDate>,
19
- IHasSoftDeleter<TID> {
20
- /**
21
- * The name of the role
22
- */
23
- name: TRole;
24
- /**
25
- * Whether the role is an admin
26
- */
27
- admin: boolean;
28
- /**
29
- * Whether the role is a site member
30
- * Must not specify admin or system
31
- */
32
- member: boolean;
33
- /**
34
- * Whether the role is a restricted child account
35
- * This prevents the account from certain actions
36
- * Must not specify admin, member,
37
- */
38
- child: boolean;
39
- /**
40
- * Whether the role is a system account
41
- */
42
- system: boolean;
43
- }
@@ -1,16 +0,0 @@
1
- /**
2
- * Token role base interface.
3
- * Extended role interface with translated name for JWT token payloads.
4
- */
5
- import type { PlatformID } from '@digitaldefiance/ecies-lib';
6
- import { IRoleBase } from './role';
7
-
8
- export interface ITokenRole<
9
- TID extends PlatformID,
10
- TDate extends Date | string = Date,
11
- > extends IRoleBase<TID, TDate> {
12
- /**
13
- * The translated name of the role
14
- */
15
- translatedName: string;
16
- }
@@ -1,19 +0,0 @@
1
- /**
2
- * Used direct login token base interface.
3
- * Tracks tokens that have been used for direct login to prevent replay attacks.
4
- */
5
- import type { PlatformID } from '@digitaldefiance/ecies-lib';
6
- import { IHasId } from '../has-id';
7
-
8
- export interface IUsedDirectLoginTokenBase<
9
- TID extends PlatformID,
10
- > extends IHasId<TID> {
11
- /**
12
- * The user ID associated with the token
13
- */
14
- userId: TID;
15
- /**
16
- * The token value that was used
17
- */
18
- token: string;
19
- }
@@ -1,26 +0,0 @@
1
- import type { PlatformID } from '@digitaldefiance/ecies-lib';
2
- import { IHasId } from '../has-id';
3
- import { IHasSoftDelete } from '../has-soft-delete';
4
- import { IHasSoftDeleter } from '../has-soft-deleter';
5
- import { IHasTimestampOwners } from '../has-timestamp-owners';
6
- import { IHasTimestamps } from '../has-timestamps';
7
-
8
- export interface IUserRoleBase<
9
- TID extends PlatformID,
10
- TDate extends Date | string,
11
- >
12
- extends
13
- IHasId<TID>,
14
- IHasTimestamps<TDate>,
15
- IHasTimestampOwners<TID>,
16
- IHasSoftDelete<TDate>,
17
- IHasSoftDeleter<TID> {
18
- /**
19
- * The user ID
20
- */
21
- userId: TID;
22
- /**
23
- * The role ID
24
- */
25
- roleId: TID;
26
- }
@@ -1,91 +0,0 @@
1
- import type { PlatformID } from '@digitaldefiance/ecies-lib';
2
- import { AccountStatus } from '../../enumerations/account-status';
3
- import { IBackupCode } from '../backup-code';
4
- import { IHasId } from '../has-id';
5
- import { IHasSoftDelete } from '../has-soft-delete';
6
- import { IHasSoftDeleter } from '../has-soft-deleter';
7
- import { IHasTimestampOwners } from '../has-timestamp-owners';
8
- import { IHasTimestamps } from '../has-timestamps';
9
-
10
- /**
11
- * Base interface for user collection documents
12
- */
13
- export interface IUserBase<
14
- TID extends PlatformID,
15
- TDate extends Date | string,
16
- TLanguage extends string,
17
- TAccountStatus extends AccountStatus | string,
18
- >
19
- extends
20
- IHasId<TID>,
21
- IHasTimestamps<TDate>,
22
- IHasTimestampOwners<TID>,
23
- IHasSoftDelete<TDate>,
24
- IHasSoftDeleter<TID> {
25
- /**
26
- * The username of the user
27
- */
28
- username: string;
29
- /**
30
- * The email address of the user
31
- */
32
- email: string;
33
- /**
34
- * The public key for the user
35
- */
36
- publicKey: string;
37
- /**
38
- * The currency preference of the user
39
- */
40
- currency: string;
41
- /**
42
- * The timezone of the user
43
- */
44
- timezone: string;
45
- /**
46
- * The language of the site for the user
47
- */
48
- siteLanguage: TLanguage;
49
- /**
50
- * Whether the user prefers dark mode
51
- */
52
- darkMode: boolean;
53
- /**
54
- * The date the user last logged in
55
- */
56
- lastLogin?: TDate;
57
- /**
58
- * Whether the user has verified their email address
59
- */
60
- emailVerified: boolean;
61
- /**
62
- * The status of the user's account, eg 'AdminLock'
63
- */
64
- accountStatus: TAccountStatus;
65
- /**
66
- * Reference to the mnemonic document
67
- */
68
- mnemonicId?: TID;
69
- /**
70
- * Whether the user has enabled direct challenge
71
- */
72
- directChallenge: boolean;
73
- /**
74
- * Password-wrapped ECIES private key
75
- */
76
- passwordWrappedPrivateKey?: {
77
- salt: string;
78
- iv: string;
79
- authTag: string;
80
- ciphertext: string;
81
- iterations: number;
82
- };
83
- /**
84
- * Array of backup codes to recover mnemonic/private key
85
- */
86
- backupCodes: Array<IBackupCode>;
87
- /**
88
- * Copy of the mnemonic encrypted with the user's public key
89
- */
90
- mnemonicRecovery: string;
91
- }
@@ -1,9 +0,0 @@
1
- /**
2
- * Combined role privileges across all role types.
3
- */
4
- export interface ICombinedRolePrivileges {
5
- admin: boolean;
6
- member: boolean;
7
- child: boolean;
8
- system: boolean;
9
- }
@@ -1,59 +0,0 @@
1
- /**
2
- * Extended constants interface with site-specific configuration and theme colors.
3
- */
4
- import { ICoreConstants } from './core-consts';
5
-
6
- export interface IConstants extends ICoreConstants {
7
- /**
8
- * The email of the administrator user/admin contact
9
- */
10
- AdministratorEmail: string;
11
- /**
12
- * The email of the test user.
13
- */
14
- MemberEmail: string;
15
- /**
16
- * The email of the system user.
17
- */
18
- SystemEmail: string;
19
- /**
20
- * The primary brand color (used for primary theme color)
21
- */
22
- logo_primary_color: string;
23
- /**
24
- * The primary text color (used for logo and text)
25
- */
26
- logo_primary_text: string;
27
- /**
28
- * The secondary text color (used for logo and accents)
29
- */
30
- logo_secondary_text: string;
31
- /**
32
- * The color used to indicate success states.
33
- */
34
- success_color: string;
35
- /**
36
- * The color used to indicate warning states.
37
- */
38
- warning_color: string;
39
- /**
40
- * The color used to indicate failure states.
41
- */
42
- failure_color: string;
43
- /**
44
- * The light variant of the primary text color.
45
- */
46
- primary_text_light: string;
47
- /**
48
- * The dark variant of the primary text color.
49
- */
50
- primary_text_dark: string;
51
- /**
52
- * The light variant of the secondary text color.
53
- */
54
- secondary_text_light: string;
55
- /**
56
- * The dark variant of the secondary text color.
57
- */
58
- secondary_text_dark: string;
59
- }