@digitaldefiance/suite-core-lib 3.6.6 → 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.
- package/LICENSE +21 -0
- package/README.md +82 -44
- package/package.json +10 -6
- package/src/backup-code-string.ts +96 -0
- package/src/builders/{index.d.ts → index.ts} +1 -1
- package/src/builders/role-builder.ts +63 -0
- package/src/builders/user-builder.ts +72 -0
- package/src/constants.ts +220 -0
- package/src/core/{errors.d.ts → errors.ts} +4 -1
- package/src/core/{index.d.ts → index.ts} +1 -1
- package/src/core/result.ts +36 -0
- package/src/core/{types.d.ts → types.ts} +6 -1
- package/src/defaults.ts +110 -0
- package/src/enumerations/account-status.ts +17 -0
- package/src/enumerations/email-token-type.ts +24 -0
- package/src/enumerations/fec-error-type.ts +13 -0
- package/src/enumerations/{index.d.ts → index.ts} +1 -2
- package/src/enumerations/pbkdf2-error-type.ts +4 -0
- package/src/enumerations/role.ts +5 -0
- package/src/enumerations/suite-core-string-key.ts +495 -0
- package/src/errors/account-locked.ts +9 -0
- package/src/errors/account-status.ts +33 -0
- package/src/errors/admin-role-not-found.ts +10 -0
- package/src/errors/core-typed-handleable.ts +69 -0
- package/src/errors/direct-challenge-not-enabled.ts +12 -0
- package/src/errors/direct-token-used.ts +9 -0
- package/src/errors/email-in-use.ts +11 -0
- package/src/errors/email-token-expired.ts +12 -0
- package/src/errors/email-token-failed-to-send.ts +20 -0
- package/src/errors/email-token-sent-too-recently.ts +29 -0
- package/src/errors/email-token-used-or-invalid.ts +12 -0
- package/src/errors/email-verified.ts +11 -0
- package/src/errors/failed-to-use-direct-token.ts +9 -0
- package/src/errors/fec-error.ts +33 -0
- package/src/errors/generic-validation.ts +11 -0
- package/src/errors/{index.d.ts → index.ts} +0 -1
- package/src/errors/invalid-backup-code.ts +6 -0
- package/src/errors/invalid-challenge-response.ts +12 -0
- package/src/errors/invalid-challenge.ts +9 -0
- package/src/errors/invalid-credentials.ts +14 -0
- package/src/errors/invalid-email.ts +22 -0
- package/src/errors/invalid-expired-token.ts +11 -0
- package/src/errors/invalid-token.ts +13 -0
- package/src/errors/invalid-userid.ts +21 -0
- package/src/errors/invalid-username.ts +14 -0
- package/src/errors/last-admin-error.ts +12 -0
- package/src/errors/login-challenge-expired.ts +12 -0
- package/src/errors/member-role-not-found.ts +10 -0
- package/src/errors/password-login-not-enabled.ts +12 -0
- package/src/errors/password-login-not-setup.ts +12 -0
- package/src/errors/pbkdf2-error.ts +19 -0
- package/src/errors/pending-email-verification.ts +9 -0
- package/src/errors/private-key-required.ts +13 -0
- package/src/errors/system-role-not-found.ts +10 -0
- package/src/errors/token-not-found.ts +26 -0
- package/src/errors/translatable-suite-handleable.ts +27 -0
- package/src/errors/translatable-suite.ts +34 -0
- package/src/errors/user-not-found.ts +14 -0
- package/src/errors/username-email-required.ts +20 -0
- package/src/errors/username-in-use.ts +14 -0
- package/src/i18n-setup.ts +141 -0
- package/src/{index.d.ts → index.ts} +0 -1
- package/src/interfaces/backup-code-consts.ts +15 -0
- package/src/interfaces/backup-code.ts +6 -0
- package/src/interfaces/bases/email-token.ts +38 -0
- package/src/interfaces/bases/{index.d.ts → index.ts} +0 -1
- package/src/interfaces/bases/{mnemonic.d.ts → mnemonic.ts} +5 -5
- package/src/interfaces/bases/role.ts +40 -0
- package/src/interfaces/bases/token-role.ts +9 -0
- package/src/interfaces/bases/{used-direct-login-token.d.ts → used-direct-login-token.ts} +3 -3
- package/src/interfaces/bases/user-role.ts +21 -0
- package/src/interfaces/bases/user.ts +88 -0
- package/src/interfaces/combined-role-privileges.ts +6 -0
- package/src/interfaces/constants.ts +56 -0
- package/src/interfaces/core-consts.ts +130 -0
- package/src/interfaces/deep-partial.ts +3 -0
- package/src/interfaces/dto/{email-token.d.ts → email-token.ts} +1 -1
- package/src/interfaces/dto/{index.d.ts → index.ts} +1 -2
- package/src/interfaces/dto/{mnemonic.d.ts → mnemonic.ts} +1 -1
- package/src/interfaces/dto/request-user.ts +19 -0
- package/src/interfaces/dto/{role.d.ts → role.ts} +1 -1
- package/src/interfaces/dto/{token-role.d.ts → token-role.ts} +9 -3
- package/src/interfaces/dto/{user-role.d.ts → user-role.ts} +1 -1
- package/src/interfaces/dto/{user-settings.d.ts → user-settings.ts} +1 -2
- package/src/interfaces/dto/{user.d.ts → user.ts} +1 -1
- package/src/interfaces/failable-result.ts +6 -0
- package/src/interfaces/frontend-objects/email-token.ts +8 -0
- package/src/interfaces/frontend-objects/{index.d.ts → index.ts} +1 -2
- package/src/interfaces/frontend-objects/request-user.ts +17 -0
- package/src/interfaces/frontend-objects/{role.d.ts → role.ts} +1 -1
- package/src/interfaces/frontend-objects/{user-role.d.ts → user-role.ts} +1 -1
- package/src/interfaces/frontend-objects/user.ts +9 -0
- package/src/interfaces/has-creation.ts +6 -0
- package/src/interfaces/has-creator.ts +6 -0
- package/src/interfaces/has-id.ts +3 -0
- package/src/interfaces/has-soft-delete.ts +6 -0
- package/src/interfaces/has-soft-deleter.ts +6 -0
- package/src/interfaces/has-timestamp-owners.ts +6 -0
- package/src/interfaces/has-timestamps.ts +7 -0
- package/src/interfaces/has-updater.ts +6 -0
- package/src/interfaces/has-updates.ts +3 -0
- package/src/interfaces/{index.d.ts → index.ts} +0 -1
- package/src/interfaces/success-message.ts +4 -0
- package/src/interfaces/{token-user.d.ts → token-user.ts} +3 -3
- package/src/interfaces/{user-settings.d.ts → user-settings.ts} +2 -2
- package/src/lib/flags.ts +286 -0
- package/src/lib/formatters.ts +28 -0
- package/src/lib/hydrate-dehydrate.ts +27 -0
- package/src/lib/{index.d.ts → index.ts} +2 -2
- package/src/lib/validators-with-constants.ts +72 -0
- package/src/lib/validators.ts +72 -0
- package/src/local-storage-manager.ts +69 -0
- package/src/strings/de.ts +689 -0
- package/src/strings/en-GB.ts +626 -0
- package/src/strings/en-US.ts +628 -0
- package/src/strings/es.ts +688 -0
- package/src/strings/fr.ts +685 -0
- package/src/strings/ja.ts +654 -0
- package/src/strings/uk.ts +667 -0
- package/src/strings/zh-CN.ts +566 -0
- package/src/backup-code-string.d.ts +0 -29
- package/src/backup-code-string.d.ts.map +0 -1
- package/src/backup-code-string.js +0 -81
- package/src/backup-code-string.js.map +0 -1
- package/src/builders/index.d.ts.map +0 -1
- package/src/builders/index.js +0 -9
- package/src/builders/index.js.map +0 -1
- package/src/builders/role-builder.d.ts +0 -19
- package/src/builders/role-builder.d.ts.map +0 -1
- package/src/builders/role-builder.js +0 -57
- package/src/builders/role-builder.js.map +0 -1
- package/src/builders/user-builder.d.ts +0 -23
- package/src/builders/user-builder.d.ts.map +0 -1
- package/src/builders/user-builder.js +0 -63
- package/src/builders/user-builder.js.map +0 -1
- package/src/constants.d.ts +0 -7
- package/src/constants.d.ts.map +0 -1
- package/src/constants.js +0 -209
- package/src/constants.js.map +0 -1
- package/src/core/errors.d.ts.map +0 -1
- package/src/core/errors.js +0 -29
- package/src/core/errors.js.map +0 -1
- package/src/core/index.d.ts.map +0 -1
- package/src/core/index.js +0 -10
- package/src/core/index.js.map +0 -1
- package/src/core/result.d.ts +0 -34
- package/src/core/result.d.ts.map +0 -1
- package/src/core/result.js +0 -35
- package/src/core/result.js.map +0 -1
- package/src/core/types.d.ts.map +0 -1
- package/src/core/types.js +0 -6
- package/src/core/types.js.map +0 -1
- package/src/defaults.d.ts +0 -7
- package/src/defaults.d.ts.map +0 -1
- package/src/defaults.js +0 -66
- package/src/defaults.js.map +0 -1
- package/src/enumerations/account-status.d.ts +0 -18
- package/src/enumerations/account-status.d.ts.map +0 -1
- package/src/enumerations/account-status.js +0 -22
- package/src/enumerations/account-status.js.map +0 -1
- package/src/enumerations/email-token-type.d.ts +0 -25
- package/src/enumerations/email-token-type.d.ts.map +0 -1
- package/src/enumerations/email-token-type.js +0 -29
- package/src/enumerations/email-token-type.js.map +0 -1
- package/src/enumerations/fec-error-type.d.ts +0 -14
- package/src/enumerations/fec-error-type.d.ts.map +0 -1
- package/src/enumerations/fec-error-type.js +0 -18
- package/src/enumerations/fec-error-type.js.map +0 -1
- package/src/enumerations/index.d.ts.map +0 -1
- package/src/enumerations/index.js +0 -10
- package/src/enumerations/index.js.map +0 -1
- package/src/enumerations/pbkdf2-error-type.d.ts +0 -5
- package/src/enumerations/pbkdf2-error-type.d.ts.map +0 -1
- package/src/enumerations/pbkdf2-error-type.js +0 -9
- package/src/enumerations/pbkdf2-error-type.js.map +0 -1
- package/src/enumerations/role.d.ts +0 -6
- package/src/enumerations/role.d.ts.map +0 -1
- package/src/enumerations/role.js +0 -10
- package/src/enumerations/role.js.map +0 -1
- package/src/enumerations/suite-core-string-key.d.ts +0 -482
- package/src/enumerations/suite-core-string-key.d.ts.map +0 -1
- package/src/enumerations/suite-core-string-key.js +0 -493
- package/src/enumerations/suite-core-string-key.js.map +0 -1
- package/src/errors/account-locked.d.ts +0 -5
- package/src/errors/account-locked.d.ts.map +0 -1
- package/src/errors/account-locked.js +0 -13
- package/src/errors/account-locked.js.map +0 -1
- package/src/errors/account-status.d.ts +0 -7
- package/src/errors/account-status.d.ts.map +0 -1
- package/src/errors/account-status.js +0 -31
- package/src/errors/account-status.js.map +0 -1
- package/src/errors/admin-role-not-found.d.ts +0 -6
- package/src/errors/admin-role-not-found.d.ts.map +0 -1
- package/src/errors/admin-role-not-found.js +0 -13
- package/src/errors/admin-role-not-found.js.map +0 -1
- package/src/errors/core-typed-handleable.d.ts +0 -12
- package/src/errors/core-typed-handleable.d.ts.map +0 -1
- package/src/errors/core-typed-handleable.js +0 -51
- package/src/errors/core-typed-handleable.js.map +0 -1
- package/src/errors/direct-challenge-not-enabled.d.ts +0 -5
- package/src/errors/direct-challenge-not-enabled.d.ts.map +0 -1
- package/src/errors/direct-challenge-not-enabled.js +0 -16
- package/src/errors/direct-challenge-not-enabled.js.map +0 -1
- package/src/errors/direct-token-used.d.ts +0 -5
- package/src/errors/direct-token-used.d.ts.map +0 -1
- package/src/errors/direct-token-used.js +0 -13
- package/src/errors/direct-token-used.js.map +0 -1
- package/src/errors/email-in-use.d.ts +0 -5
- package/src/errors/email-in-use.d.ts.map +0 -1
- package/src/errors/email-in-use.js +0 -15
- package/src/errors/email-in-use.js.map +0 -1
- package/src/errors/email-token-expired.d.ts +0 -5
- package/src/errors/email-token-expired.d.ts.map +0 -1
- package/src/errors/email-token-expired.js +0 -15
- package/src/errors/email-token-expired.js.map +0 -1
- package/src/errors/email-token-failed-to-send.d.ts +0 -6
- package/src/errors/email-token-failed-to-send.d.ts.map +0 -1
- package/src/errors/email-token-failed-to-send.js +0 -22
- package/src/errors/email-token-failed-to-send.js.map +0 -1
- package/src/errors/email-token-sent-too-recently.d.ts +0 -7
- package/src/errors/email-token-sent-too-recently.d.ts.map +0 -1
- package/src/errors/email-token-sent-too-recently.js +0 -21
- package/src/errors/email-token-sent-too-recently.js.map +0 -1
- package/src/errors/email-token-used-or-invalid.d.ts +0 -5
- package/src/errors/email-token-used-or-invalid.d.ts.map +0 -1
- package/src/errors/email-token-used-or-invalid.js +0 -15
- package/src/errors/email-token-used-or-invalid.js.map +0 -1
- package/src/errors/email-verified.d.ts +0 -5
- package/src/errors/email-verified.d.ts.map +0 -1
- package/src/errors/email-verified.js +0 -15
- package/src/errors/email-verified.js.map +0 -1
- package/src/errors/failed-to-use-direct-token.d.ts +0 -5
- package/src/errors/failed-to-use-direct-token.d.ts.map +0 -1
- package/src/errors/failed-to-use-direct-token.js +0 -13
- package/src/errors/failed-to-use-direct-token.js.map +0 -1
- package/src/errors/fec-error.d.ts +0 -6
- package/src/errors/fec-error.d.ts.map +0 -1
- package/src/errors/fec-error.js +0 -26
- package/src/errors/fec-error.js.map +0 -1
- package/src/errors/generic-validation.d.ts +0 -5
- package/src/errors/generic-validation.d.ts.map +0 -1
- package/src/errors/generic-validation.js +0 -12
- package/src/errors/generic-validation.js.map +0 -1
- package/src/errors/index.d.ts.map +0 -1
- package/src/errors/index.js +0 -43
- package/src/errors/index.js.map +0 -1
- package/src/errors/invalid-backup-code.d.ts +0 -4
- package/src/errors/invalid-backup-code.d.ts.map +0 -1
- package/src/errors/invalid-backup-code.js +0 -11
- package/src/errors/invalid-backup-code.js.map +0 -1
- package/src/errors/invalid-challenge-response.d.ts +0 -5
- package/src/errors/invalid-challenge-response.d.ts.map +0 -1
- package/src/errors/invalid-challenge-response.js +0 -16
- package/src/errors/invalid-challenge-response.js.map +0 -1
- package/src/errors/invalid-challenge.d.ts +0 -5
- package/src/errors/invalid-challenge.d.ts.map +0 -1
- package/src/errors/invalid-challenge.js +0 -13
- package/src/errors/invalid-challenge.js.map +0 -1
- package/src/errors/invalid-credentials.d.ts +0 -5
- package/src/errors/invalid-credentials.d.ts.map +0 -1
- package/src/errors/invalid-credentials.js +0 -15
- package/src/errors/invalid-credentials.js.map +0 -1
- package/src/errors/invalid-email.d.ts +0 -8
- package/src/errors/invalid-email.d.ts.map +0 -1
- package/src/errors/invalid-email.js +0 -25
- package/src/errors/invalid-email.js.map +0 -1
- package/src/errors/invalid-expired-token.d.ts +0 -7
- package/src/errors/invalid-expired-token.d.ts.map +0 -1
- package/src/errors/invalid-expired-token.js +0 -13
- package/src/errors/invalid-expired-token.js.map +0 -1
- package/src/errors/invalid-token.d.ts +0 -5
- package/src/errors/invalid-token.d.ts.map +0 -1
- package/src/errors/invalid-token.js +0 -16
- package/src/errors/invalid-token.js.map +0 -1
- package/src/errors/invalid-userid.d.ts +0 -6
- package/src/errors/invalid-userid.d.ts.map +0 -1
- package/src/errors/invalid-userid.js +0 -18
- package/src/errors/invalid-userid.js.map +0 -1
- package/src/errors/invalid-username.d.ts +0 -5
- package/src/errors/invalid-username.d.ts.map +0 -1
- package/src/errors/invalid-username.js +0 -13
- package/src/errors/invalid-username.js.map +0 -1
- package/src/errors/last-admin-error.d.ts +0 -6
- package/src/errors/last-admin-error.d.ts.map +0 -1
- package/src/errors/last-admin-error.js +0 -15
- package/src/errors/last-admin-error.js.map +0 -1
- package/src/errors/login-challenge-expired.d.ts +0 -5
- package/src/errors/login-challenge-expired.d.ts.map +0 -1
- package/src/errors/login-challenge-expired.js +0 -16
- package/src/errors/login-challenge-expired.js.map +0 -1
- package/src/errors/member-role-not-found.d.ts +0 -6
- package/src/errors/member-role-not-found.d.ts.map +0 -1
- package/src/errors/member-role-not-found.js +0 -13
- package/src/errors/member-role-not-found.js.map +0 -1
- package/src/errors/password-login-not-enabled.d.ts +0 -5
- package/src/errors/password-login-not-enabled.d.ts.map +0 -1
- package/src/errors/password-login-not-enabled.js +0 -16
- package/src/errors/password-login-not-enabled.js.map +0 -1
- package/src/errors/password-login-not-setup.d.ts +0 -5
- package/src/errors/password-login-not-setup.d.ts.map +0 -1
- package/src/errors/password-login-not-setup.js +0 -16
- package/src/errors/password-login-not-setup.js.map +0 -1
- package/src/errors/pbkdf2-error.d.ts +0 -7
- package/src/errors/pbkdf2-error.d.ts.map +0 -1
- package/src/errors/pbkdf2-error.js +0 -20
- package/src/errors/pbkdf2-error.js.map +0 -1
- package/src/errors/pending-email-verification.d.ts +0 -5
- package/src/errors/pending-email-verification.d.ts.map +0 -1
- package/src/errors/pending-email-verification.js +0 -13
- package/src/errors/pending-email-verification.js.map +0 -1
- package/src/errors/private-key-required.d.ts +0 -5
- package/src/errors/private-key-required.d.ts.map +0 -1
- package/src/errors/private-key-required.js +0 -13
- package/src/errors/private-key-required.js.map +0 -1
- package/src/errors/system-role-not-found.d.ts +0 -6
- package/src/errors/system-role-not-found.d.ts.map +0 -1
- package/src/errors/system-role-not-found.js +0 -13
- package/src/errors/system-role-not-found.js.map +0 -1
- package/src/errors/token-not-found.d.ts +0 -7
- package/src/errors/token-not-found.d.ts.map +0 -1
- package/src/errors/token-not-found.js +0 -19
- package/src/errors/token-not-found.js.map +0 -1
- package/src/errors/translatable-suite-handleable.d.ts +0 -10
- package/src/errors/translatable-suite-handleable.d.ts.map +0 -1
- package/src/errors/translatable-suite-handleable.js +0 -15
- package/src/errors/translatable-suite-handleable.js.map +0 -1
- package/src/errors/translatable-suite.d.ts +0 -13
- package/src/errors/translatable-suite.d.ts.map +0 -1
- package/src/errors/translatable-suite.js +0 -29
- package/src/errors/translatable-suite.js.map +0 -1
- package/src/errors/user-not-found.d.ts +0 -5
- package/src/errors/user-not-found.d.ts.map +0 -1
- package/src/errors/user-not-found.js +0 -13
- package/src/errors/user-not-found.js.map +0 -1
- package/src/errors/username-email-required.d.ts +0 -6
- package/src/errors/username-email-required.d.ts.map +0 -1
- package/src/errors/username-email-required.js +0 -16
- package/src/errors/username-email-required.js.map +0 -1
- package/src/errors/username-in-use.d.ts +0 -5
- package/src/errors/username-in-use.d.ts.map +0 -1
- package/src/errors/username-in-use.js +0 -13
- package/src/errors/username-in-use.js.map +0 -1
- package/src/i18n-setup.d.ts +0 -13
- package/src/i18n-setup.d.ts.map +0 -1
- package/src/i18n-setup.js +0 -116
- package/src/i18n-setup.js.map +0 -1
- package/src/index.d.ts.map +0 -1
- package/src/index.js +0 -15
- package/src/index.js.map +0 -1
- package/src/interfaces/backup-code-consts.d.ts +0 -16
- package/src/interfaces/backup-code-consts.d.ts.map +0 -1
- package/src/interfaces/backup-code-consts.js +0 -3
- package/src/interfaces/backup-code-consts.js.map +0 -1
- package/src/interfaces/backup-code.d.ts +0 -7
- package/src/interfaces/backup-code.d.ts.map +0 -1
- package/src/interfaces/backup-code.js +0 -3
- package/src/interfaces/backup-code.js.map +0 -1
- package/src/interfaces/bases/email-token.d.ts +0 -33
- package/src/interfaces/bases/email-token.d.ts.map +0 -1
- package/src/interfaces/bases/email-token.js +0 -3
- package/src/interfaces/bases/email-token.js.map +0 -1
- package/src/interfaces/bases/index.d.ts.map +0 -1
- package/src/interfaces/bases/index.js +0 -11
- package/src/interfaces/bases/index.js.map +0 -1
- package/src/interfaces/bases/mnemonic.d.ts.map +0 -1
- package/src/interfaces/bases/mnemonic.js +0 -3
- package/src/interfaces/bases/mnemonic.js.map +0 -1
- package/src/interfaces/bases/role.d.ts +0 -32
- package/src/interfaces/bases/role.d.ts.map +0 -1
- package/src/interfaces/bases/role.js +0 -3
- package/src/interfaces/bases/role.js.map +0 -1
- package/src/interfaces/bases/token-role.d.ts +0 -8
- package/src/interfaces/bases/token-role.d.ts.map +0 -1
- package/src/interfaces/bases/token-role.js +0 -3
- package/src/interfaces/bases/token-role.js.map +0 -1
- package/src/interfaces/bases/used-direct-login-token.d.ts.map +0 -1
- package/src/interfaces/bases/used-direct-login-token.js +0 -3
- package/src/interfaces/bases/used-direct-login-token.js.map +0 -1
- package/src/interfaces/bases/user-role.d.ts +0 -16
- package/src/interfaces/bases/user-role.d.ts.map +0 -1
- package/src/interfaces/bases/user-role.js +0 -3
- package/src/interfaces/bases/user-role.js.map +0 -1
- package/src/interfaces/bases/user.d.ts +0 -79
- package/src/interfaces/bases/user.d.ts.map +0 -1
- package/src/interfaces/bases/user.js +0 -3
- package/src/interfaces/bases/user.js.map +0 -1
- package/src/interfaces/combined-role-privileges.d.ts +0 -7
- package/src/interfaces/combined-role-privileges.d.ts.map +0 -1
- package/src/interfaces/combined-role-privileges.js +0 -3
- package/src/interfaces/combined-role-privileges.js.map +0 -1
- package/src/interfaces/constants.d.ts +0 -56
- package/src/interfaces/constants.d.ts.map +0 -1
- package/src/interfaces/constants.js +0 -3
- package/src/interfaces/constants.js.map +0 -1
- package/src/interfaces/core-consts.d.ts +0 -130
- package/src/interfaces/core-consts.d.ts.map +0 -1
- package/src/interfaces/core-consts.js +0 -3
- package/src/interfaces/core-consts.js.map +0 -1
- package/src/interfaces/deep-partial.d.ts +0 -4
- package/src/interfaces/deep-partial.d.ts.map +0 -1
- package/src/interfaces/deep-partial.js +0 -3
- package/src/interfaces/deep-partial.js.map +0 -1
- package/src/interfaces/dto/email-token.d.ts.map +0 -1
- package/src/interfaces/dto/email-token.js +0 -3
- package/src/interfaces/dto/email-token.js.map +0 -1
- package/src/interfaces/dto/index.d.ts.map +0 -1
- package/src/interfaces/dto/index.js +0 -12
- package/src/interfaces/dto/index.js.map +0 -1
- package/src/interfaces/dto/mnemonic.d.ts.map +0 -1
- package/src/interfaces/dto/mnemonic.js +0 -3
- package/src/interfaces/dto/mnemonic.js.map +0 -1
- package/src/interfaces/dto/request-user.d.ts +0 -17
- package/src/interfaces/dto/request-user.d.ts.map +0 -1
- package/src/interfaces/dto/request-user.js +0 -3
- package/src/interfaces/dto/request-user.js.map +0 -1
- package/src/interfaces/dto/role.d.ts.map +0 -1
- package/src/interfaces/dto/role.js +0 -3
- package/src/interfaces/dto/role.js.map +0 -1
- package/src/interfaces/dto/token-role.d.ts.map +0 -1
- package/src/interfaces/dto/token-role.js +0 -3
- package/src/interfaces/dto/token-role.js.map +0 -1
- package/src/interfaces/dto/user-role.d.ts.map +0 -1
- package/src/interfaces/dto/user-role.js +0 -3
- package/src/interfaces/dto/user-role.js.map +0 -1
- package/src/interfaces/dto/user-settings.d.ts.map +0 -1
- package/src/interfaces/dto/user-settings.js +0 -3
- package/src/interfaces/dto/user-settings.js.map +0 -1
- package/src/interfaces/dto/user.d.ts.map +0 -1
- package/src/interfaces/dto/user.js +0 -3
- package/src/interfaces/dto/user.js.map +0 -1
- package/src/interfaces/failable-result.d.ts +0 -7
- package/src/interfaces/failable-result.d.ts.map +0 -1
- package/src/interfaces/failable-result.js +0 -3
- package/src/interfaces/failable-result.js.map +0 -1
- package/src/interfaces/frontend-objects/email-token.d.ts +0 -4
- package/src/interfaces/frontend-objects/email-token.d.ts.map +0 -1
- package/src/interfaces/frontend-objects/email-token.js +0 -3
- package/src/interfaces/frontend-objects/email-token.js.map +0 -1
- package/src/interfaces/frontend-objects/index.d.ts.map +0 -1
- package/src/interfaces/frontend-objects/index.js +0 -9
- package/src/interfaces/frontend-objects/index.js.map +0 -1
- package/src/interfaces/frontend-objects/request-user.d.ts +0 -17
- package/src/interfaces/frontend-objects/request-user.d.ts.map +0 -1
- package/src/interfaces/frontend-objects/request-user.js +0 -3
- package/src/interfaces/frontend-objects/request-user.js.map +0 -1
- package/src/interfaces/frontend-objects/role.d.ts.map +0 -1
- package/src/interfaces/frontend-objects/role.js +0 -3
- package/src/interfaces/frontend-objects/role.js.map +0 -1
- package/src/interfaces/frontend-objects/user-role.d.ts.map +0 -1
- package/src/interfaces/frontend-objects/user-role.js +0 -3
- package/src/interfaces/frontend-objects/user-role.js.map +0 -1
- package/src/interfaces/frontend-objects/user.d.ts +0 -4
- package/src/interfaces/frontend-objects/user.d.ts.map +0 -1
- package/src/interfaces/frontend-objects/user.js +0 -3
- package/src/interfaces/frontend-objects/user.js.map +0 -1
- package/src/interfaces/has-creation.d.ts +0 -7
- package/src/interfaces/has-creation.d.ts.map +0 -1
- package/src/interfaces/has-creation.js +0 -3
- package/src/interfaces/has-creation.js.map +0 -1
- package/src/interfaces/has-creator.d.ts +0 -7
- package/src/interfaces/has-creator.d.ts.map +0 -1
- package/src/interfaces/has-creator.js +0 -3
- package/src/interfaces/has-creator.js.map +0 -1
- package/src/interfaces/has-id.d.ts +0 -4
- package/src/interfaces/has-id.d.ts.map +0 -1
- package/src/interfaces/has-id.js +0 -3
- package/src/interfaces/has-id.js.map +0 -1
- package/src/interfaces/has-soft-delete.d.ts +0 -7
- package/src/interfaces/has-soft-delete.d.ts.map +0 -1
- package/src/interfaces/has-soft-delete.js +0 -3
- package/src/interfaces/has-soft-delete.js.map +0 -1
- package/src/interfaces/has-soft-deleter.d.ts +0 -7
- package/src/interfaces/has-soft-deleter.d.ts.map +0 -1
- package/src/interfaces/has-soft-deleter.js +0 -3
- package/src/interfaces/has-soft-deleter.js.map +0 -1
- package/src/interfaces/has-timestamp-owners.d.ts +0 -5
- package/src/interfaces/has-timestamp-owners.d.ts.map +0 -1
- package/src/interfaces/has-timestamp-owners.js +0 -3
- package/src/interfaces/has-timestamp-owners.js.map +0 -1
- package/src/interfaces/has-timestamps.d.ts +0 -6
- package/src/interfaces/has-timestamps.d.ts.map +0 -1
- package/src/interfaces/has-timestamps.js +0 -3
- package/src/interfaces/has-timestamps.js.map +0 -1
- package/src/interfaces/has-updater.d.ts +0 -7
- package/src/interfaces/has-updater.d.ts.map +0 -1
- package/src/interfaces/has-updater.js +0 -3
- package/src/interfaces/has-updater.js.map +0 -1
- package/src/interfaces/has-updates.d.ts +0 -4
- package/src/interfaces/has-updates.d.ts.map +0 -1
- package/src/interfaces/has-updates.js +0 -3
- package/src/interfaces/has-updates.js.map +0 -1
- package/src/interfaces/index.d.ts.map +0 -1
- package/src/interfaces/index.js +0 -26
- package/src/interfaces/index.js.map +0 -1
- package/src/interfaces/success-message.d.ts +0 -5
- package/src/interfaces/success-message.d.ts.map +0 -1
- package/src/interfaces/success-message.js +0 -3
- package/src/interfaces/success-message.js.map +0 -1
- package/src/interfaces/token-user.d.ts.map +0 -1
- package/src/interfaces/token-user.js +0 -3
- package/src/interfaces/token-user.js.map +0 -1
- package/src/interfaces/user-settings.d.ts.map +0 -1
- package/src/interfaces/user-settings.js +0 -3
- package/src/interfaces/user-settings.js.map +0 -1
- package/src/lib/flags.d.ts +0 -10
- package/src/lib/flags.d.ts.map +0 -1
- package/src/lib/flags.js +0 -288
- package/src/lib/flags.js.map +0 -1
- package/src/lib/formatters.d.ts +0 -16
- package/src/lib/formatters.d.ts.map +0 -1
- package/src/lib/formatters.js +0 -29
- package/src/lib/formatters.js.map +0 -1
- package/src/lib/hydrate-dehydrate.d.ts +0 -4
- package/src/lib/hydrate-dehydrate.d.ts.map +0 -1
- package/src/lib/hydrate-dehydrate.js +0 -27
- package/src/lib/hydrate-dehydrate.js.map +0 -1
- package/src/lib/index.d.ts.map +0 -1
- package/src/lib/index.js +0 -12
- package/src/lib/index.js.map +0 -1
- package/src/lib/validators-with-constants.d.ts +0 -73
- package/src/lib/validators-with-constants.d.ts.map +0 -1
- package/src/lib/validators-with-constants.js +0 -64
- package/src/lib/validators-with-constants.js.map +0 -1
- package/src/lib/validators.d.ts +0 -37
- package/src/lib/validators.d.ts.map +0 -1
- package/src/lib/validators.js +0 -74
- package/src/lib/validators.js.map +0 -1
- package/src/local-storage-manager.d.ts +0 -22
- package/src/local-storage-manager.d.ts.map +0 -1
- package/src/local-storage-manager.js +0 -74
- package/src/local-storage-manager.js.map +0 -1
- package/src/strings/de.d.ts +0 -3
- package/src/strings/de.d.ts.map +0 -1
- package/src/strings/de.js +0 -486
- package/src/strings/de.js.map +0 -1
- package/src/strings/en-GB.d.ts +0 -3
- package/src/strings/en-GB.d.ts.map +0 -1
- package/src/strings/en-GB.js +0 -486
- package/src/strings/en-GB.js.map +0 -1
- package/src/strings/en-US.d.ts +0 -3
- package/src/strings/en-US.d.ts.map +0 -1
- package/src/strings/en-US.js +0 -486
- package/src/strings/en-US.js.map +0 -1
- package/src/strings/es.d.ts +0 -3
- package/src/strings/es.d.ts.map +0 -1
- package/src/strings/es.js +0 -486
- package/src/strings/es.js.map +0 -1
- package/src/strings/fr.d.ts +0 -3
- package/src/strings/fr.d.ts.map +0 -1
- package/src/strings/fr.js +0 -486
- package/src/strings/fr.js.map +0 -1
- package/src/strings/ja.d.ts +0 -3
- package/src/strings/ja.d.ts.map +0 -1
- package/src/strings/ja.js +0 -486
- package/src/strings/ja.js.map +0 -1
- package/src/strings/uk.d.ts +0 -3
- package/src/strings/uk.d.ts.map +0 -1
- package/src/strings/uk.js +0 -486
- package/src/strings/uk.js.map +0 -1
- package/src/strings/zh-CN.d.ts +0 -3
- package/src/strings/zh-CN.d.ts.map +0 -1
- package/src/strings/zh-CN.js +0 -486
- 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
|
+
}
|
|
@@ -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,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
|
+
}
|
|
@@ -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
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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,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,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,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
|
+
}
|
|
@@ -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
|
-
|
|
8
|
-
|
|
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
|