@digitaldefiance/suite-core-lib 3.6.5 → 3.6.7

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 (595) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +87 -43
  3. package/package.json +10 -6
  4. package/src/backup-code-string.ts +96 -0
  5. package/src/builders/{index.d.ts → index.ts} +1 -1
  6. package/src/builders/role-builder.ts +63 -0
  7. package/src/builders/user-builder.ts +72 -0
  8. package/src/constants.ts +220 -0
  9. package/src/core/{errors.d.ts → errors.ts} +4 -1
  10. package/src/core/{index.d.ts → index.ts} +1 -1
  11. package/src/core/result.ts +36 -0
  12. package/src/core/{types.d.ts → types.ts} +6 -1
  13. package/src/defaults.ts +110 -0
  14. package/src/enumerations/account-status.ts +17 -0
  15. package/src/enumerations/email-token-type.ts +24 -0
  16. package/src/enumerations/fec-error-type.ts +13 -0
  17. package/src/enumerations/{index.d.ts → index.ts} +1 -2
  18. package/src/enumerations/pbkdf2-error-type.ts +4 -0
  19. package/src/enumerations/role.ts +5 -0
  20. package/src/enumerations/suite-core-string-key.ts +495 -0
  21. package/src/errors/account-locked.ts +9 -0
  22. package/src/errors/account-status.ts +33 -0
  23. package/src/errors/admin-role-not-found.ts +10 -0
  24. package/src/errors/core-typed-handleable.ts +69 -0
  25. package/src/errors/direct-challenge-not-enabled.ts +12 -0
  26. package/src/errors/direct-token-used.ts +9 -0
  27. package/src/errors/email-in-use.ts +11 -0
  28. package/src/errors/email-token-expired.ts +12 -0
  29. package/src/errors/email-token-failed-to-send.ts +20 -0
  30. package/src/errors/email-token-sent-too-recently.ts +29 -0
  31. package/src/errors/email-token-used-or-invalid.ts +12 -0
  32. package/src/errors/email-verified.ts +11 -0
  33. package/src/errors/failed-to-use-direct-token.ts +9 -0
  34. package/src/errors/fec-error.ts +33 -0
  35. package/src/errors/generic-validation.ts +11 -0
  36. package/src/errors/{index.d.ts → index.ts} +0 -1
  37. package/src/errors/invalid-backup-code.ts +6 -0
  38. package/src/errors/invalid-challenge-response.ts +12 -0
  39. package/src/errors/invalid-challenge.ts +9 -0
  40. package/src/errors/invalid-credentials.ts +14 -0
  41. package/src/errors/invalid-email.ts +22 -0
  42. package/src/errors/invalid-expired-token.ts +11 -0
  43. package/src/errors/invalid-token.ts +13 -0
  44. package/src/errors/invalid-userid.ts +21 -0
  45. package/src/errors/invalid-username.ts +14 -0
  46. package/src/errors/last-admin-error.ts +12 -0
  47. package/src/errors/login-challenge-expired.ts +12 -0
  48. package/src/errors/member-role-not-found.ts +10 -0
  49. package/src/errors/password-login-not-enabled.ts +12 -0
  50. package/src/errors/password-login-not-setup.ts +12 -0
  51. package/src/errors/pbkdf2-error.ts +19 -0
  52. package/src/errors/pending-email-verification.ts +9 -0
  53. package/src/errors/private-key-required.ts +13 -0
  54. package/src/errors/system-role-not-found.ts +10 -0
  55. package/src/errors/token-not-found.ts +26 -0
  56. package/src/errors/translatable-suite-handleable.ts +27 -0
  57. package/src/errors/translatable-suite.ts +34 -0
  58. package/src/errors/user-not-found.ts +14 -0
  59. package/src/errors/username-email-required.ts +20 -0
  60. package/src/errors/username-in-use.ts +14 -0
  61. package/src/i18n-setup.ts +141 -0
  62. package/src/{index.d.ts → index.ts} +0 -1
  63. package/src/interfaces/backup-code-consts.ts +15 -0
  64. package/src/interfaces/backup-code.ts +6 -0
  65. package/src/interfaces/bases/email-token.ts +38 -0
  66. package/src/interfaces/bases/{index.d.ts → index.ts} +0 -1
  67. package/src/interfaces/bases/{mnemonic.d.ts → mnemonic.ts} +5 -5
  68. package/src/interfaces/bases/role.ts +40 -0
  69. package/src/interfaces/bases/token-role.ts +9 -0
  70. package/src/interfaces/bases/{used-direct-login-token.d.ts → used-direct-login-token.ts} +3 -3
  71. package/src/interfaces/bases/user-role.ts +21 -0
  72. package/src/interfaces/bases/user.ts +88 -0
  73. package/src/interfaces/combined-role-privileges.ts +6 -0
  74. package/src/interfaces/constants.ts +56 -0
  75. package/src/interfaces/core-consts.ts +130 -0
  76. package/src/interfaces/deep-partial.ts +3 -0
  77. package/src/interfaces/dto/{email-token.d.ts → email-token.ts} +1 -1
  78. package/src/interfaces/dto/{index.d.ts → index.ts} +1 -2
  79. package/src/interfaces/dto/{mnemonic.d.ts → mnemonic.ts} +1 -1
  80. package/src/interfaces/dto/request-user.ts +19 -0
  81. package/src/interfaces/dto/{role.d.ts → role.ts} +1 -1
  82. package/src/interfaces/dto/{token-role.d.ts → token-role.ts} +9 -3
  83. package/src/interfaces/dto/{user-role.d.ts → user-role.ts} +1 -1
  84. package/src/interfaces/dto/{user-settings.d.ts → user-settings.ts} +1 -2
  85. package/src/interfaces/dto/{user.d.ts → user.ts} +1 -1
  86. package/src/interfaces/failable-result.ts +6 -0
  87. package/src/interfaces/frontend-objects/email-token.ts +8 -0
  88. package/src/interfaces/frontend-objects/{index.d.ts → index.ts} +1 -2
  89. package/src/interfaces/frontend-objects/request-user.ts +17 -0
  90. package/src/interfaces/frontend-objects/{role.d.ts → role.ts} +1 -1
  91. package/src/interfaces/frontend-objects/{user-role.d.ts → user-role.ts} +1 -1
  92. package/src/interfaces/frontend-objects/user.ts +9 -0
  93. package/src/interfaces/has-creation.ts +6 -0
  94. package/src/interfaces/has-creator.ts +6 -0
  95. package/src/interfaces/has-id.ts +3 -0
  96. package/src/interfaces/has-soft-delete.ts +6 -0
  97. package/src/interfaces/has-soft-deleter.ts +6 -0
  98. package/src/interfaces/has-timestamp-owners.ts +6 -0
  99. package/src/interfaces/has-timestamps.ts +7 -0
  100. package/src/interfaces/has-updater.ts +6 -0
  101. package/src/interfaces/has-updates.ts +3 -0
  102. package/src/interfaces/{index.d.ts → index.ts} +1 -3
  103. package/src/interfaces/success-message.ts +4 -0
  104. package/src/interfaces/{token-user.d.ts → token-user.ts} +3 -3
  105. package/src/interfaces/{user-settings.d.ts → user-settings.ts} +2 -2
  106. package/src/lib/flags.ts +286 -0
  107. package/src/lib/formatters.ts +28 -0
  108. package/src/lib/hydrate-dehydrate.ts +27 -0
  109. package/src/lib/{index.d.ts → index.ts} +2 -2
  110. package/src/lib/validators-with-constants.ts +72 -0
  111. package/src/lib/validators.ts +72 -0
  112. package/src/local-storage-manager.ts +69 -0
  113. package/src/strings/de.ts +689 -0
  114. package/src/strings/en-GB.ts +626 -0
  115. package/src/strings/en-US.ts +628 -0
  116. package/src/strings/es.ts +688 -0
  117. package/src/strings/fr.ts +685 -0
  118. package/src/strings/ja.ts +654 -0
  119. package/src/strings/uk.ts +667 -0
  120. package/src/strings/zh-CN.ts +566 -0
  121. package/src/backup-code-string.d.ts +0 -29
  122. package/src/backup-code-string.d.ts.map +0 -1
  123. package/src/backup-code-string.js +0 -81
  124. package/src/backup-code-string.js.map +0 -1
  125. package/src/builders/index.d.ts.map +0 -1
  126. package/src/builders/index.js +0 -9
  127. package/src/builders/index.js.map +0 -1
  128. package/src/builders/role-builder.d.ts +0 -19
  129. package/src/builders/role-builder.d.ts.map +0 -1
  130. package/src/builders/role-builder.js +0 -57
  131. package/src/builders/role-builder.js.map +0 -1
  132. package/src/builders/user-builder.d.ts +0 -23
  133. package/src/builders/user-builder.d.ts.map +0 -1
  134. package/src/builders/user-builder.js +0 -63
  135. package/src/builders/user-builder.js.map +0 -1
  136. package/src/constants.d.ts +0 -7
  137. package/src/constants.d.ts.map +0 -1
  138. package/src/constants.js +0 -209
  139. package/src/constants.js.map +0 -1
  140. package/src/core/errors.d.ts.map +0 -1
  141. package/src/core/errors.js +0 -29
  142. package/src/core/errors.js.map +0 -1
  143. package/src/core/index.d.ts.map +0 -1
  144. package/src/core/index.js +0 -10
  145. package/src/core/index.js.map +0 -1
  146. package/src/core/result.d.ts +0 -34
  147. package/src/core/result.d.ts.map +0 -1
  148. package/src/core/result.js +0 -35
  149. package/src/core/result.js.map +0 -1
  150. package/src/core/types.d.ts.map +0 -1
  151. package/src/core/types.js +0 -6
  152. package/src/core/types.js.map +0 -1
  153. package/src/defaults.d.ts +0 -7
  154. package/src/defaults.d.ts.map +0 -1
  155. package/src/defaults.js +0 -66
  156. package/src/defaults.js.map +0 -1
  157. package/src/enumerations/account-status.d.ts +0 -18
  158. package/src/enumerations/account-status.d.ts.map +0 -1
  159. package/src/enumerations/account-status.js +0 -22
  160. package/src/enumerations/account-status.js.map +0 -1
  161. package/src/enumerations/email-token-type.d.ts +0 -25
  162. package/src/enumerations/email-token-type.d.ts.map +0 -1
  163. package/src/enumerations/email-token-type.js +0 -29
  164. package/src/enumerations/email-token-type.js.map +0 -1
  165. package/src/enumerations/fec-error-type.d.ts +0 -14
  166. package/src/enumerations/fec-error-type.d.ts.map +0 -1
  167. package/src/enumerations/fec-error-type.js +0 -18
  168. package/src/enumerations/fec-error-type.js.map +0 -1
  169. package/src/enumerations/index.d.ts.map +0 -1
  170. package/src/enumerations/index.js +0 -10
  171. package/src/enumerations/index.js.map +0 -1
  172. package/src/enumerations/pbkdf2-error-type.d.ts +0 -5
  173. package/src/enumerations/pbkdf2-error-type.d.ts.map +0 -1
  174. package/src/enumerations/pbkdf2-error-type.js +0 -9
  175. package/src/enumerations/pbkdf2-error-type.js.map +0 -1
  176. package/src/enumerations/role.d.ts +0 -6
  177. package/src/enumerations/role.d.ts.map +0 -1
  178. package/src/enumerations/role.js +0 -10
  179. package/src/enumerations/role.js.map +0 -1
  180. package/src/enumerations/suite-core-string-key.d.ts +0 -482
  181. package/src/enumerations/suite-core-string-key.d.ts.map +0 -1
  182. package/src/enumerations/suite-core-string-key.js +0 -493
  183. package/src/enumerations/suite-core-string-key.js.map +0 -1
  184. package/src/errors/account-locked.d.ts +0 -5
  185. package/src/errors/account-locked.d.ts.map +0 -1
  186. package/src/errors/account-locked.js +0 -13
  187. package/src/errors/account-locked.js.map +0 -1
  188. package/src/errors/account-status.d.ts +0 -7
  189. package/src/errors/account-status.d.ts.map +0 -1
  190. package/src/errors/account-status.js +0 -31
  191. package/src/errors/account-status.js.map +0 -1
  192. package/src/errors/admin-role-not-found.d.ts +0 -6
  193. package/src/errors/admin-role-not-found.d.ts.map +0 -1
  194. package/src/errors/admin-role-not-found.js +0 -13
  195. package/src/errors/admin-role-not-found.js.map +0 -1
  196. package/src/errors/core-typed-handleable.d.ts +0 -12
  197. package/src/errors/core-typed-handleable.d.ts.map +0 -1
  198. package/src/errors/core-typed-handleable.js +0 -51
  199. package/src/errors/core-typed-handleable.js.map +0 -1
  200. package/src/errors/direct-challenge-not-enabled.d.ts +0 -5
  201. package/src/errors/direct-challenge-not-enabled.d.ts.map +0 -1
  202. package/src/errors/direct-challenge-not-enabled.js +0 -16
  203. package/src/errors/direct-challenge-not-enabled.js.map +0 -1
  204. package/src/errors/direct-token-used.d.ts +0 -5
  205. package/src/errors/direct-token-used.d.ts.map +0 -1
  206. package/src/errors/direct-token-used.js +0 -13
  207. package/src/errors/direct-token-used.js.map +0 -1
  208. package/src/errors/email-in-use.d.ts +0 -5
  209. package/src/errors/email-in-use.d.ts.map +0 -1
  210. package/src/errors/email-in-use.js +0 -15
  211. package/src/errors/email-in-use.js.map +0 -1
  212. package/src/errors/email-token-expired.d.ts +0 -5
  213. package/src/errors/email-token-expired.d.ts.map +0 -1
  214. package/src/errors/email-token-expired.js +0 -15
  215. package/src/errors/email-token-expired.js.map +0 -1
  216. package/src/errors/email-token-failed-to-send.d.ts +0 -6
  217. package/src/errors/email-token-failed-to-send.d.ts.map +0 -1
  218. package/src/errors/email-token-failed-to-send.js +0 -22
  219. package/src/errors/email-token-failed-to-send.js.map +0 -1
  220. package/src/errors/email-token-sent-too-recently.d.ts +0 -7
  221. package/src/errors/email-token-sent-too-recently.d.ts.map +0 -1
  222. package/src/errors/email-token-sent-too-recently.js +0 -21
  223. package/src/errors/email-token-sent-too-recently.js.map +0 -1
  224. package/src/errors/email-token-used-or-invalid.d.ts +0 -5
  225. package/src/errors/email-token-used-or-invalid.d.ts.map +0 -1
  226. package/src/errors/email-token-used-or-invalid.js +0 -15
  227. package/src/errors/email-token-used-or-invalid.js.map +0 -1
  228. package/src/errors/email-verified.d.ts +0 -5
  229. package/src/errors/email-verified.d.ts.map +0 -1
  230. package/src/errors/email-verified.js +0 -15
  231. package/src/errors/email-verified.js.map +0 -1
  232. package/src/errors/failed-to-use-direct-token.d.ts +0 -5
  233. package/src/errors/failed-to-use-direct-token.d.ts.map +0 -1
  234. package/src/errors/failed-to-use-direct-token.js +0 -13
  235. package/src/errors/failed-to-use-direct-token.js.map +0 -1
  236. package/src/errors/fec-error.d.ts +0 -6
  237. package/src/errors/fec-error.d.ts.map +0 -1
  238. package/src/errors/fec-error.js +0 -26
  239. package/src/errors/fec-error.js.map +0 -1
  240. package/src/errors/generic-validation.d.ts +0 -5
  241. package/src/errors/generic-validation.d.ts.map +0 -1
  242. package/src/errors/generic-validation.js +0 -12
  243. package/src/errors/generic-validation.js.map +0 -1
  244. package/src/errors/index.d.ts.map +0 -1
  245. package/src/errors/index.js +0 -43
  246. package/src/errors/index.js.map +0 -1
  247. package/src/errors/invalid-backup-code.d.ts +0 -4
  248. package/src/errors/invalid-backup-code.d.ts.map +0 -1
  249. package/src/errors/invalid-backup-code.js +0 -11
  250. package/src/errors/invalid-backup-code.js.map +0 -1
  251. package/src/errors/invalid-challenge-response.d.ts +0 -5
  252. package/src/errors/invalid-challenge-response.d.ts.map +0 -1
  253. package/src/errors/invalid-challenge-response.js +0 -16
  254. package/src/errors/invalid-challenge-response.js.map +0 -1
  255. package/src/errors/invalid-challenge.d.ts +0 -5
  256. package/src/errors/invalid-challenge.d.ts.map +0 -1
  257. package/src/errors/invalid-challenge.js +0 -13
  258. package/src/errors/invalid-challenge.js.map +0 -1
  259. package/src/errors/invalid-credentials.d.ts +0 -5
  260. package/src/errors/invalid-credentials.d.ts.map +0 -1
  261. package/src/errors/invalid-credentials.js +0 -15
  262. package/src/errors/invalid-credentials.js.map +0 -1
  263. package/src/errors/invalid-email.d.ts +0 -8
  264. package/src/errors/invalid-email.d.ts.map +0 -1
  265. package/src/errors/invalid-email.js +0 -25
  266. package/src/errors/invalid-email.js.map +0 -1
  267. package/src/errors/invalid-expired-token.d.ts +0 -7
  268. package/src/errors/invalid-expired-token.d.ts.map +0 -1
  269. package/src/errors/invalid-expired-token.js +0 -13
  270. package/src/errors/invalid-expired-token.js.map +0 -1
  271. package/src/errors/invalid-token.d.ts +0 -5
  272. package/src/errors/invalid-token.d.ts.map +0 -1
  273. package/src/errors/invalid-token.js +0 -16
  274. package/src/errors/invalid-token.js.map +0 -1
  275. package/src/errors/invalid-userid.d.ts +0 -6
  276. package/src/errors/invalid-userid.d.ts.map +0 -1
  277. package/src/errors/invalid-userid.js +0 -18
  278. package/src/errors/invalid-userid.js.map +0 -1
  279. package/src/errors/invalid-username.d.ts +0 -5
  280. package/src/errors/invalid-username.d.ts.map +0 -1
  281. package/src/errors/invalid-username.js +0 -13
  282. package/src/errors/invalid-username.js.map +0 -1
  283. package/src/errors/last-admin-error.d.ts +0 -6
  284. package/src/errors/last-admin-error.d.ts.map +0 -1
  285. package/src/errors/last-admin-error.js +0 -15
  286. package/src/errors/last-admin-error.js.map +0 -1
  287. package/src/errors/login-challenge-expired.d.ts +0 -5
  288. package/src/errors/login-challenge-expired.d.ts.map +0 -1
  289. package/src/errors/login-challenge-expired.js +0 -16
  290. package/src/errors/login-challenge-expired.js.map +0 -1
  291. package/src/errors/member-role-not-found.d.ts +0 -6
  292. package/src/errors/member-role-not-found.d.ts.map +0 -1
  293. package/src/errors/member-role-not-found.js +0 -13
  294. package/src/errors/member-role-not-found.js.map +0 -1
  295. package/src/errors/password-login-not-enabled.d.ts +0 -5
  296. package/src/errors/password-login-not-enabled.d.ts.map +0 -1
  297. package/src/errors/password-login-not-enabled.js +0 -16
  298. package/src/errors/password-login-not-enabled.js.map +0 -1
  299. package/src/errors/password-login-not-setup.d.ts +0 -5
  300. package/src/errors/password-login-not-setup.d.ts.map +0 -1
  301. package/src/errors/password-login-not-setup.js +0 -16
  302. package/src/errors/password-login-not-setup.js.map +0 -1
  303. package/src/errors/pbkdf2-error.d.ts +0 -7
  304. package/src/errors/pbkdf2-error.d.ts.map +0 -1
  305. package/src/errors/pbkdf2-error.js +0 -20
  306. package/src/errors/pbkdf2-error.js.map +0 -1
  307. package/src/errors/pending-email-verification.d.ts +0 -5
  308. package/src/errors/pending-email-verification.d.ts.map +0 -1
  309. package/src/errors/pending-email-verification.js +0 -13
  310. package/src/errors/pending-email-verification.js.map +0 -1
  311. package/src/errors/private-key-required.d.ts +0 -5
  312. package/src/errors/private-key-required.d.ts.map +0 -1
  313. package/src/errors/private-key-required.js +0 -13
  314. package/src/errors/private-key-required.js.map +0 -1
  315. package/src/errors/system-role-not-found.d.ts +0 -6
  316. package/src/errors/system-role-not-found.d.ts.map +0 -1
  317. package/src/errors/system-role-not-found.js +0 -13
  318. package/src/errors/system-role-not-found.js.map +0 -1
  319. package/src/errors/token-not-found.d.ts +0 -7
  320. package/src/errors/token-not-found.d.ts.map +0 -1
  321. package/src/errors/token-not-found.js +0 -19
  322. package/src/errors/token-not-found.js.map +0 -1
  323. package/src/errors/translatable-suite-handleable.d.ts +0 -10
  324. package/src/errors/translatable-suite-handleable.d.ts.map +0 -1
  325. package/src/errors/translatable-suite-handleable.js +0 -15
  326. package/src/errors/translatable-suite-handleable.js.map +0 -1
  327. package/src/errors/translatable-suite.d.ts +0 -13
  328. package/src/errors/translatable-suite.d.ts.map +0 -1
  329. package/src/errors/translatable-suite.js +0 -29
  330. package/src/errors/translatable-suite.js.map +0 -1
  331. package/src/errors/user-not-found.d.ts +0 -5
  332. package/src/errors/user-not-found.d.ts.map +0 -1
  333. package/src/errors/user-not-found.js +0 -13
  334. package/src/errors/user-not-found.js.map +0 -1
  335. package/src/errors/username-email-required.d.ts +0 -6
  336. package/src/errors/username-email-required.d.ts.map +0 -1
  337. package/src/errors/username-email-required.js +0 -16
  338. package/src/errors/username-email-required.js.map +0 -1
  339. package/src/errors/username-in-use.d.ts +0 -5
  340. package/src/errors/username-in-use.d.ts.map +0 -1
  341. package/src/errors/username-in-use.js +0 -13
  342. package/src/errors/username-in-use.js.map +0 -1
  343. package/src/i18n-setup.d.ts +0 -13
  344. package/src/i18n-setup.d.ts.map +0 -1
  345. package/src/i18n-setup.js +0 -116
  346. package/src/i18n-setup.js.map +0 -1
  347. package/src/index.d.ts.map +0 -1
  348. package/src/index.js +0 -15
  349. package/src/index.js.map +0 -1
  350. package/src/interfaces/backup-code-consts.d.ts +0 -16
  351. package/src/interfaces/backup-code-consts.d.ts.map +0 -1
  352. package/src/interfaces/backup-code-consts.js +0 -3
  353. package/src/interfaces/backup-code-consts.js.map +0 -1
  354. package/src/interfaces/backup-code.d.ts +0 -7
  355. package/src/interfaces/backup-code.d.ts.map +0 -1
  356. package/src/interfaces/backup-code.js +0 -3
  357. package/src/interfaces/backup-code.js.map +0 -1
  358. package/src/interfaces/bases/email-token.d.ts +0 -33
  359. package/src/interfaces/bases/email-token.d.ts.map +0 -1
  360. package/src/interfaces/bases/email-token.js +0 -3
  361. package/src/interfaces/bases/email-token.js.map +0 -1
  362. package/src/interfaces/bases/index.d.ts.map +0 -1
  363. package/src/interfaces/bases/index.js +0 -11
  364. package/src/interfaces/bases/index.js.map +0 -1
  365. package/src/interfaces/bases/mnemonic.d.ts.map +0 -1
  366. package/src/interfaces/bases/mnemonic.js +0 -3
  367. package/src/interfaces/bases/mnemonic.js.map +0 -1
  368. package/src/interfaces/bases/role.d.ts +0 -32
  369. package/src/interfaces/bases/role.d.ts.map +0 -1
  370. package/src/interfaces/bases/role.js +0 -3
  371. package/src/interfaces/bases/role.js.map +0 -1
  372. package/src/interfaces/bases/token-role.d.ts +0 -8
  373. package/src/interfaces/bases/token-role.d.ts.map +0 -1
  374. package/src/interfaces/bases/token-role.js +0 -3
  375. package/src/interfaces/bases/token-role.js.map +0 -1
  376. package/src/interfaces/bases/used-direct-login-token.d.ts.map +0 -1
  377. package/src/interfaces/bases/used-direct-login-token.js +0 -3
  378. package/src/interfaces/bases/used-direct-login-token.js.map +0 -1
  379. package/src/interfaces/bases/user-role.d.ts +0 -16
  380. package/src/interfaces/bases/user-role.d.ts.map +0 -1
  381. package/src/interfaces/bases/user-role.js +0 -3
  382. package/src/interfaces/bases/user-role.js.map +0 -1
  383. package/src/interfaces/bases/user.d.ts +0 -79
  384. package/src/interfaces/bases/user.d.ts.map +0 -1
  385. package/src/interfaces/bases/user.js +0 -3
  386. package/src/interfaces/bases/user.js.map +0 -1
  387. package/src/interfaces/combined-role-privileges.d.ts +0 -7
  388. package/src/interfaces/combined-role-privileges.d.ts.map +0 -1
  389. package/src/interfaces/combined-role-privileges.js +0 -3
  390. package/src/interfaces/combined-role-privileges.js.map +0 -1
  391. package/src/interfaces/constants.d.ts +0 -56
  392. package/src/interfaces/constants.d.ts.map +0 -1
  393. package/src/interfaces/constants.js +0 -3
  394. package/src/interfaces/constants.js.map +0 -1
  395. package/src/interfaces/core-consts.d.ts +0 -130
  396. package/src/interfaces/core-consts.d.ts.map +0 -1
  397. package/src/interfaces/core-consts.js +0 -3
  398. package/src/interfaces/core-consts.js.map +0 -1
  399. package/src/interfaces/deep-partial.d.ts +0 -4
  400. package/src/interfaces/deep-partial.d.ts.map +0 -1
  401. package/src/interfaces/deep-partial.js +0 -3
  402. package/src/interfaces/deep-partial.js.map +0 -1
  403. package/src/interfaces/dto/email-token.d.ts.map +0 -1
  404. package/src/interfaces/dto/email-token.js +0 -3
  405. package/src/interfaces/dto/email-token.js.map +0 -1
  406. package/src/interfaces/dto/index.d.ts.map +0 -1
  407. package/src/interfaces/dto/index.js +0 -12
  408. package/src/interfaces/dto/index.js.map +0 -1
  409. package/src/interfaces/dto/mnemonic.d.ts.map +0 -1
  410. package/src/interfaces/dto/mnemonic.js +0 -3
  411. package/src/interfaces/dto/mnemonic.js.map +0 -1
  412. package/src/interfaces/dto/request-user.d.ts +0 -17
  413. package/src/interfaces/dto/request-user.d.ts.map +0 -1
  414. package/src/interfaces/dto/request-user.js +0 -3
  415. package/src/interfaces/dto/request-user.js.map +0 -1
  416. package/src/interfaces/dto/role.d.ts.map +0 -1
  417. package/src/interfaces/dto/role.js +0 -3
  418. package/src/interfaces/dto/role.js.map +0 -1
  419. package/src/interfaces/dto/token-role.d.ts.map +0 -1
  420. package/src/interfaces/dto/token-role.js +0 -3
  421. package/src/interfaces/dto/token-role.js.map +0 -1
  422. package/src/interfaces/dto/user-role.d.ts.map +0 -1
  423. package/src/interfaces/dto/user-role.js +0 -3
  424. package/src/interfaces/dto/user-role.js.map +0 -1
  425. package/src/interfaces/dto/user-settings.d.ts.map +0 -1
  426. package/src/interfaces/dto/user-settings.js +0 -3
  427. package/src/interfaces/dto/user-settings.js.map +0 -1
  428. package/src/interfaces/dto/user.d.ts.map +0 -1
  429. package/src/interfaces/dto/user.js +0 -3
  430. package/src/interfaces/dto/user.js.map +0 -1
  431. package/src/interfaces/failable-result.d.ts +0 -7
  432. package/src/interfaces/failable-result.d.ts.map +0 -1
  433. package/src/interfaces/failable-result.js +0 -3
  434. package/src/interfaces/failable-result.js.map +0 -1
  435. package/src/interfaces/frontend-objects/email-token.d.ts +0 -4
  436. package/src/interfaces/frontend-objects/email-token.d.ts.map +0 -1
  437. package/src/interfaces/frontend-objects/email-token.js +0 -3
  438. package/src/interfaces/frontend-objects/email-token.js.map +0 -1
  439. package/src/interfaces/frontend-objects/index.d.ts.map +0 -1
  440. package/src/interfaces/frontend-objects/index.js +0 -9
  441. package/src/interfaces/frontend-objects/index.js.map +0 -1
  442. package/src/interfaces/frontend-objects/request-user.d.ts +0 -17
  443. package/src/interfaces/frontend-objects/request-user.d.ts.map +0 -1
  444. package/src/interfaces/frontend-objects/request-user.js +0 -3
  445. package/src/interfaces/frontend-objects/request-user.js.map +0 -1
  446. package/src/interfaces/frontend-objects/role.d.ts.map +0 -1
  447. package/src/interfaces/frontend-objects/role.js +0 -3
  448. package/src/interfaces/frontend-objects/role.js.map +0 -1
  449. package/src/interfaces/frontend-objects/user-role.d.ts.map +0 -1
  450. package/src/interfaces/frontend-objects/user-role.js +0 -3
  451. package/src/interfaces/frontend-objects/user-role.js.map +0 -1
  452. package/src/interfaces/frontend-objects/user.d.ts +0 -4
  453. package/src/interfaces/frontend-objects/user.d.ts.map +0 -1
  454. package/src/interfaces/frontend-objects/user.js +0 -3
  455. package/src/interfaces/frontend-objects/user.js.map +0 -1
  456. package/src/interfaces/has-creation.d.ts +0 -7
  457. package/src/interfaces/has-creation.d.ts.map +0 -1
  458. package/src/interfaces/has-creation.js +0 -3
  459. package/src/interfaces/has-creation.js.map +0 -1
  460. package/src/interfaces/has-creator.d.ts +0 -7
  461. package/src/interfaces/has-creator.d.ts.map +0 -1
  462. package/src/interfaces/has-creator.js +0 -3
  463. package/src/interfaces/has-creator.js.map +0 -1
  464. package/src/interfaces/has-id.d.ts +0 -4
  465. package/src/interfaces/has-id.d.ts.map +0 -1
  466. package/src/interfaces/has-id.js +0 -3
  467. package/src/interfaces/has-id.js.map +0 -1
  468. package/src/interfaces/has-soft-delete.d.ts +0 -7
  469. package/src/interfaces/has-soft-delete.d.ts.map +0 -1
  470. package/src/interfaces/has-soft-delete.js +0 -3
  471. package/src/interfaces/has-soft-delete.js.map +0 -1
  472. package/src/interfaces/has-soft-deleter.d.ts +0 -7
  473. package/src/interfaces/has-soft-deleter.d.ts.map +0 -1
  474. package/src/interfaces/has-soft-deleter.js +0 -3
  475. package/src/interfaces/has-soft-deleter.js.map +0 -1
  476. package/src/interfaces/has-timestamp-owners.d.ts +0 -5
  477. package/src/interfaces/has-timestamp-owners.d.ts.map +0 -1
  478. package/src/interfaces/has-timestamp-owners.js +0 -3
  479. package/src/interfaces/has-timestamp-owners.js.map +0 -1
  480. package/src/interfaces/has-timestamps.d.ts +0 -6
  481. package/src/interfaces/has-timestamps.d.ts.map +0 -1
  482. package/src/interfaces/has-timestamps.js +0 -3
  483. package/src/interfaces/has-timestamps.js.map +0 -1
  484. package/src/interfaces/has-updater.d.ts +0 -7
  485. package/src/interfaces/has-updater.d.ts.map +0 -1
  486. package/src/interfaces/has-updater.js +0 -3
  487. package/src/interfaces/has-updater.js.map +0 -1
  488. package/src/interfaces/has-updates.d.ts +0 -4
  489. package/src/interfaces/has-updates.d.ts.map +0 -1
  490. package/src/interfaces/has-updates.js +0 -3
  491. package/src/interfaces/has-updates.js.map +0 -1
  492. package/src/interfaces/index.d.ts.map +0 -1
  493. package/src/interfaces/index.js +0 -27
  494. package/src/interfaces/index.js.map +0 -1
  495. package/src/interfaces/models/email-token.d.ts +0 -6
  496. package/src/interfaces/models/email-token.d.ts.map +0 -1
  497. package/src/interfaces/models/email-token.js +0 -3
  498. package/src/interfaces/models/email-token.js.map +0 -1
  499. package/src/interfaces/models/index.d.ts +0 -9
  500. package/src/interfaces/models/index.d.ts.map +0 -1
  501. package/src/interfaces/models/index.js +0 -12
  502. package/src/interfaces/models/index.js.map +0 -1
  503. package/src/interfaces/models/mnemonic.d.ts +0 -6
  504. package/src/interfaces/models/mnemonic.d.ts.map +0 -1
  505. package/src/interfaces/models/mnemonic.js +0 -3
  506. package/src/interfaces/models/mnemonic.js.map +0 -1
  507. package/src/interfaces/models/role.d.ts +0 -6
  508. package/src/interfaces/models/role.d.ts.map +0 -1
  509. package/src/interfaces/models/role.js +0 -3
  510. package/src/interfaces/models/role.js.map +0 -1
  511. package/src/interfaces/models/token-role.d.ts +0 -11
  512. package/src/interfaces/models/token-role.d.ts.map +0 -1
  513. package/src/interfaces/models/token-role.js +0 -3
  514. package/src/interfaces/models/token-role.js.map +0 -1
  515. package/src/interfaces/models/used-direct-login-token.d.ts +0 -11
  516. package/src/interfaces/models/used-direct-login-token.d.ts.map +0 -1
  517. package/src/interfaces/models/used-direct-login-token.js +0 -3
  518. package/src/interfaces/models/used-direct-login-token.js.map +0 -1
  519. package/src/interfaces/models/user-role.d.ts +0 -11
  520. package/src/interfaces/models/user-role.d.ts.map +0 -1
  521. package/src/interfaces/models/user-role.js +0 -3
  522. package/src/interfaces/models/user-role.js.map +0 -1
  523. package/src/interfaces/models/user.d.ts +0 -12
  524. package/src/interfaces/models/user.d.ts.map +0 -1
  525. package/src/interfaces/models/user.js +0 -3
  526. package/src/interfaces/models/user.js.map +0 -1
  527. package/src/interfaces/success-message.d.ts +0 -5
  528. package/src/interfaces/success-message.d.ts.map +0 -1
  529. package/src/interfaces/success-message.js +0 -3
  530. package/src/interfaces/success-message.js.map +0 -1
  531. package/src/interfaces/token-user.d.ts.map +0 -1
  532. package/src/interfaces/token-user.js +0 -3
  533. package/src/interfaces/token-user.js.map +0 -1
  534. package/src/interfaces/user-settings.d.ts.map +0 -1
  535. package/src/interfaces/user-settings.js +0 -3
  536. package/src/interfaces/user-settings.js.map +0 -1
  537. package/src/lib/flags.d.ts +0 -10
  538. package/src/lib/flags.d.ts.map +0 -1
  539. package/src/lib/flags.js +0 -288
  540. package/src/lib/flags.js.map +0 -1
  541. package/src/lib/formatters.d.ts +0 -16
  542. package/src/lib/formatters.d.ts.map +0 -1
  543. package/src/lib/formatters.js +0 -29
  544. package/src/lib/formatters.js.map +0 -1
  545. package/src/lib/hydrate-dehydrate.d.ts +0 -4
  546. package/src/lib/hydrate-dehydrate.d.ts.map +0 -1
  547. package/src/lib/hydrate-dehydrate.js +0 -27
  548. package/src/lib/hydrate-dehydrate.js.map +0 -1
  549. package/src/lib/index.d.ts.map +0 -1
  550. package/src/lib/index.js +0 -12
  551. package/src/lib/index.js.map +0 -1
  552. package/src/lib/validators-with-constants.d.ts +0 -73
  553. package/src/lib/validators-with-constants.d.ts.map +0 -1
  554. package/src/lib/validators-with-constants.js +0 -64
  555. package/src/lib/validators-with-constants.js.map +0 -1
  556. package/src/lib/validators.d.ts +0 -37
  557. package/src/lib/validators.d.ts.map +0 -1
  558. package/src/lib/validators.js +0 -74
  559. package/src/lib/validators.js.map +0 -1
  560. package/src/local-storage-manager.d.ts +0 -22
  561. package/src/local-storage-manager.d.ts.map +0 -1
  562. package/src/local-storage-manager.js +0 -74
  563. package/src/local-storage-manager.js.map +0 -1
  564. package/src/strings/de.d.ts +0 -3
  565. package/src/strings/de.d.ts.map +0 -1
  566. package/src/strings/de.js +0 -486
  567. package/src/strings/de.js.map +0 -1
  568. package/src/strings/en-GB.d.ts +0 -3
  569. package/src/strings/en-GB.d.ts.map +0 -1
  570. package/src/strings/en-GB.js +0 -486
  571. package/src/strings/en-GB.js.map +0 -1
  572. package/src/strings/en-US.d.ts +0 -3
  573. package/src/strings/en-US.d.ts.map +0 -1
  574. package/src/strings/en-US.js +0 -486
  575. package/src/strings/en-US.js.map +0 -1
  576. package/src/strings/es.d.ts +0 -3
  577. package/src/strings/es.d.ts.map +0 -1
  578. package/src/strings/es.js +0 -486
  579. package/src/strings/es.js.map +0 -1
  580. package/src/strings/fr.d.ts +0 -3
  581. package/src/strings/fr.d.ts.map +0 -1
  582. package/src/strings/fr.js +0 -486
  583. package/src/strings/fr.js.map +0 -1
  584. package/src/strings/ja.d.ts +0 -3
  585. package/src/strings/ja.d.ts.map +0 -1
  586. package/src/strings/ja.js +0 -486
  587. package/src/strings/ja.js.map +0 -1
  588. package/src/strings/uk.d.ts +0 -3
  589. package/src/strings/uk.d.ts.map +0 -1
  590. package/src/strings/uk.js +0 -486
  591. package/src/strings/uk.js.map +0 -1
  592. package/src/strings/zh-CN.d.ts +0 -3
  593. package/src/strings/zh-CN.d.ts.map +0 -1
  594. package/src/strings/zh-CN.js +0 -486
  595. package/src/strings/zh-CN.js.map +0 -1
@@ -0,0 +1,141 @@
1
+ import {
2
+ I18nEngine,
3
+ I18nBuilder,
4
+ LanguageCodes,
5
+ ComponentConfig,
6
+ ComponentDefinition,
7
+ createDefaultLanguages,
8
+ EngineConfig,
9
+ CoreLanguageCode,
10
+ } from '@digitaldefiance/i18n-lib';
11
+ import { SuiteCoreStringKey } from './enumerations/suite-core-string-key';
12
+ import { Role } from './enumerations/role';
13
+ import { americanEnglishStrings } from './strings/en-US';
14
+ import { britishEnglishStrings } from './strings/en-GB';
15
+ import { frenchStrings } from './strings/fr';
16
+ import { germanStrings } from './strings/de';
17
+ import { spanishStrings } from './strings/es';
18
+ import { mandarinStrings } from './strings/zh-CN';
19
+ import { japaneseStrings } from './strings/ja';
20
+ import { ukrainianStrings } from './strings/uk';
21
+
22
+ export const SuiteCoreI18nEngineKey = 'default' as const;
23
+ export const SuiteCoreComponentId = 'suite-core' as const;
24
+ export const SuiteCoreComponent: ComponentDefinition<SuiteCoreStringKey> = {
25
+ id: SuiteCoreComponentId,
26
+ name: 'Suite Core Library Component',
27
+ stringKeys: Object.values(SuiteCoreStringKey),
28
+ };
29
+ export const SuiteCoreComponentStrings: Record<
30
+ string,
31
+ Record<SuiteCoreStringKey, string>
32
+ > = {
33
+ [LanguageCodes.EN_US]: americanEnglishStrings,
34
+ [LanguageCodes.EN_GB]: britishEnglishStrings,
35
+ [LanguageCodes.FR]: frenchStrings,
36
+ [LanguageCodes.DE]: germanStrings,
37
+ [LanguageCodes.ES]: spanishStrings,
38
+ [LanguageCodes.ZH_CN]: mandarinStrings,
39
+ [LanguageCodes.JA]: japaneseStrings,
40
+ [LanguageCodes.UK]: ukrainianStrings,
41
+ };
42
+
43
+ const roleTranslations: Record<CoreLanguageCode, Record<Role, string>> = {
44
+ [LanguageCodes.EN_US]: {
45
+ [Role.Admin]: 'Administrator',
46
+ [Role.Member]: 'Member',
47
+ [Role.System]: 'System',
48
+ },
49
+ [LanguageCodes.EN_GB]: {
50
+ [Role.Admin]: 'Administrator',
51
+ [Role.Member]: 'Member',
52
+ [Role.System]: 'System',
53
+ },
54
+ [LanguageCodes.FR]: {
55
+ [Role.Admin]: 'Administrateur',
56
+ [Role.Member]: 'Membre',
57
+ [Role.System]: 'Système',
58
+ },
59
+ [LanguageCodes.ES]: {
60
+ [Role.Admin]: 'Administrador',
61
+ [Role.Member]: 'Miembro',
62
+ [Role.System]: 'Sistema',
63
+ },
64
+ [LanguageCodes.DE]: {
65
+ [Role.Admin]: 'Administrator',
66
+ [Role.Member]: 'Mitglied',
67
+ [Role.System]: 'System',
68
+ },
69
+ [LanguageCodes.ZH_CN]: {
70
+ [Role.Admin]: '管理员',
71
+ [Role.Member]: '成员',
72
+ [Role.System]: '系统',
73
+ },
74
+ [LanguageCodes.JA]: {
75
+ [Role.Admin]: '管理者',
76
+ [Role.Member]: 'メンバー',
77
+ [Role.System]: 'システム',
78
+ },
79
+ [LanguageCodes.UK]: {
80
+ [Role.Admin]: 'Адміністратор',
81
+ [Role.Member]: 'Учасник',
82
+ [Role.System]: 'Система',
83
+ },
84
+ };
85
+
86
+ // Suite Core component config
87
+ export function createSuiteCoreComponentConfig(): ComponentConfig {
88
+ const SuiteCoreComponentConfig: ComponentConfig = {
89
+ id: SuiteCoreComponentId,
90
+ strings: SuiteCoreComponentStrings,
91
+ aliases: ['SuiteCoreStringKey'],
92
+ };
93
+ return SuiteCoreComponentConfig;
94
+ }
95
+
96
+ let _engine: I18nEngine | undefined;
97
+
98
+ export function getSuiteCoreI18nEngine(config?: EngineConfig): I18nEngine {
99
+ if (!_engine || !I18nEngine.hasInstance(SuiteCoreI18nEngineKey)) {
100
+ _engine = I18nEngine.registerIfNotExists(
101
+ SuiteCoreI18nEngineKey,
102
+ createDefaultLanguages(),
103
+ { defaultLanguage: LanguageCodes.EN_US, ...config }
104
+ );
105
+
106
+ _engine.registerIfNotExists(createSuiteCoreComponentConfig());
107
+ _engine.registerEnum(Role, roleTranslations, 'Role');
108
+ }
109
+ return _engine;
110
+ }
111
+
112
+ export function getSuiteCoreTranslation(
113
+ key: SuiteCoreStringKey,
114
+ variables?: Record<string, any>,
115
+ language?: string,
116
+ config?: EngineConfig,
117
+ ): string {
118
+ return getSuiteCoreI18nEngine(config).translate(SuiteCoreComponentId, key, variables, language);
119
+ }
120
+
121
+ export function resetSuiteCoreI18nEngine(): void {
122
+ I18nEngine.removeInstance(SuiteCoreI18nEngineKey);
123
+ _engine = undefined;
124
+ }
125
+
126
+ export function initSuiteCoreI18nEngine(config?: EngineConfig): I18nEngine {
127
+ return getSuiteCoreI18nEngine(config);
128
+ }
129
+
130
+ export function safeGetSuiteCoreTranslation(
131
+ key: SuiteCoreStringKey,
132
+ variables?: Record<string, any>,
133
+ language?: string,
134
+ config?: EngineConfig,
135
+ ): string {
136
+ try {
137
+ return getSuiteCoreTranslation(key, variables, language, config);
138
+ } catch (error) {
139
+ return key;
140
+ }
141
+ }
@@ -9,4 +9,3 @@ export * from './interfaces';
9
9
  export * from './lib';
10
10
  export * from './local-storage-manager';
11
11
  export * from './defaults';
12
- //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,15 @@
1
+ export interface IBackupCodeConstants {
2
+ /**
3
+ * How many backup codes to generate for users
4
+ */
5
+ Count: number;
6
+ /**
7
+ * Regex for the backup codes
8
+ * 32 lowercase alphanumeric character string (a-z0-9)
9
+ */
10
+ NormalizedHexRegex: RegExp;
11
+ /**
12
+ * Regex for the display format of the backup codes
13
+ */
14
+ DisplayRegex: RegExp; // xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx
15
+ }
@@ -0,0 +1,6 @@
1
+ export interface IBackupCode {
2
+ version: string;
3
+ checksumSalt: string;
4
+ checksum: string;
5
+ encrypted: string;
6
+ }
@@ -0,0 +1,38 @@
1
+ import { EmailTokenType } from '../../enumerations/email-token-type';
2
+ import { IHasId } from '../has-id';
3
+ import { IHasTimestamps } from '../has-timestamps';
4
+
5
+ /**
6
+ * Base interface for email token collection documents
7
+ */
8
+ export interface IEmailTokenBase<
9
+ I,
10
+ D extends Date | string,
11
+ E extends EmailTokenType | string,
12
+ > extends IHasId<I>,
13
+ IHasTimestamps<D> {
14
+ /**
15
+ * The user ID associated with the token
16
+ */
17
+ userId: I;
18
+ /**
19
+ * The type of token
20
+ */
21
+ type: E;
22
+ /**
23
+ * The token value
24
+ */
25
+ token: string;
26
+ /**
27
+ * The email address the token was sent to
28
+ */
29
+ email: string;
30
+ /**
31
+ * The date the token was last sent
32
+ */
33
+ lastSent?: D;
34
+ /**
35
+ * The date the token expires
36
+ */
37
+ expiresAt: D;
38
+ }
@@ -5,4 +5,3 @@ export * from './token-role';
5
5
  export * from './used-direct-login-token';
6
6
  export * from './user';
7
7
  export * from './user-role';
8
- //# sourceMappingURL=index.d.ts.map
@@ -1,11 +1,11 @@
1
1
  import { IHasId } from '../has-id';
2
+
2
3
  /**
3
4
  * Represents a mnemonic hash being stored to check for uniqueness
4
5
  */
5
6
  export interface IMnemonicBase<I> extends IHasId<I> {
6
- /**
7
- * A non-reversible HMAC of the mnemonic, used for uniqueness checks.
8
- */
9
- hmac: string;
7
+ /**
8
+ * A non-reversible HMAC of the mnemonic, used for uniqueness checks.
9
+ */
10
+ hmac: string;
10
11
  }
11
- //# sourceMappingURL=mnemonic.d.ts.map
@@ -0,0 +1,40 @@
1
+ import { Role } from '../../enumerations/role';
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 IRoleBase<
9
+ I,
10
+ D extends Date | string = Date,
11
+ R extends Role | string = Role,
12
+ > extends IHasId<I>,
13
+ IHasTimestamps<D>,
14
+ IHasTimestampOwners<I>,
15
+ IHasSoftDelete<D>,
16
+ IHasSoftDeleter<I> {
17
+ /**
18
+ * The name of the role
19
+ */
20
+ name: R;
21
+ /**
22
+ * Whether the role is an admin
23
+ */
24
+ admin: boolean;
25
+ /**
26
+ * Whether the role is a site member
27
+ * Must not specify admin or system
28
+ */
29
+ member: boolean;
30
+ /**
31
+ * Whether the role is a restricted child account
32
+ * This prevents the account from certain actions
33
+ * Must not specify admin, member,
34
+ */
35
+ child: boolean;
36
+ /**
37
+ * Whether the role is a system account
38
+ */
39
+ system: boolean;
40
+ }
@@ -0,0 +1,9 @@
1
+ import { IRoleBase } from './role';
2
+
3
+ export interface ITokenRole<I, D extends Date | string = Date>
4
+ extends IRoleBase<I, D> {
5
+ /**
6
+ * The translated name of the role
7
+ */
8
+ translatedName: string;
9
+ }
@@ -1,6 +1,6 @@
1
1
  import { IHasId } from '../has-id';
2
+
2
3
  export interface IUsedDirectLoginTokenBase<I> extends IHasId<I> {
3
- userId: I;
4
- token: string;
4
+ userId: I;
5
+ token: string;
5
6
  }
6
- //# sourceMappingURL=used-direct-login-token.d.ts.map
@@ -0,0 +1,21 @@
1
+ import { IHasId } from '../has-id';
2
+ import { IHasSoftDelete } from '../has-soft-delete';
3
+ import { IHasSoftDeleter } from '../has-soft-deleter';
4
+ import { IHasTimestampOwners } from '../has-timestamp-owners';
5
+ import { IHasTimestamps } from '../has-timestamps';
6
+
7
+ export interface IUserRoleBase<I, D extends Date | string>
8
+ extends IHasId<I>,
9
+ IHasTimestamps<D>,
10
+ IHasTimestampOwners<I>,
11
+ IHasSoftDelete<D>,
12
+ IHasSoftDeleter<I> {
13
+ /**
14
+ * The user ID
15
+ */
16
+ userId: I;
17
+ /**
18
+ * The role ID
19
+ */
20
+ roleId: I;
21
+ }
@@ -0,0 +1,88 @@
1
+ import { AccountStatus } from '../../enumerations/account-status';
2
+ import { IBackupCode } from '../backup-code';
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
+ /**
10
+ * Base interface for user collection documents
11
+ */
12
+ export interface IUserBase<
13
+ I,
14
+ D extends Date | string,
15
+ S extends string,
16
+ A extends AccountStatus | string,
17
+ > extends IHasId<I>,
18
+ IHasTimestamps<D>,
19
+ IHasTimestampOwners<I>,
20
+ IHasSoftDelete<D>,
21
+ IHasSoftDeleter<I> {
22
+ /**
23
+ * The username of the user
24
+ */
25
+ username: string;
26
+ /**
27
+ * The email address of the user
28
+ */
29
+ email: string;
30
+ /**
31
+ * The public key for the user
32
+ */
33
+ publicKey: string;
34
+ /**
35
+ * The currency preference of the user
36
+ */
37
+ currency: string;
38
+ /**
39
+ * The timezone of the user
40
+ */
41
+ timezone: string;
42
+ /**
43
+ * The language of the site for the user
44
+ */
45
+ siteLanguage: S;
46
+ /**
47
+ * Whether the user prefers dark mode
48
+ */
49
+ darkMode: boolean;
50
+ /**
51
+ * The date the user last logged in
52
+ */
53
+ lastLogin?: D;
54
+ /**
55
+ * Whether the user has verified their email address
56
+ */
57
+ emailVerified: boolean;
58
+ /**
59
+ * The status of the user's account, eg 'AdminLock'
60
+ */
61
+ accountStatus: A;
62
+ /**
63
+ * Reference to the mnemonic document
64
+ */
65
+ mnemonicId?: I;
66
+ /**
67
+ * Whether the user has enabled direct challenge
68
+ */
69
+ directChallenge: boolean;
70
+ /**
71
+ * Password-wrapped ECIES private key
72
+ */
73
+ passwordWrappedPrivateKey?: {
74
+ salt: string;
75
+ iv: string;
76
+ authTag: string;
77
+ ciphertext: string;
78
+ iterations: number;
79
+ };
80
+ /**
81
+ * Array of backup codes to recover mnemonic/private key
82
+ */
83
+ backupCodes: Array<IBackupCode>;
84
+ /**
85
+ * Copy of the mnemonic encrypted with the user's public key
86
+ */
87
+ mnemonicRecovery: string;
88
+ }
@@ -0,0 +1,6 @@
1
+ export interface ICombinedRolePrivileges {
2
+ admin: boolean;
3
+ member: boolean;
4
+ child: boolean;
5
+ system: boolean;
6
+ }
@@ -0,0 +1,56 @@
1
+ import { ICoreConstants } from './core-consts';
2
+
3
+ export interface IConstants extends ICoreConstants {
4
+ /**
5
+ * The email of the administrator user/admin contact
6
+ */
7
+ AdministratorEmail: string;
8
+ /**
9
+ * The email of the test user.
10
+ */
11
+ MemberEmail: string;
12
+ /**
13
+ * The email of the system user.
14
+ */
15
+ SystemEmail: string;
16
+ /**
17
+ * The primary brand color (used for primary theme color)
18
+ */
19
+ logo_primary_color: string;
20
+ /**
21
+ * The primary text color (used for logo and text)
22
+ */
23
+ logo_primary_text: string;
24
+ /**
25
+ * The secondary text color (used for logo and accents)
26
+ */
27
+ logo_secondary_text: string;
28
+ /**
29
+ * The color used to indicate success states.
30
+ */
31
+ success_color: string;
32
+ /**
33
+ * The color used to indicate warning states.
34
+ */
35
+ warning_color: string;
36
+ /**
37
+ * The color used to indicate failure states.
38
+ */
39
+ failure_color: string;
40
+ /**
41
+ * The light variant of the primary text color.
42
+ */
43
+ primary_text_light: string;
44
+ /**
45
+ * The dark variant of the primary text color.
46
+ */
47
+ primary_text_dark: string;
48
+ /**
49
+ * The light variant of the secondary text color.
50
+ */
51
+ secondary_text_light: string;
52
+ /**
53
+ * The dark variant of the secondary text color.
54
+ */
55
+ secondary_text_dark: string;
56
+ }
@@ -0,0 +1,130 @@
1
+ import { IIdProvider } from '@digitaldefiance/ecies-lib';
2
+ import { IBackupCodeConstants } from './backup-code-consts';
3
+
4
+ export interface ICoreConstants {
5
+ /**
6
+ * The ID provider to use for generating and parsing IDs
7
+ */
8
+ idProvider: IIdProvider;
9
+ /**
10
+ * Backup code related constants
11
+ */
12
+ BACKUP_CODES: IBackupCodeConstants;
13
+ /**
14
+ * Duration in milliseconds for a login challenge
15
+ */
16
+ LoginChallengeExpiration: number;
17
+ /**
18
+ * Default duration in seconds for which mnemonics are kept in memory
19
+ */
20
+ DefaultExpireMemoryMnemonicSeconds: number;
21
+ /**
22
+ * Default duration in seconds for which wallets are kept in memory
23
+ */
24
+ DefaultExpireMemoryWalletSeconds: number;
25
+ /**
26
+ * The expected length of a direct login challenge in bytes
27
+ */
28
+ DirectLoginChallengeLength: number;
29
+ /**
30
+ * Duration in milliseconds for which an email token is valid.
31
+ */
32
+ EmailTokenExpiration: number;
33
+ /**
34
+ * Length in bytes of the email token generated (is represented as a hex string of twice as many)
35
+ */
36
+ EmailTokenLength: number;
37
+ /**
38
+ * Number of rounds for bcrypt hashing. Higher values increase security but also consume more CPU resources.
39
+ */
40
+ BcryptRounds: number;
41
+ /**
42
+ * The username of the administrator user.
43
+ */
44
+ AdministratorUser: string;
45
+ /**
46
+ * The name of the administrator role.
47
+ */
48
+ AdministratorRole: string;
49
+ /**
50
+ * The name of the member role.
51
+ */
52
+ MemberRole: string;
53
+ /**
54
+ * The username of the test user.
55
+ */
56
+ MemberUser: string;
57
+ /**
58
+ * The name of the system role.
59
+ */
60
+ SystemRole: string;
61
+ /**
62
+ * The username of the system user.
63
+ */
64
+ SystemUser: string;
65
+ /**
66
+ * Minimum username length
67
+ */
68
+ UsernameMinLength: number;
69
+ /**
70
+ * Maximum username length
71
+ */
72
+ UsernameMaxLength: number;
73
+ /**
74
+ * The regular expression for valid usernames.
75
+ */
76
+ UsernameRegex: RegExp;
77
+ /**
78
+ * Minimum password length
79
+ */
80
+ PasswordMinLength: number;
81
+ /**
82
+ * The regular expression for valid passwords.
83
+ */
84
+ PasswordRegex: RegExp;
85
+ /**
86
+ * The regular expression for valid JWT tokens.
87
+ */
88
+ JwtSecretRegex: RegExp;
89
+ /**
90
+ * The regular expression for valid mnemonic phrases.
91
+ * BIP39
92
+ */
93
+ MnemonicRegex: RegExp;
94
+ /**
95
+ * The regular expression for valid HMAC keys.
96
+ */
97
+ MnemonicHmacRegex: RegExp;
98
+ /**
99
+ * The regular expression for valid encryption keys.
100
+ */
101
+ MnemonicEncryptionKeyRegex: RegExp;
102
+ /**
103
+ * The amount of time in milliseconds after which an email token can be resent.
104
+ */
105
+ EmailTokenResendInterval: number;
106
+ /**
107
+ * The interval in minutes after which an email token can be resent.
108
+ */
109
+ EmailTokenResendIntervalMinutes: number;
110
+ /**
111
+ * The name of the site.
112
+ */
113
+ Site: string;
114
+ /**
115
+ * The tagline of the site.
116
+ */
117
+ SiteTagline: string;
118
+ /**
119
+ * The description of the site.
120
+ */
121
+ SiteDescription: string;
122
+ /**
123
+ * The email domain of usernames on the site.
124
+ */
125
+ SiteEmailDomain: string;
126
+ /**
127
+ * The hostname of the site.
128
+ */
129
+ SiteHostname: string;
130
+ }
@@ -0,0 +1,3 @@
1
+ export type DeepPartial<T> = {
2
+ [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
3
+ };
@@ -1,3 +1,3 @@
1
1
  import { IEmailTokenBase } from '../bases/email-token';
2
+
2
3
  export type IEmailTokenDTO = IEmailTokenBase<string, string, string>;
3
- //# sourceMappingURL=email-token.d.ts.map
@@ -5,5 +5,4 @@ export * from './role';
5
5
  export * from './token-role';
6
6
  export * from './user';
7
7
  export * from './user-role';
8
- export * from './user-settings';
9
- //# sourceMappingURL=index.d.ts.map
8
+ export * from './user-settings';
@@ -1,3 +1,3 @@
1
1
  import { IMnemonicBase } from '../bases';
2
+
2
3
  export type IMnemonicDTO = IMnemonicBase<string>;
3
- //# sourceMappingURL=mnemonic.d.ts.map
@@ -0,0 +1,19 @@
1
+ import { ICombinedRolePrivileges } from '../combined-role-privileges';
2
+ import { IRoleDTO } from '../dto/role';
3
+
4
+ export interface IRequestUserDTO {
5
+ // IUserDTO
6
+ id: string;
7
+ roles: Array<IRoleDTO>;
8
+ rolePrivileges: ICombinedRolePrivileges;
9
+ username: string;
10
+ email: string;
11
+ emailVerified: boolean;
12
+ lastLogin?: string;
13
+ // IUserSettingsDTO
14
+ timezone: string;
15
+ siteLanguage: string;
16
+ darkMode: boolean;
17
+ currency: string;
18
+ directChallenge: boolean;
19
+ }
@@ -1,3 +1,3 @@
1
1
  import { IRoleBase } from '../bases/role';
2
+
2
3
  export type IRoleDTO = IRoleBase<string, string, string>;
3
- //# sourceMappingURL=role.d.ts.map
@@ -4,7 +4,13 @@ import { IHasSoftDeleter } from '../has-soft-deleter';
4
4
  import { IHasTimestampOwners } from '../has-timestamp-owners';
5
5
  import { IHasTimestamps } from '../has-timestamps';
6
6
  import { IRoleDTO } from './role';
7
- export interface ITokenRoleDTO extends IRoleDTO, IHasId<string>, IHasTimestamps<string>, IHasTimestampOwners<string>, IHasSoftDelete<string>, IHasSoftDeleter<string> {
8
- translatedName?: string;
7
+
8
+ export interface ITokenRoleDTO
9
+ extends IRoleDTO,
10
+ IHasId<string>,
11
+ IHasTimestamps<string>,
12
+ IHasTimestampOwners<string>,
13
+ IHasSoftDelete<string>,
14
+ IHasSoftDeleter<string> {
15
+ translatedName?: string;
9
16
  }
10
- //# sourceMappingURL=token-role.d.ts.map
@@ -1,3 +1,3 @@
1
1
  import { IUserRoleBase } from '../bases/user-role';
2
+
2
3
  export type IUserRoleDTO = IUserRoleBase<string, string>;
3
- //# sourceMappingURL=user-role.d.ts.map
@@ -5,5 +5,4 @@ export interface IUserSettingsDTO {
5
5
  siteLanguage: string;
6
6
  darkMode: boolean;
7
7
  directChallenge: boolean;
8
- }
9
- //# sourceMappingURL=user-settings.d.ts.map
8
+ }