@digitaldefiance/suite-core-lib 3.6.47 → 3.6.48

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 (573) hide show
  1. package/LICENSE +21 -0
  2. package/package.json +3 -4
  3. package/src/backup-code-string.ts +102 -0
  4. package/src/builders/{index.d.ts → index.ts} +1 -1
  5. package/src/builders/role-builder.ts +67 -0
  6. package/src/builders/user-builder.ts +81 -0
  7. package/src/constants.ts +229 -0
  8. package/src/core/{errors.d.ts → errors.ts} +4 -1
  9. package/src/core/{index.d.ts → index.ts} +1 -1
  10. package/src/core/result.ts +40 -0
  11. package/src/core/{types.d.ts → types.ts} +6 -1
  12. package/src/defaults.ts +114 -0
  13. package/src/enumerations/account-status.ts +17 -0
  14. package/src/enumerations/email-token-type.ts +27 -0
  15. package/src/enumerations/fec-error-type.ts +16 -0
  16. package/src/enumerations/{index.d.ts → index.ts} +3 -1
  17. package/src/enumerations/pbkdf2-error-type.ts +7 -0
  18. package/src/enumerations/role.ts +8 -0
  19. package/src/enumerations/suite-core-string-key.ts +500 -0
  20. package/src/errors/account-locked.ts +12 -0
  21. package/src/errors/account-status.ts +38 -0
  22. package/src/errors/admin-role-not-found.ts +15 -0
  23. package/src/errors/core-typed-handleable.ts +72 -0
  24. package/src/errors/direct-challenge-not-enabled.ts +22 -0
  25. package/src/errors/direct-token-used.ts +17 -0
  26. package/src/errors/email-in-use.ts +14 -0
  27. package/src/errors/email-token-expired.ts +14 -0
  28. package/src/errors/email-token-failed-to-send.ts +46 -0
  29. package/src/errors/email-token-sent-too-recently.ts +32 -0
  30. package/src/errors/email-token-used-or-invalid.ts +14 -0
  31. package/src/errors/email-verified.ts +19 -0
  32. package/src/errors/failed-to-use-direct-token.ts +17 -0
  33. package/src/errors/fec-error.ts +49 -0
  34. package/src/errors/generic-validation.ts +14 -0
  35. package/src/errors/{index.d.ts → index.ts} +3 -1
  36. package/src/errors/invalid-backup-code.ts +9 -0
  37. package/src/errors/invalid-challenge-response.ts +22 -0
  38. package/src/errors/invalid-challenge.ts +12 -0
  39. package/src/errors/invalid-credentials.ts +19 -0
  40. package/src/errors/invalid-email.ts +46 -0
  41. package/src/errors/invalid-expired-token.ts +21 -0
  42. package/src/errors/invalid-token.ts +22 -0
  43. package/src/errors/invalid-userid.ts +38 -0
  44. package/src/errors/invalid-username.ts +17 -0
  45. package/src/errors/last-admin-error.ts +15 -0
  46. package/src/errors/login-challenge-expired.ts +22 -0
  47. package/src/errors/member-role-not-found.ts +15 -0
  48. package/src/errors/password-login-not-enabled.ts +22 -0
  49. package/src/errors/password-login-not-setup.ts +22 -0
  50. package/src/errors/pbkdf2-error.ts +26 -0
  51. package/src/errors/pending-email-verification.ts +12 -0
  52. package/src/errors/private-key-required.ts +16 -0
  53. package/src/errors/system-role-not-found.ts +15 -0
  54. package/src/errors/token-not-found.ts +24 -0
  55. package/src/errors/translatable-suite-handleable.ts +30 -0
  56. package/src/errors/translatable-suite.ts +37 -0
  57. package/src/errors/user-not-found.ts +14 -0
  58. package/src/errors/username-email-required.ts +23 -0
  59. package/src/errors/username-in-use.ts +14 -0
  60. package/src/i18n-setup.ts +150 -0
  61. package/src/{index.d.ts → index.ts} +4 -1
  62. package/src/interfaces/backup-code-consts.ts +18 -0
  63. package/src/interfaces/backup-code.ts +9 -0
  64. package/src/interfaces/bases/email-token.ts +39 -0
  65. package/src/interfaces/bases/{index.d.ts → index.ts} +3 -1
  66. package/src/interfaces/bases/mnemonic.ts +12 -0
  67. package/src/interfaces/bases/role.ts +43 -0
  68. package/src/interfaces/bases/token-role.ts +16 -0
  69. package/src/interfaces/bases/used-direct-login-token.ts +17 -0
  70. package/src/interfaces/bases/user-role.ts +23 -0
  71. package/src/interfaces/bases/user.ts +91 -0
  72. package/src/interfaces/combined-role-privileges.ts +9 -0
  73. package/src/interfaces/constants.ts +59 -0
  74. package/src/interfaces/core-consts.ts +133 -0
  75. package/src/interfaces/deep-partial.ts +6 -0
  76. package/src/interfaces/dto/email-token.ts +7 -0
  77. package/src/interfaces/dto/{index.d.ts → index.ts} +3 -1
  78. package/src/interfaces/dto/mnemonic.ts +7 -0
  79. package/src/interfaces/dto/request-user.ts +23 -0
  80. package/src/interfaces/dto/role.ts +7 -0
  81. package/src/interfaces/dto/token-role.ts +21 -0
  82. package/src/interfaces/dto/user-role.ts +7 -0
  83. package/src/interfaces/dto/user-settings.ts +12 -0
  84. package/src/interfaces/dto/user.ts +7 -0
  85. package/src/interfaces/failable-result.ts +9 -0
  86. package/src/interfaces/frontend-objects/email-token.ts +12 -0
  87. package/src/interfaces/frontend-objects/{index.d.ts → index.ts} +3 -1
  88. package/src/interfaces/frontend-objects/request-user.ts +21 -0
  89. package/src/interfaces/frontend-objects/{role.d.ts → role.ts} +5 -1
  90. package/src/interfaces/frontend-objects/user-role.ts +7 -0
  91. package/src/interfaces/frontend-objects/user.ts +13 -0
  92. package/src/interfaces/has-creation.ts +9 -0
  93. package/src/interfaces/has-creator.ts +11 -0
  94. package/src/interfaces/has-id.ts +8 -0
  95. package/src/interfaces/has-soft-delete.ts +9 -0
  96. package/src/interfaces/has-soft-deleter.ts +11 -0
  97. package/src/interfaces/has-timestamp-owners.ts +9 -0
  98. package/src/interfaces/has-timestamps.ts +11 -0
  99. package/src/interfaces/has-updater.ts +11 -0
  100. package/src/interfaces/has-updates.ts +6 -0
  101. package/src/interfaces/{index.d.ts → index.ts} +3 -1
  102. package/src/interfaces/success-message.ts +7 -0
  103. package/src/interfaces/{token-user.d.ts → token-user.ts} +3 -3
  104. package/src/interfaces/user-settings.ts +14 -0
  105. package/src/lib/flags.ts +286 -0
  106. package/src/lib/formatters.ts +26 -0
  107. package/src/lib/hydrate-dehydrate.ts +43 -0
  108. package/src/lib/{index.d.ts → index.ts} +1 -1
  109. package/src/lib/validators-with-constants.ts +74 -0
  110. package/src/lib/validators.ts +72 -0
  111. package/src/local-storage-manager.ts +69 -0
  112. package/src/strings/de.ts +793 -0
  113. package/src/strings/en-GB.ts +743 -0
  114. package/src/strings/en-US.ts +746 -0
  115. package/src/strings/es.ts +799 -0
  116. package/src/strings/fr.ts +804 -0
  117. package/src/strings/ja.ts +766 -0
  118. package/src/strings/uk.ts +783 -0
  119. package/src/strings/zh-CN.ts +650 -0
  120. package/src/backup-code-string.d.ts +0 -29
  121. package/src/backup-code-string.d.ts.map +0 -1
  122. package/src/backup-code-string.js +0 -81
  123. package/src/backup-code-string.js.map +0 -1
  124. package/src/builders/index.d.ts.map +0 -1
  125. package/src/builders/index.js +0 -9
  126. package/src/builders/index.js.map +0 -1
  127. package/src/builders/role-builder.d.ts +0 -19
  128. package/src/builders/role-builder.d.ts.map +0 -1
  129. package/src/builders/role-builder.js +0 -57
  130. package/src/builders/role-builder.js.map +0 -1
  131. package/src/builders/user-builder.d.ts +0 -23
  132. package/src/builders/user-builder.d.ts.map +0 -1
  133. package/src/builders/user-builder.js +0 -63
  134. package/src/builders/user-builder.js.map +0 -1
  135. package/src/constants.d.ts +0 -7
  136. package/src/constants.d.ts.map +0 -1
  137. package/src/constants.js +0 -209
  138. package/src/constants.js.map +0 -1
  139. package/src/core/errors.d.ts.map +0 -1
  140. package/src/core/errors.js +0 -29
  141. package/src/core/errors.js.map +0 -1
  142. package/src/core/index.d.ts.map +0 -1
  143. package/src/core/index.js +0 -10
  144. package/src/core/index.js.map +0 -1
  145. package/src/core/result.d.ts +0 -34
  146. package/src/core/result.d.ts.map +0 -1
  147. package/src/core/result.js +0 -35
  148. package/src/core/result.js.map +0 -1
  149. package/src/core/types.d.ts.map +0 -1
  150. package/src/core/types.js +0 -6
  151. package/src/core/types.js.map +0 -1
  152. package/src/defaults.d.ts +0 -7
  153. package/src/defaults.d.ts.map +0 -1
  154. package/src/defaults.js +0 -66
  155. package/src/defaults.js.map +0 -1
  156. package/src/enumerations/account-status.d.ts +0 -18
  157. package/src/enumerations/account-status.d.ts.map +0 -1
  158. package/src/enumerations/account-status.js +0 -22
  159. package/src/enumerations/account-status.js.map +0 -1
  160. package/src/enumerations/email-token-type.d.ts +0 -25
  161. package/src/enumerations/email-token-type.d.ts.map +0 -1
  162. package/src/enumerations/email-token-type.js +0 -29
  163. package/src/enumerations/email-token-type.js.map +0 -1
  164. package/src/enumerations/fec-error-type.d.ts +0 -14
  165. package/src/enumerations/fec-error-type.d.ts.map +0 -1
  166. package/src/enumerations/fec-error-type.js +0 -18
  167. package/src/enumerations/fec-error-type.js.map +0 -1
  168. package/src/enumerations/index.d.ts.map +0 -1
  169. package/src/enumerations/index.js +0 -10
  170. package/src/enumerations/index.js.map +0 -1
  171. package/src/enumerations/pbkdf2-error-type.d.ts +0 -5
  172. package/src/enumerations/pbkdf2-error-type.d.ts.map +0 -1
  173. package/src/enumerations/pbkdf2-error-type.js +0 -9
  174. package/src/enumerations/pbkdf2-error-type.js.map +0 -1
  175. package/src/enumerations/role.d.ts +0 -6
  176. package/src/enumerations/role.d.ts.map +0 -1
  177. package/src/enumerations/role.js +0 -10
  178. package/src/enumerations/role.js.map +0 -1
  179. package/src/enumerations/suite-core-string-key.d.ts +0 -483
  180. package/src/enumerations/suite-core-string-key.d.ts.map +0 -1
  181. package/src/enumerations/suite-core-string-key.js +0 -494
  182. package/src/enumerations/suite-core-string-key.js.map +0 -1
  183. package/src/errors/account-locked.d.ts +0 -5
  184. package/src/errors/account-locked.d.ts.map +0 -1
  185. package/src/errors/account-locked.js +0 -13
  186. package/src/errors/account-locked.js.map +0 -1
  187. package/src/errors/account-status.d.ts +0 -7
  188. package/src/errors/account-status.d.ts.map +0 -1
  189. package/src/errors/account-status.js +0 -33
  190. package/src/errors/account-status.js.map +0 -1
  191. package/src/errors/admin-role-not-found.d.ts +0 -6
  192. package/src/errors/admin-role-not-found.d.ts.map +0 -1
  193. package/src/errors/admin-role-not-found.js +0 -15
  194. package/src/errors/admin-role-not-found.js.map +0 -1
  195. package/src/errors/core-typed-handleable.d.ts +0 -12
  196. package/src/errors/core-typed-handleable.d.ts.map +0 -1
  197. package/src/errors/core-typed-handleable.js +0 -51
  198. package/src/errors/core-typed-handleable.js.map +0 -1
  199. package/src/errors/direct-challenge-not-enabled.d.ts +0 -5
  200. package/src/errors/direct-challenge-not-enabled.d.ts.map +0 -1
  201. package/src/errors/direct-challenge-not-enabled.js +0 -16
  202. package/src/errors/direct-challenge-not-enabled.js.map +0 -1
  203. package/src/errors/direct-token-used.d.ts +0 -5
  204. package/src/errors/direct-token-used.d.ts.map +0 -1
  205. package/src/errors/direct-token-used.js +0 -13
  206. package/src/errors/direct-token-used.js.map +0 -1
  207. package/src/errors/email-in-use.d.ts +0 -5
  208. package/src/errors/email-in-use.d.ts.map +0 -1
  209. package/src/errors/email-in-use.js +0 -15
  210. package/src/errors/email-in-use.js.map +0 -1
  211. package/src/errors/email-token-expired.d.ts +0 -5
  212. package/src/errors/email-token-expired.d.ts.map +0 -1
  213. package/src/errors/email-token-expired.js +0 -15
  214. package/src/errors/email-token-expired.js.map +0 -1
  215. package/src/errors/email-token-failed-to-send.d.ts +0 -6
  216. package/src/errors/email-token-failed-to-send.d.ts.map +0 -1
  217. package/src/errors/email-token-failed-to-send.js +0 -22
  218. package/src/errors/email-token-failed-to-send.js.map +0 -1
  219. package/src/errors/email-token-sent-too-recently.d.ts +0 -7
  220. package/src/errors/email-token-sent-too-recently.d.ts.map +0 -1
  221. package/src/errors/email-token-sent-too-recently.js +0 -21
  222. package/src/errors/email-token-sent-too-recently.js.map +0 -1
  223. package/src/errors/email-token-used-or-invalid.d.ts +0 -5
  224. package/src/errors/email-token-used-or-invalid.d.ts.map +0 -1
  225. package/src/errors/email-token-used-or-invalid.js +0 -15
  226. package/src/errors/email-token-used-or-invalid.js.map +0 -1
  227. package/src/errors/email-verified.d.ts +0 -5
  228. package/src/errors/email-verified.d.ts.map +0 -1
  229. package/src/errors/email-verified.js +0 -15
  230. package/src/errors/email-verified.js.map +0 -1
  231. package/src/errors/failed-to-use-direct-token.d.ts +0 -5
  232. package/src/errors/failed-to-use-direct-token.d.ts.map +0 -1
  233. package/src/errors/failed-to-use-direct-token.js +0 -13
  234. package/src/errors/failed-to-use-direct-token.js.map +0 -1
  235. package/src/errors/fec-error.d.ts +0 -6
  236. package/src/errors/fec-error.d.ts.map +0 -1
  237. package/src/errors/fec-error.js +0 -26
  238. package/src/errors/fec-error.js.map +0 -1
  239. package/src/errors/generic-validation.d.ts +0 -5
  240. package/src/errors/generic-validation.d.ts.map +0 -1
  241. package/src/errors/generic-validation.js +0 -12
  242. package/src/errors/generic-validation.js.map +0 -1
  243. package/src/errors/index.d.ts.map +0 -1
  244. package/src/errors/index.js +0 -43
  245. package/src/errors/index.js.map +0 -1
  246. package/src/errors/invalid-backup-code.d.ts +0 -4
  247. package/src/errors/invalid-backup-code.d.ts.map +0 -1
  248. package/src/errors/invalid-backup-code.js +0 -11
  249. package/src/errors/invalid-backup-code.js.map +0 -1
  250. package/src/errors/invalid-challenge-response.d.ts +0 -5
  251. package/src/errors/invalid-challenge-response.d.ts.map +0 -1
  252. package/src/errors/invalid-challenge-response.js +0 -16
  253. package/src/errors/invalid-challenge-response.js.map +0 -1
  254. package/src/errors/invalid-challenge.d.ts +0 -5
  255. package/src/errors/invalid-challenge.d.ts.map +0 -1
  256. package/src/errors/invalid-challenge.js +0 -13
  257. package/src/errors/invalid-challenge.js.map +0 -1
  258. package/src/errors/invalid-credentials.d.ts +0 -5
  259. package/src/errors/invalid-credentials.d.ts.map +0 -1
  260. package/src/errors/invalid-credentials.js +0 -15
  261. package/src/errors/invalid-credentials.js.map +0 -1
  262. package/src/errors/invalid-email.d.ts +0 -8
  263. package/src/errors/invalid-email.d.ts.map +0 -1
  264. package/src/errors/invalid-email.js +0 -25
  265. package/src/errors/invalid-email.js.map +0 -1
  266. package/src/errors/invalid-expired-token.d.ts +0 -6
  267. package/src/errors/invalid-expired-token.d.ts.map +0 -1
  268. package/src/errors/invalid-expired-token.js +0 -13
  269. package/src/errors/invalid-expired-token.js.map +0 -1
  270. package/src/errors/invalid-token.d.ts +0 -5
  271. package/src/errors/invalid-token.d.ts.map +0 -1
  272. package/src/errors/invalid-token.js +0 -16
  273. package/src/errors/invalid-token.js.map +0 -1
  274. package/src/errors/invalid-userid.d.ts +0 -6
  275. package/src/errors/invalid-userid.d.ts.map +0 -1
  276. package/src/errors/invalid-userid.js +0 -20
  277. package/src/errors/invalid-userid.js.map +0 -1
  278. package/src/errors/invalid-username.d.ts +0 -5
  279. package/src/errors/invalid-username.d.ts.map +0 -1
  280. package/src/errors/invalid-username.js +0 -13
  281. package/src/errors/invalid-username.js.map +0 -1
  282. package/src/errors/last-admin-error.d.ts +0 -6
  283. package/src/errors/last-admin-error.d.ts.map +0 -1
  284. package/src/errors/last-admin-error.js +0 -15
  285. package/src/errors/last-admin-error.js.map +0 -1
  286. package/src/errors/login-challenge-expired.d.ts +0 -5
  287. package/src/errors/login-challenge-expired.d.ts.map +0 -1
  288. package/src/errors/login-challenge-expired.js +0 -16
  289. package/src/errors/login-challenge-expired.js.map +0 -1
  290. package/src/errors/member-role-not-found.d.ts +0 -6
  291. package/src/errors/member-role-not-found.d.ts.map +0 -1
  292. package/src/errors/member-role-not-found.js +0 -15
  293. package/src/errors/member-role-not-found.js.map +0 -1
  294. package/src/errors/password-login-not-enabled.d.ts +0 -5
  295. package/src/errors/password-login-not-enabled.d.ts.map +0 -1
  296. package/src/errors/password-login-not-enabled.js +0 -16
  297. package/src/errors/password-login-not-enabled.js.map +0 -1
  298. package/src/errors/password-login-not-setup.d.ts +0 -5
  299. package/src/errors/password-login-not-setup.d.ts.map +0 -1
  300. package/src/errors/password-login-not-setup.js +0 -16
  301. package/src/errors/password-login-not-setup.js.map +0 -1
  302. package/src/errors/pbkdf2-error.d.ts +0 -7
  303. package/src/errors/pbkdf2-error.d.ts.map +0 -1
  304. package/src/errors/pbkdf2-error.js +0 -19
  305. package/src/errors/pbkdf2-error.js.map +0 -1
  306. package/src/errors/pending-email-verification.d.ts +0 -5
  307. package/src/errors/pending-email-verification.d.ts.map +0 -1
  308. package/src/errors/pending-email-verification.js +0 -13
  309. package/src/errors/pending-email-verification.js.map +0 -1
  310. package/src/errors/private-key-required.d.ts +0 -5
  311. package/src/errors/private-key-required.d.ts.map +0 -1
  312. package/src/errors/private-key-required.js +0 -13
  313. package/src/errors/private-key-required.js.map +0 -1
  314. package/src/errors/system-role-not-found.d.ts +0 -6
  315. package/src/errors/system-role-not-found.d.ts.map +0 -1
  316. package/src/errors/system-role-not-found.js +0 -15
  317. package/src/errors/system-role-not-found.js.map +0 -1
  318. package/src/errors/token-not-found.d.ts +0 -7
  319. package/src/errors/token-not-found.d.ts.map +0 -1
  320. package/src/errors/token-not-found.js +0 -19
  321. package/src/errors/token-not-found.js.map +0 -1
  322. package/src/errors/translatable-suite-handleable.d.ts +0 -10
  323. package/src/errors/translatable-suite-handleable.d.ts.map +0 -1
  324. package/src/errors/translatable-suite-handleable.js +0 -15
  325. package/src/errors/translatable-suite-handleable.js.map +0 -1
  326. package/src/errors/translatable-suite.d.ts +0 -13
  327. package/src/errors/translatable-suite.d.ts.map +0 -1
  328. package/src/errors/translatable-suite.js +0 -29
  329. package/src/errors/translatable-suite.js.map +0 -1
  330. package/src/errors/user-not-found.d.ts +0 -5
  331. package/src/errors/user-not-found.d.ts.map +0 -1
  332. package/src/errors/user-not-found.js +0 -15
  333. package/src/errors/user-not-found.js.map +0 -1
  334. package/src/errors/username-email-required.d.ts +0 -6
  335. package/src/errors/username-email-required.d.ts.map +0 -1
  336. package/src/errors/username-email-required.js +0 -16
  337. package/src/errors/username-email-required.js.map +0 -1
  338. package/src/errors/username-in-use.d.ts +0 -5
  339. package/src/errors/username-in-use.d.ts.map +0 -1
  340. package/src/errors/username-in-use.js +0 -15
  341. package/src/errors/username-in-use.js.map +0 -1
  342. package/src/i18n-setup.d.ts +0 -13
  343. package/src/i18n-setup.d.ts.map +0 -1
  344. package/src/i18n-setup.js +0 -116
  345. package/src/i18n-setup.js.map +0 -1
  346. package/src/index.d.ts.map +0 -1
  347. package/src/index.js +0 -15
  348. package/src/index.js.map +0 -1
  349. package/src/interfaces/backup-code-consts.d.ts +0 -16
  350. package/src/interfaces/backup-code-consts.d.ts.map +0 -1
  351. package/src/interfaces/backup-code-consts.js +0 -3
  352. package/src/interfaces/backup-code-consts.js.map +0 -1
  353. package/src/interfaces/backup-code.d.ts +0 -7
  354. package/src/interfaces/backup-code.d.ts.map +0 -1
  355. package/src/interfaces/backup-code.js +0 -3
  356. package/src/interfaces/backup-code.js.map +0 -1
  357. package/src/interfaces/bases/email-token.d.ts +0 -33
  358. package/src/interfaces/bases/email-token.d.ts.map +0 -1
  359. package/src/interfaces/bases/email-token.js +0 -3
  360. package/src/interfaces/bases/email-token.js.map +0 -1
  361. package/src/interfaces/bases/index.d.ts.map +0 -1
  362. package/src/interfaces/bases/index.js +0 -11
  363. package/src/interfaces/bases/index.js.map +0 -1
  364. package/src/interfaces/bases/mnemonic.d.ts +0 -11
  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 +0 -6
  377. package/src/interfaces/bases/used-direct-login-token.d.ts.map +0 -1
  378. package/src/interfaces/bases/used-direct-login-token.js +0 -3
  379. package/src/interfaces/bases/used-direct-login-token.js.map +0 -1
  380. package/src/interfaces/bases/user-role.d.ts +0 -16
  381. package/src/interfaces/bases/user-role.d.ts.map +0 -1
  382. package/src/interfaces/bases/user-role.js +0 -3
  383. package/src/interfaces/bases/user-role.js.map +0 -1
  384. package/src/interfaces/bases/user.d.ts +0 -79
  385. package/src/interfaces/bases/user.d.ts.map +0 -1
  386. package/src/interfaces/bases/user.js +0 -3
  387. package/src/interfaces/bases/user.js.map +0 -1
  388. package/src/interfaces/combined-role-privileges.d.ts +0 -7
  389. package/src/interfaces/combined-role-privileges.d.ts.map +0 -1
  390. package/src/interfaces/combined-role-privileges.js +0 -3
  391. package/src/interfaces/combined-role-privileges.js.map +0 -1
  392. package/src/interfaces/constants.d.ts +0 -56
  393. package/src/interfaces/constants.d.ts.map +0 -1
  394. package/src/interfaces/constants.js +0 -3
  395. package/src/interfaces/constants.js.map +0 -1
  396. package/src/interfaces/core-consts.d.ts +0 -130
  397. package/src/interfaces/core-consts.d.ts.map +0 -1
  398. package/src/interfaces/core-consts.js +0 -3
  399. package/src/interfaces/core-consts.js.map +0 -1
  400. package/src/interfaces/deep-partial.d.ts +0 -4
  401. package/src/interfaces/deep-partial.d.ts.map +0 -1
  402. package/src/interfaces/deep-partial.js +0 -3
  403. package/src/interfaces/deep-partial.js.map +0 -1
  404. package/src/interfaces/dto/email-token.d.ts +0 -3
  405. package/src/interfaces/dto/email-token.d.ts.map +0 -1
  406. package/src/interfaces/dto/email-token.js +0 -3
  407. package/src/interfaces/dto/email-token.js.map +0 -1
  408. package/src/interfaces/dto/index.d.ts.map +0 -1
  409. package/src/interfaces/dto/index.js +0 -12
  410. package/src/interfaces/dto/index.js.map +0 -1
  411. package/src/interfaces/dto/mnemonic.d.ts +0 -3
  412. package/src/interfaces/dto/mnemonic.d.ts.map +0 -1
  413. package/src/interfaces/dto/mnemonic.js +0 -3
  414. package/src/interfaces/dto/mnemonic.js.map +0 -1
  415. package/src/interfaces/dto/request-user.d.ts +0 -17
  416. package/src/interfaces/dto/request-user.d.ts.map +0 -1
  417. package/src/interfaces/dto/request-user.js +0 -3
  418. package/src/interfaces/dto/request-user.js.map +0 -1
  419. package/src/interfaces/dto/role.d.ts +0 -3
  420. package/src/interfaces/dto/role.d.ts.map +0 -1
  421. package/src/interfaces/dto/role.js +0 -3
  422. package/src/interfaces/dto/role.js.map +0 -1
  423. package/src/interfaces/dto/token-role.d.ts +0 -10
  424. package/src/interfaces/dto/token-role.d.ts.map +0 -1
  425. package/src/interfaces/dto/token-role.js +0 -3
  426. package/src/interfaces/dto/token-role.js.map +0 -1
  427. package/src/interfaces/dto/user-role.d.ts +0 -3
  428. package/src/interfaces/dto/user-role.d.ts.map +0 -1
  429. package/src/interfaces/dto/user-role.js +0 -3
  430. package/src/interfaces/dto/user-role.js.map +0 -1
  431. package/src/interfaces/dto/user-settings.d.ts +0 -9
  432. package/src/interfaces/dto/user-settings.d.ts.map +0 -1
  433. package/src/interfaces/dto/user-settings.js +0 -3
  434. package/src/interfaces/dto/user-settings.js.map +0 -1
  435. package/src/interfaces/dto/user.d.ts +0 -3
  436. package/src/interfaces/dto/user.d.ts.map +0 -1
  437. package/src/interfaces/dto/user.js +0 -3
  438. package/src/interfaces/dto/user.js.map +0 -1
  439. package/src/interfaces/failable-result.d.ts +0 -7
  440. package/src/interfaces/failable-result.d.ts.map +0 -1
  441. package/src/interfaces/failable-result.js +0 -3
  442. package/src/interfaces/failable-result.js.map +0 -1
  443. package/src/interfaces/frontend-objects/email-token.d.ts +0 -4
  444. package/src/interfaces/frontend-objects/email-token.d.ts.map +0 -1
  445. package/src/interfaces/frontend-objects/email-token.js +0 -3
  446. package/src/interfaces/frontend-objects/email-token.js.map +0 -1
  447. package/src/interfaces/frontend-objects/index.d.ts.map +0 -1
  448. package/src/interfaces/frontend-objects/index.js +0 -9
  449. package/src/interfaces/frontend-objects/index.js.map +0 -1
  450. package/src/interfaces/frontend-objects/request-user.d.ts +0 -17
  451. package/src/interfaces/frontend-objects/request-user.d.ts.map +0 -1
  452. package/src/interfaces/frontend-objects/request-user.js +0 -3
  453. package/src/interfaces/frontend-objects/request-user.js.map +0 -1
  454. package/src/interfaces/frontend-objects/role.d.ts.map +0 -1
  455. package/src/interfaces/frontend-objects/role.js +0 -3
  456. package/src/interfaces/frontend-objects/role.js.map +0 -1
  457. package/src/interfaces/frontend-objects/user-role.d.ts +0 -3
  458. package/src/interfaces/frontend-objects/user-role.d.ts.map +0 -1
  459. package/src/interfaces/frontend-objects/user-role.js +0 -3
  460. package/src/interfaces/frontend-objects/user-role.js.map +0 -1
  461. package/src/interfaces/frontend-objects/user.d.ts +0 -4
  462. package/src/interfaces/frontend-objects/user.d.ts.map +0 -1
  463. package/src/interfaces/frontend-objects/user.js +0 -3
  464. package/src/interfaces/frontend-objects/user.js.map +0 -1
  465. package/src/interfaces/has-creation.d.ts +0 -7
  466. package/src/interfaces/has-creation.d.ts.map +0 -1
  467. package/src/interfaces/has-creation.js +0 -3
  468. package/src/interfaces/has-creation.js.map +0 -1
  469. package/src/interfaces/has-creator.d.ts +0 -7
  470. package/src/interfaces/has-creator.d.ts.map +0 -1
  471. package/src/interfaces/has-creator.js +0 -3
  472. package/src/interfaces/has-creator.js.map +0 -1
  473. package/src/interfaces/has-id.d.ts +0 -4
  474. package/src/interfaces/has-id.d.ts.map +0 -1
  475. package/src/interfaces/has-id.js +0 -3
  476. package/src/interfaces/has-id.js.map +0 -1
  477. package/src/interfaces/has-soft-delete.d.ts +0 -7
  478. package/src/interfaces/has-soft-delete.d.ts.map +0 -1
  479. package/src/interfaces/has-soft-delete.js +0 -3
  480. package/src/interfaces/has-soft-delete.js.map +0 -1
  481. package/src/interfaces/has-soft-deleter.d.ts +0 -7
  482. package/src/interfaces/has-soft-deleter.d.ts.map +0 -1
  483. package/src/interfaces/has-soft-deleter.js +0 -3
  484. package/src/interfaces/has-soft-deleter.js.map +0 -1
  485. package/src/interfaces/has-timestamp-owners.d.ts +0 -5
  486. package/src/interfaces/has-timestamp-owners.d.ts.map +0 -1
  487. package/src/interfaces/has-timestamp-owners.js +0 -3
  488. package/src/interfaces/has-timestamp-owners.js.map +0 -1
  489. package/src/interfaces/has-timestamps.d.ts +0 -6
  490. package/src/interfaces/has-timestamps.d.ts.map +0 -1
  491. package/src/interfaces/has-timestamps.js +0 -3
  492. package/src/interfaces/has-timestamps.js.map +0 -1
  493. package/src/interfaces/has-updater.d.ts +0 -7
  494. package/src/interfaces/has-updater.d.ts.map +0 -1
  495. package/src/interfaces/has-updater.js +0 -3
  496. package/src/interfaces/has-updater.js.map +0 -1
  497. package/src/interfaces/has-updates.d.ts +0 -4
  498. package/src/interfaces/has-updates.d.ts.map +0 -1
  499. package/src/interfaces/has-updates.js +0 -3
  500. package/src/interfaces/has-updates.js.map +0 -1
  501. package/src/interfaces/index.d.ts.map +0 -1
  502. package/src/interfaces/index.js +0 -26
  503. package/src/interfaces/index.js.map +0 -1
  504. package/src/interfaces/success-message.d.ts +0 -5
  505. package/src/interfaces/success-message.d.ts.map +0 -1
  506. package/src/interfaces/success-message.js +0 -3
  507. package/src/interfaces/success-message.js.map +0 -1
  508. package/src/interfaces/token-user.d.ts.map +0 -1
  509. package/src/interfaces/token-user.js +0 -3
  510. package/src/interfaces/token-user.js.map +0 -1
  511. package/src/interfaces/user-settings.d.ts +0 -11
  512. package/src/interfaces/user-settings.d.ts.map +0 -1
  513. package/src/interfaces/user-settings.js +0 -3
  514. package/src/interfaces/user-settings.js.map +0 -1
  515. package/src/lib/flags.d.ts +0 -10
  516. package/src/lib/flags.d.ts.map +0 -1
  517. package/src/lib/flags.js +0 -288
  518. package/src/lib/flags.js.map +0 -1
  519. package/src/lib/formatters.d.ts +0 -16
  520. package/src/lib/formatters.d.ts.map +0 -1
  521. package/src/lib/formatters.js +0 -29
  522. package/src/lib/formatters.js.map +0 -1
  523. package/src/lib/hydrate-dehydrate.d.ts +0 -4
  524. package/src/lib/hydrate-dehydrate.d.ts.map +0 -1
  525. package/src/lib/hydrate-dehydrate.js +0 -27
  526. package/src/lib/hydrate-dehydrate.js.map +0 -1
  527. package/src/lib/index.d.ts.map +0 -1
  528. package/src/lib/index.js +0 -12
  529. package/src/lib/index.js.map +0 -1
  530. package/src/lib/validators-with-constants.d.ts +0 -73
  531. package/src/lib/validators-with-constants.d.ts.map +0 -1
  532. package/src/lib/validators-with-constants.js +0 -64
  533. package/src/lib/validators-with-constants.js.map +0 -1
  534. package/src/lib/validators.d.ts +0 -37
  535. package/src/lib/validators.d.ts.map +0 -1
  536. package/src/lib/validators.js +0 -74
  537. package/src/lib/validators.js.map +0 -1
  538. package/src/local-storage-manager.d.ts +0 -22
  539. package/src/local-storage-manager.d.ts.map +0 -1
  540. package/src/local-storage-manager.js +0 -74
  541. package/src/local-storage-manager.js.map +0 -1
  542. package/src/strings/de.d.ts +0 -3
  543. package/src/strings/de.d.ts.map +0 -1
  544. package/src/strings/de.js +0 -487
  545. package/src/strings/de.js.map +0 -1
  546. package/src/strings/en-GB.d.ts +0 -3
  547. package/src/strings/en-GB.d.ts.map +0 -1
  548. package/src/strings/en-GB.js +0 -487
  549. package/src/strings/en-GB.js.map +0 -1
  550. package/src/strings/en-US.d.ts +0 -3
  551. package/src/strings/en-US.d.ts.map +0 -1
  552. package/src/strings/en-US.js +0 -487
  553. package/src/strings/en-US.js.map +0 -1
  554. package/src/strings/es.d.ts +0 -3
  555. package/src/strings/es.d.ts.map +0 -1
  556. package/src/strings/es.js +0 -487
  557. package/src/strings/es.js.map +0 -1
  558. package/src/strings/fr.d.ts +0 -3
  559. package/src/strings/fr.d.ts.map +0 -1
  560. package/src/strings/fr.js +0 -487
  561. package/src/strings/fr.js.map +0 -1
  562. package/src/strings/ja.d.ts +0 -3
  563. package/src/strings/ja.d.ts.map +0 -1
  564. package/src/strings/ja.js +0 -487
  565. package/src/strings/ja.js.map +0 -1
  566. package/src/strings/uk.d.ts +0 -3
  567. package/src/strings/uk.d.ts.map +0 -1
  568. package/src/strings/uk.js +0 -487
  569. package/src/strings/uk.js.map +0 -1
  570. package/src/strings/zh-CN.d.ts +0 -3
  571. package/src/strings/zh-CN.d.ts.map +0 -1
  572. package/src/strings/zh-CN.js +0 -487
  573. package/src/strings/zh-CN.js.map +0 -1
@@ -0,0 +1,133 @@
1
+ /**
2
+ * Core constants interface for authentication, validation, and system configuration.
3
+ */
4
+ import { IIdProviderBase } from '@digitaldefiance/ecies-lib';
5
+ import { IBackupCodeConstants } from './backup-code-consts';
6
+
7
+ export interface ICoreConstants {
8
+ /**
9
+ * The ID provider to use for generating and parsing IDs
10
+ */
11
+ idProvider: IIdProviderBase;
12
+ /**
13
+ * Backup code related constants
14
+ */
15
+ BACKUP_CODES: IBackupCodeConstants;
16
+ /**
17
+ * Duration in milliseconds for a login challenge
18
+ */
19
+ LoginChallengeExpiration: number;
20
+ /**
21
+ * Default duration in seconds for which mnemonics are kept in memory
22
+ */
23
+ DefaultExpireMemoryMnemonicSeconds: number;
24
+ /**
25
+ * Default duration in seconds for which wallets are kept in memory
26
+ */
27
+ DefaultExpireMemoryWalletSeconds: number;
28
+ /**
29
+ * The expected length of a direct login challenge in bytes
30
+ */
31
+ DirectLoginChallengeLength: number;
32
+ /**
33
+ * Duration in milliseconds for which an email token is valid.
34
+ */
35
+ EmailTokenExpiration: number;
36
+ /**
37
+ * Length in bytes of the email token generated (is represented as a hex string of twice as many)
38
+ */
39
+ EmailTokenLength: number;
40
+ /**
41
+ * Number of rounds for bcrypt hashing. Higher values increase security but also consume more CPU resources.
42
+ */
43
+ BcryptRounds: number;
44
+ /**
45
+ * The username of the administrator user.
46
+ */
47
+ AdministratorUser: string;
48
+ /**
49
+ * The name of the administrator role.
50
+ */
51
+ AdministratorRole: string;
52
+ /**
53
+ * The name of the member role.
54
+ */
55
+ MemberRole: string;
56
+ /**
57
+ * The username of the test user.
58
+ */
59
+ MemberUser: string;
60
+ /**
61
+ * The name of the system role.
62
+ */
63
+ SystemRole: string;
64
+ /**
65
+ * The username of the system user.
66
+ */
67
+ SystemUser: string;
68
+ /**
69
+ * Minimum username length
70
+ */
71
+ UsernameMinLength: number;
72
+ /**
73
+ * Maximum username length
74
+ */
75
+ UsernameMaxLength: number;
76
+ /**
77
+ * The regular expression for valid usernames.
78
+ */
79
+ UsernameRegex: RegExp;
80
+ /**
81
+ * Minimum password length
82
+ */
83
+ PasswordMinLength: number;
84
+ /**
85
+ * The regular expression for valid passwords.
86
+ */
87
+ PasswordRegex: RegExp;
88
+ /**
89
+ * The regular expression for valid JWT tokens.
90
+ */
91
+ JwtSecretRegex: RegExp;
92
+ /**
93
+ * The regular expression for valid mnemonic phrases.
94
+ * BIP39
95
+ */
96
+ MnemonicRegex: RegExp;
97
+ /**
98
+ * The regular expression for valid HMAC keys.
99
+ */
100
+ MnemonicHmacRegex: RegExp;
101
+ /**
102
+ * The regular expression for valid encryption keys.
103
+ */
104
+ MnemonicEncryptionKeyRegex: RegExp;
105
+ /**
106
+ * The amount of time in milliseconds after which an email token can be resent.
107
+ */
108
+ EmailTokenResendInterval: number;
109
+ /**
110
+ * The interval in minutes after which an email token can be resent.
111
+ */
112
+ EmailTokenResendIntervalMinutes: number;
113
+ /**
114
+ * The name of the site.
115
+ */
116
+ Site: string;
117
+ /**
118
+ * The tagline of the site.
119
+ */
120
+ SiteTagline: string;
121
+ /**
122
+ * The description of the site.
123
+ */
124
+ SiteDescription: string;
125
+ /**
126
+ * The email domain of usernames on the site.
127
+ */
128
+ SiteEmailDomain: string;
129
+ /**
130
+ * The hostname of the site.
131
+ */
132
+ SiteHostname: string;
133
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Utility type for making all properties of an object optional recursively.
3
+ */
4
+ export type DeepPartial<T> = {
5
+ [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
6
+ };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Email token Data Transfer Object (DTO) type.
3
+ * Plain string-based representation of email token data for serialization and API transfer.
4
+ */
5
+ import { IEmailTokenBase } from '../bases/email-token';
6
+
7
+ export type IEmailTokenDTO = IEmailTokenBase<string, string, string>;
@@ -1,3 +1,6 @@
1
+ /**
2
+ * Data Transfer Object (DTO) interface exports.
3
+ */
1
4
  export * from './email-token';
2
5
  export * from './mnemonic';
3
6
  export * from './request-user';
@@ -6,4 +9,3 @@ export * from './token-role';
6
9
  export * from './user';
7
10
  export * from './user-role';
8
11
  export * from './user-settings';
9
- //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Mnemonic Data Transfer Object (DTO) type.
3
+ * Plain string-based representation of mnemonic data for serialization and API transfer.
4
+ */
5
+ import { IMnemonicBase } from '../bases';
6
+
7
+ export type IMnemonicDTO = IMnemonicBase<string>;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Request user Data Transfer Object (DTO) interface.
3
+ * Combined user data with roles, privileges, and settings for authenticated requests.
4
+ */
5
+ import { ICombinedRolePrivileges } from '../combined-role-privileges';
6
+ import { IRoleDTO } from '../dto/role';
7
+
8
+ export interface IRequestUserDTO {
9
+ // IUserDTO
10
+ id: string;
11
+ roles: Array<IRoleDTO>;
12
+ rolePrivileges: ICombinedRolePrivileges;
13
+ username: string;
14
+ email: string;
15
+ emailVerified: boolean;
16
+ lastLogin?: string;
17
+ // IUserSettingsDTO
18
+ timezone: string;
19
+ siteLanguage: string;
20
+ darkMode: boolean;
21
+ currency: string;
22
+ directChallenge: boolean;
23
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Role Data Transfer Object (DTO) type.
3
+ * Plain string-based representation of role data for serialization and API transfer.
4
+ */
5
+ import { IRoleBase } from '../bases/role';
6
+
7
+ export type IRoleDTO = IRoleBase<string, string, string>;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Token role Data Transfer Object (DTO) interface.
3
+ * Extended role DTO with optional translated name for JWT token payloads.
4
+ */
5
+ import { IHasId } from '../has-id';
6
+ import { IHasSoftDelete } from '../has-soft-delete';
7
+ import { IHasSoftDeleter } from '../has-soft-deleter';
8
+ import { IHasTimestampOwners } from '../has-timestamp-owners';
9
+ import { IHasTimestamps } from '../has-timestamps';
10
+ import { IRoleDTO } from './role';
11
+
12
+ export interface ITokenRoleDTO
13
+ extends
14
+ IRoleDTO,
15
+ IHasId<string>,
16
+ IHasTimestamps<string>,
17
+ IHasTimestampOwners<string>,
18
+ IHasSoftDelete<string>,
19
+ IHasSoftDeleter<string> {
20
+ translatedName?: string;
21
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * User-role relationship Data Transfer Object (DTO) type.
3
+ * Plain string-based representation of user-role associations for serialization and API transfer.
4
+ */
5
+ import { IUserRoleBase } from '../bases/user-role';
6
+
7
+ export type IUserRoleDTO = IUserRoleBase<string, string>;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * User settings Data Transfer Object (DTO).
3
+ * Plain string-based representation of user settings for serialization and API transfer.
4
+ */
5
+ export interface IUserSettingsDTO {
6
+ email: string;
7
+ timezone: string;
8
+ currency: string;
9
+ siteLanguage: string;
10
+ darkMode: boolean;
11
+ directChallenge: boolean;
12
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * User Data Transfer Object (DTO) type.
3
+ * Plain string-based representation of user data for serialization and API transfer.
4
+ */
5
+ import { IUserBase } from '../bases/user';
6
+
7
+ export type IUserDTO = IUserBase<string, string, string, string>;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Result type for operations that can succeed or fail with optional data and error information.
3
+ */
4
+ export interface IFailableResult<T> {
5
+ success: boolean;
6
+ data?: T;
7
+ message?: string;
8
+ error?: string | Error;
9
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Email token frontend object type.
3
+ * Client-side representation of email token data with Date objects and typed enums.
4
+ */
5
+ import { EmailTokenType } from '../../enumerations/email-token-type';
6
+ import { IEmailTokenBase } from '../bases/email-token';
7
+
8
+ export type IEmailTokenFrontendObject = IEmailTokenBase<
9
+ string,
10
+ Date,
11
+ EmailTokenType
12
+ >;
@@ -1,6 +1,8 @@
1
+ /**
2
+ * Frontend object interface exports for client-side use.
3
+ */
1
4
  export * from './email-token';
2
5
  export * from './request-user';
3
6
  export * from './role';
4
7
  export * from './user';
5
8
  export * from './user-role';
6
- //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Request user frontend object interface.
3
+ * Client-side representation of authenticated user data with roles, privileges, and settings.
4
+ */
5
+ import { ICombinedRolePrivileges } from '../combined-role-privileges';
6
+ import { IRoleFrontendObject } from './role';
7
+
8
+ export interface IRequestUserFrontendObject {
9
+ id: string;
10
+ roles: Array<IRoleFrontendObject>;
11
+ rolePrivileges: ICombinedRolePrivileges;
12
+ username: string;
13
+ email: string;
14
+ timezone: string;
15
+ currency: string;
16
+ directChallenge: boolean;
17
+ siteLanguage: string;
18
+ lastLogin?: Date;
19
+ emailVerified: boolean;
20
+ darkMode: boolean;
21
+ }
@@ -1,4 +1,8 @@
1
+ /**
2
+ * Role frontend object type.
3
+ * Client-side representation of role data with Date objects and typed enums.
4
+ */
1
5
  import { Role } from '../../enumerations/role';
2
6
  import { IRoleBase } from '../bases/role';
7
+
3
8
  export type IRoleFrontendObject = IRoleBase<string, Date, Role>;
4
- //# sourceMappingURL=role.d.ts.map
@@ -0,0 +1,7 @@
1
+ /**
2
+ * User-role relationship frontend object type.
3
+ * Client-side representation of user-role associations with Date objects.
4
+ */
5
+ import { IUserRoleBase } from '../bases/user-role';
6
+
7
+ export type IUserRoleFrontendObject = IUserRoleBase<string, Date>;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * User frontend object type.
3
+ * Client-side representation of user data with Date objects and typed enums.
4
+ */
5
+ import { AccountStatus } from '../../enumerations/account-status';
6
+ import { IUserBase } from '../bases/user';
7
+
8
+ export type IUserFrontendObject = IUserBase<
9
+ string,
10
+ Date,
11
+ string,
12
+ AccountStatus
13
+ >;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Interface for objects with a creation timestamp.
3
+ */
4
+ export interface IHasCreation<TDate extends Date | string> {
5
+ /**
6
+ * The date the object was created.
7
+ */
8
+ createdAt: TDate;
9
+ }
@@ -0,0 +1,11 @@
1
+ import type { PlatformID } from "@digitaldefiance/ecies-lib";
2
+
3
+ /**
4
+ * Interface for objects that track who created them.
5
+ */
6
+ export interface IHasCreator<TID extends PlatformID> {
7
+ /**
8
+ * The unique identifier for the user who created the object.
9
+ */
10
+ createdBy: TID;
11
+ }
@@ -0,0 +1,8 @@
1
+ import type { PlatformID } from "@digitaldefiance/ecies-lib";
2
+
3
+ /**
4
+ * Interface for objects with a unique identifier.
5
+ */
6
+ export interface IHasId<TID extends PlatformID> {
7
+ _id: TID;
8
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Interface for objects with soft delete capability (deletion timestamp).
3
+ */
4
+ export interface IHasSoftDelete<TDate extends Date | string> {
5
+ /**
6
+ * The date the object was deleted.
7
+ */
8
+ deletedAt?: TDate;
9
+ }
@@ -0,0 +1,11 @@
1
+ import type { PlatformID } from "@digitaldefiance/ecies-lib";
2
+
3
+ /**
4
+ * Interface for objects that track who deleted them (soft delete).
5
+ */
6
+ export interface IHasSoftDeleter<TID extends PlatformID> {
7
+ /**
8
+ * The unique identifier for the user who deleted the object.
9
+ */
10
+ deletedBy?: TID;
11
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Interface combining creator and updater tracking.
3
+ */
4
+ import type { PlatformID } from '@digitaldefiance/ecies-lib';
5
+ import { IHasCreator } from './has-creator';
6
+ import { IHasUpdater } from './has-updater';
7
+
8
+ export interface IHasTimestampOwners<TID extends PlatformID>
9
+ extends IHasCreator<TID>, IHasUpdater<TID> {}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Interface for objects with creation and update timestamps.
3
+ */
4
+ import { IHasCreation } from './has-creation';
5
+
6
+ export interface IHasTimestamps<
7
+ TDate extends Date | string,
8
+ > extends IHasCreation<TDate> {
9
+ createdAt: TDate;
10
+ updatedAt: TDate;
11
+ }
@@ -0,0 +1,11 @@
1
+ import type { PlatformID } from "@digitaldefiance/ecies-lib";
2
+
3
+ /**
4
+ * Interface for objects that track who updated them.
5
+ */
6
+ export interface IHasUpdater<TID extends PlatformID> {
7
+ /**
8
+ * The unique identifier for the user who updated the object.
9
+ */
10
+ updatedBy: TID;
11
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Interface for objects with an update timestamp.
3
+ */
4
+ export interface IHasUpdates<TDate extends Date | string> {
5
+ updatedAt: TDate;
6
+ }
@@ -1,3 +1,6 @@
1
+ /**
2
+ * Interface exports for the suite-core library.
3
+ */
1
4
  export * from './backup-code';
2
5
  export * from './backup-code-consts';
3
6
  export * from './bases';
@@ -20,4 +23,3 @@ export * from './has-updates';
20
23
  export * from './success-message';
21
24
  export * from './token-user';
22
25
  export * from './user-settings';
23
- //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Simple success message interface with boolean flag and message text.
3
+ */
4
+ export interface ISuccessMessage {
5
+ success: boolean;
6
+ message: string;
7
+ }
@@ -1,9 +1,9 @@
1
1
  import { ITokenRoleDTO } from './dto/token-role';
2
+
2
3
  /**
3
4
  * Interface for the user object stored in the JWT token
4
5
  */
5
6
  export interface ITokenUser {
6
- userId: string;
7
- roles: ITokenRoleDTO[];
7
+ userId: string;
8
+ roles: ITokenRoleDTO[];
8
9
  }
9
- //# sourceMappingURL=token-user.d.ts.map
@@ -0,0 +1,14 @@
1
+ /**
2
+ * User settings interface with typed email, timezone, and currency.
3
+ */
4
+ import { EmailString } from '@digitaldefiance/ecies-lib';
5
+ import { CurrencyCode, Timezone } from '@digitaldefiance/i18n-lib';
6
+
7
+ export interface IUserSettings {
8
+ email: EmailString;
9
+ timezone: Timezone;
10
+ currency: CurrencyCode;
11
+ siteLanguage: string;
12
+ darkMode: boolean;
13
+ directChallenge: boolean;
14
+ }