@digitaldefiance/suite-core-lib 3.6.11 → 3.6.13
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/package.json +6 -5
- package/src/backup-code-string.d.ts +29 -0
- package/src/backup-code-string.d.ts.map +1 -0
- package/src/backup-code-string.js +81 -0
- package/src/backup-code-string.js.map +1 -0
- package/src/builders/{index.ts → index.d.ts} +1 -1
- package/src/builders/index.d.ts.map +1 -0
- package/src/builders/index.js +9 -0
- package/src/builders/index.js.map +1 -0
- package/src/builders/role-builder.d.ts +19 -0
- package/src/builders/role-builder.d.ts.map +1 -0
- package/src/builders/role-builder.js +57 -0
- package/src/builders/role-builder.js.map +1 -0
- package/src/builders/user-builder.d.ts +23 -0
- package/src/builders/user-builder.d.ts.map +1 -0
- package/src/builders/user-builder.js +63 -0
- package/src/builders/user-builder.js.map +1 -0
- package/src/constants.d.ts +7 -0
- package/src/constants.d.ts.map +1 -0
- package/src/constants.js +209 -0
- package/src/constants.js.map +1 -0
- package/src/core/{errors.ts → errors.d.ts} +1 -4
- package/src/core/errors.d.ts.map +1 -0
- package/src/core/errors.js +29 -0
- package/src/core/errors.js.map +1 -0
- package/src/core/{index.ts → index.d.ts} +1 -1
- package/src/core/index.d.ts.map +1 -0
- package/src/core/index.js +10 -0
- package/src/core/index.js.map +1 -0
- package/src/core/result.d.ts +34 -0
- package/src/core/result.d.ts.map +1 -0
- package/src/core/result.js +35 -0
- package/src/core/result.js.map +1 -0
- package/src/core/{types.ts → types.d.ts} +1 -6
- package/src/core/types.d.ts.map +1 -0
- package/src/core/types.js +6 -0
- package/src/core/types.js.map +1 -0
- package/src/defaults.d.ts +7 -0
- package/src/defaults.d.ts.map +1 -0
- package/src/defaults.js +66 -0
- package/src/defaults.js.map +1 -0
- package/src/enumerations/account-status.d.ts +18 -0
- package/src/enumerations/account-status.d.ts.map +1 -0
- package/src/enumerations/account-status.js +22 -0
- package/src/enumerations/account-status.js.map +1 -0
- package/src/enumerations/email-token-type.d.ts +25 -0
- package/src/enumerations/email-token-type.d.ts.map +1 -0
- package/src/enumerations/email-token-type.js +29 -0
- package/src/enumerations/email-token-type.js.map +1 -0
- package/src/enumerations/fec-error-type.d.ts +14 -0
- package/src/enumerations/fec-error-type.d.ts.map +1 -0
- package/src/enumerations/fec-error-type.js +18 -0
- package/src/enumerations/fec-error-type.js.map +1 -0
- package/src/enumerations/{index.ts → index.d.ts} +2 -1
- package/src/enumerations/index.d.ts.map +1 -0
- package/src/enumerations/index.js +10 -0
- package/src/enumerations/index.js.map +1 -0
- package/src/enumerations/pbkdf2-error-type.d.ts +5 -0
- package/src/enumerations/pbkdf2-error-type.d.ts.map +1 -0
- package/src/enumerations/pbkdf2-error-type.js +9 -0
- package/src/enumerations/pbkdf2-error-type.js.map +1 -0
- package/src/enumerations/role.d.ts +6 -0
- package/src/enumerations/role.d.ts.map +1 -0
- package/src/enumerations/role.js +10 -0
- package/src/enumerations/role.js.map +1 -0
- package/src/enumerations/suite-core-string-key.d.ts +482 -0
- package/src/enumerations/suite-core-string-key.d.ts.map +1 -0
- package/src/enumerations/suite-core-string-key.js +493 -0
- package/src/enumerations/suite-core-string-key.js.map +1 -0
- package/src/errors/account-locked.d.ts +5 -0
- package/src/errors/account-locked.d.ts.map +1 -0
- package/src/errors/account-locked.js +13 -0
- package/src/errors/account-locked.js.map +1 -0
- package/src/errors/account-status.d.ts +7 -0
- package/src/errors/account-status.d.ts.map +1 -0
- package/src/errors/account-status.js +31 -0
- package/src/errors/account-status.js.map +1 -0
- package/src/errors/admin-role-not-found.d.ts +6 -0
- package/src/errors/admin-role-not-found.d.ts.map +1 -0
- package/src/errors/admin-role-not-found.js +13 -0
- package/src/errors/admin-role-not-found.js.map +1 -0
- package/src/errors/core-typed-handleable.d.ts +12 -0
- package/src/errors/core-typed-handleable.d.ts.map +1 -0
- package/src/errors/core-typed-handleable.js +51 -0
- package/src/errors/core-typed-handleable.js.map +1 -0
- package/src/errors/direct-challenge-not-enabled.d.ts +5 -0
- package/src/errors/direct-challenge-not-enabled.d.ts.map +1 -0
- package/src/errors/direct-challenge-not-enabled.js +16 -0
- package/src/errors/direct-challenge-not-enabled.js.map +1 -0
- package/src/errors/direct-token-used.d.ts +5 -0
- package/src/errors/direct-token-used.d.ts.map +1 -0
- package/src/errors/direct-token-used.js +13 -0
- package/src/errors/direct-token-used.js.map +1 -0
- package/src/errors/email-in-use.d.ts +5 -0
- package/src/errors/email-in-use.d.ts.map +1 -0
- package/src/errors/email-in-use.js +15 -0
- package/src/errors/email-in-use.js.map +1 -0
- package/src/errors/email-token-expired.d.ts +5 -0
- package/src/errors/email-token-expired.d.ts.map +1 -0
- package/src/errors/email-token-expired.js +15 -0
- package/src/errors/email-token-expired.js.map +1 -0
- package/src/errors/email-token-failed-to-send.d.ts +6 -0
- package/src/errors/email-token-failed-to-send.d.ts.map +1 -0
- package/src/errors/email-token-failed-to-send.js +22 -0
- package/src/errors/email-token-failed-to-send.js.map +1 -0
- package/src/errors/email-token-sent-too-recently.d.ts +7 -0
- package/src/errors/email-token-sent-too-recently.d.ts.map +1 -0
- package/src/errors/email-token-sent-too-recently.js +21 -0
- package/src/errors/email-token-sent-too-recently.js.map +1 -0
- package/src/errors/email-token-used-or-invalid.d.ts +5 -0
- package/src/errors/email-token-used-or-invalid.d.ts.map +1 -0
- package/src/errors/email-token-used-or-invalid.js +15 -0
- package/src/errors/email-token-used-or-invalid.js.map +1 -0
- package/src/errors/email-verified.d.ts +5 -0
- package/src/errors/email-verified.d.ts.map +1 -0
- package/src/errors/email-verified.js +15 -0
- package/src/errors/email-verified.js.map +1 -0
- package/src/errors/failed-to-use-direct-token.d.ts +5 -0
- package/src/errors/failed-to-use-direct-token.d.ts.map +1 -0
- package/src/errors/failed-to-use-direct-token.js +13 -0
- package/src/errors/failed-to-use-direct-token.js.map +1 -0
- package/src/errors/fec-error.d.ts +6 -0
- package/src/errors/fec-error.d.ts.map +1 -0
- package/src/errors/fec-error.js +26 -0
- package/src/errors/fec-error.js.map +1 -0
- package/src/errors/generic-validation.d.ts +5 -0
- package/src/errors/generic-validation.d.ts.map +1 -0
- package/src/errors/generic-validation.js +12 -0
- package/src/errors/generic-validation.js.map +1 -0
- package/src/errors/{index.ts → index.d.ts} +1 -0
- package/src/errors/index.d.ts.map +1 -0
- package/src/errors/index.js +43 -0
- package/src/errors/index.js.map +1 -0
- package/src/errors/invalid-backup-code.d.ts +4 -0
- package/src/errors/invalid-backup-code.d.ts.map +1 -0
- package/src/errors/invalid-backup-code.js +11 -0
- package/src/errors/invalid-backup-code.js.map +1 -0
- package/src/errors/invalid-challenge-response.d.ts +5 -0
- package/src/errors/invalid-challenge-response.d.ts.map +1 -0
- package/src/errors/invalid-challenge-response.js +16 -0
- package/src/errors/invalid-challenge-response.js.map +1 -0
- package/src/errors/invalid-challenge.d.ts +5 -0
- package/src/errors/invalid-challenge.d.ts.map +1 -0
- package/src/errors/invalid-challenge.js +13 -0
- package/src/errors/invalid-challenge.js.map +1 -0
- package/src/errors/invalid-credentials.d.ts +5 -0
- package/src/errors/invalid-credentials.d.ts.map +1 -0
- package/src/errors/invalid-credentials.js +15 -0
- package/src/errors/invalid-credentials.js.map +1 -0
- package/src/errors/invalid-email.d.ts +8 -0
- package/src/errors/invalid-email.d.ts.map +1 -0
- package/src/errors/invalid-email.js +25 -0
- package/src/errors/invalid-email.js.map +1 -0
- package/src/errors/invalid-expired-token.d.ts +7 -0
- package/src/errors/invalid-expired-token.d.ts.map +1 -0
- package/src/errors/invalid-expired-token.js +13 -0
- package/src/errors/invalid-expired-token.js.map +1 -0
- package/src/errors/invalid-token.d.ts +5 -0
- package/src/errors/invalid-token.d.ts.map +1 -0
- package/src/errors/invalid-token.js +16 -0
- package/src/errors/invalid-token.js.map +1 -0
- package/src/errors/invalid-userid.d.ts +6 -0
- package/src/errors/invalid-userid.d.ts.map +1 -0
- package/src/errors/invalid-userid.js +18 -0
- package/src/errors/invalid-userid.js.map +1 -0
- package/src/errors/invalid-username.d.ts +5 -0
- package/src/errors/invalid-username.d.ts.map +1 -0
- package/src/errors/invalid-username.js +13 -0
- package/src/errors/invalid-username.js.map +1 -0
- package/src/errors/last-admin-error.d.ts +6 -0
- package/src/errors/last-admin-error.d.ts.map +1 -0
- package/src/errors/last-admin-error.js +15 -0
- package/src/errors/last-admin-error.js.map +1 -0
- package/src/errors/login-challenge-expired.d.ts +5 -0
- package/src/errors/login-challenge-expired.d.ts.map +1 -0
- package/src/errors/login-challenge-expired.js +16 -0
- package/src/errors/login-challenge-expired.js.map +1 -0
- package/src/errors/member-role-not-found.d.ts +6 -0
- package/src/errors/member-role-not-found.d.ts.map +1 -0
- package/src/errors/member-role-not-found.js +13 -0
- package/src/errors/member-role-not-found.js.map +1 -0
- package/src/errors/password-login-not-enabled.d.ts +5 -0
- package/src/errors/password-login-not-enabled.d.ts.map +1 -0
- package/src/errors/password-login-not-enabled.js +16 -0
- package/src/errors/password-login-not-enabled.js.map +1 -0
- package/src/errors/password-login-not-setup.d.ts +5 -0
- package/src/errors/password-login-not-setup.d.ts.map +1 -0
- package/src/errors/password-login-not-setup.js +16 -0
- package/src/errors/password-login-not-setup.js.map +1 -0
- package/src/errors/pbkdf2-error.d.ts +7 -0
- package/src/errors/pbkdf2-error.d.ts.map +1 -0
- package/src/errors/pbkdf2-error.js +20 -0
- package/src/errors/pbkdf2-error.js.map +1 -0
- package/src/errors/pending-email-verification.d.ts +5 -0
- package/src/errors/pending-email-verification.d.ts.map +1 -0
- package/src/errors/pending-email-verification.js +13 -0
- package/src/errors/pending-email-verification.js.map +1 -0
- package/src/errors/private-key-required.d.ts +5 -0
- package/src/errors/private-key-required.d.ts.map +1 -0
- package/src/errors/private-key-required.js +13 -0
- package/src/errors/private-key-required.js.map +1 -0
- package/src/errors/system-role-not-found.d.ts +6 -0
- package/src/errors/system-role-not-found.d.ts.map +1 -0
- package/src/errors/system-role-not-found.js +13 -0
- package/src/errors/system-role-not-found.js.map +1 -0
- package/src/errors/token-not-found.d.ts +7 -0
- package/src/errors/token-not-found.d.ts.map +1 -0
- package/src/errors/token-not-found.js +19 -0
- package/src/errors/token-not-found.js.map +1 -0
- package/src/errors/translatable-suite-handleable.d.ts +10 -0
- package/src/errors/translatable-suite-handleable.d.ts.map +1 -0
- package/src/errors/translatable-suite-handleable.js +15 -0
- package/src/errors/translatable-suite-handleable.js.map +1 -0
- package/src/errors/translatable-suite.d.ts +13 -0
- package/src/errors/translatable-suite.d.ts.map +1 -0
- package/src/errors/translatable-suite.js +29 -0
- package/src/errors/translatable-suite.js.map +1 -0
- package/src/errors/user-not-found.d.ts +5 -0
- package/src/errors/user-not-found.d.ts.map +1 -0
- package/src/errors/user-not-found.js +13 -0
- package/src/errors/user-not-found.js.map +1 -0
- package/src/errors/username-email-required.d.ts +6 -0
- package/src/errors/username-email-required.d.ts.map +1 -0
- package/src/errors/username-email-required.js +16 -0
- package/src/errors/username-email-required.js.map +1 -0
- package/src/errors/username-in-use.d.ts +5 -0
- package/src/errors/username-in-use.d.ts.map +1 -0
- package/src/errors/username-in-use.js +13 -0
- package/src/errors/username-in-use.js.map +1 -0
- package/src/i18n-setup.d.ts +13 -0
- package/src/i18n-setup.d.ts.map +1 -0
- package/src/i18n-setup.js +116 -0
- package/src/i18n-setup.js.map +1 -0
- package/src/{index.ts → index.d.ts} +1 -0
- package/src/index.d.ts.map +1 -0
- package/src/index.js +15 -0
- package/src/index.js.map +1 -0
- package/src/interfaces/backup-code-consts.d.ts +16 -0
- package/src/interfaces/backup-code-consts.d.ts.map +1 -0
- package/src/interfaces/backup-code-consts.js +3 -0
- package/src/interfaces/backup-code-consts.js.map +1 -0
- package/src/interfaces/backup-code.d.ts +7 -0
- package/src/interfaces/backup-code.d.ts.map +1 -0
- package/src/interfaces/backup-code.js +3 -0
- package/src/interfaces/backup-code.js.map +1 -0
- package/src/interfaces/bases/email-token.d.ts +33 -0
- package/src/interfaces/bases/email-token.d.ts.map +1 -0
- package/src/interfaces/bases/email-token.js +3 -0
- package/src/interfaces/bases/email-token.js.map +1 -0
- package/src/interfaces/bases/{index.ts → index.d.ts} +1 -0
- package/src/interfaces/bases/index.d.ts.map +1 -0
- package/src/interfaces/bases/index.js +11 -0
- package/src/interfaces/bases/index.js.map +1 -0
- package/src/interfaces/bases/{mnemonic.ts → mnemonic.d.ts} +5 -5
- package/src/interfaces/bases/mnemonic.d.ts.map +1 -0
- package/src/interfaces/bases/mnemonic.js +3 -0
- package/src/interfaces/bases/mnemonic.js.map +1 -0
- package/src/interfaces/bases/role.d.ts +32 -0
- package/src/interfaces/bases/role.d.ts.map +1 -0
- package/src/interfaces/bases/role.js +3 -0
- package/src/interfaces/bases/role.js.map +1 -0
- package/src/interfaces/bases/token-role.d.ts +8 -0
- package/src/interfaces/bases/token-role.d.ts.map +1 -0
- package/src/interfaces/bases/token-role.js +3 -0
- package/src/interfaces/bases/token-role.js.map +1 -0
- package/src/interfaces/bases/{used-direct-login-token.ts → used-direct-login-token.d.ts} +3 -3
- package/src/interfaces/bases/used-direct-login-token.d.ts.map +1 -0
- package/src/interfaces/bases/used-direct-login-token.js +3 -0
- package/src/interfaces/bases/used-direct-login-token.js.map +1 -0
- package/src/interfaces/bases/user-role.d.ts +16 -0
- package/src/interfaces/bases/user-role.d.ts.map +1 -0
- package/src/interfaces/bases/user-role.js +3 -0
- package/src/interfaces/bases/user-role.js.map +1 -0
- package/src/interfaces/bases/user.d.ts +79 -0
- package/src/interfaces/bases/user.d.ts.map +1 -0
- package/src/interfaces/bases/user.js +3 -0
- package/src/interfaces/bases/user.js.map +1 -0
- package/src/interfaces/combined-role-privileges.d.ts +7 -0
- package/src/interfaces/combined-role-privileges.d.ts.map +1 -0
- package/src/interfaces/combined-role-privileges.js +3 -0
- package/src/interfaces/combined-role-privileges.js.map +1 -0
- package/src/interfaces/constants.d.ts +56 -0
- package/src/interfaces/constants.d.ts.map +1 -0
- package/src/interfaces/constants.js +3 -0
- package/src/interfaces/constants.js.map +1 -0
- package/src/interfaces/core-consts.d.ts +130 -0
- package/src/interfaces/core-consts.d.ts.map +1 -0
- package/src/interfaces/core-consts.js +3 -0
- package/src/interfaces/core-consts.js.map +1 -0
- package/src/interfaces/deep-partial.d.ts +4 -0
- package/src/interfaces/deep-partial.d.ts.map +1 -0
- package/src/interfaces/deep-partial.js +3 -0
- package/src/interfaces/deep-partial.js.map +1 -0
- package/src/interfaces/dto/{email-token.ts → email-token.d.ts} +1 -1
- package/src/interfaces/dto/email-token.d.ts.map +1 -0
- package/src/interfaces/dto/email-token.js +3 -0
- package/src/interfaces/dto/email-token.js.map +1 -0
- package/src/interfaces/dto/{index.ts → index.d.ts} +2 -1
- package/src/interfaces/dto/index.d.ts.map +1 -0
- package/src/interfaces/dto/index.js +12 -0
- package/src/interfaces/dto/index.js.map +1 -0
- package/src/interfaces/dto/{mnemonic.ts → mnemonic.d.ts} +1 -1
- package/src/interfaces/dto/mnemonic.d.ts.map +1 -0
- package/src/interfaces/dto/mnemonic.js +3 -0
- package/src/interfaces/dto/mnemonic.js.map +1 -0
- package/src/interfaces/dto/request-user.d.ts +17 -0
- package/src/interfaces/dto/request-user.d.ts.map +1 -0
- package/src/interfaces/dto/request-user.js +3 -0
- package/src/interfaces/dto/request-user.js.map +1 -0
- package/src/interfaces/dto/{role.ts → role.d.ts} +1 -1
- package/src/interfaces/dto/role.d.ts.map +1 -0
- package/src/interfaces/dto/role.js +3 -0
- package/src/interfaces/dto/role.js.map +1 -0
- package/src/interfaces/dto/{token-role.ts → token-role.d.ts} +3 -9
- package/src/interfaces/dto/token-role.d.ts.map +1 -0
- package/src/interfaces/dto/token-role.js +3 -0
- package/src/interfaces/dto/token-role.js.map +1 -0
- package/src/interfaces/dto/{user-role.ts → user-role.d.ts} +1 -1
- package/src/interfaces/dto/user-role.d.ts.map +1 -0
- package/src/interfaces/dto/user-role.js +3 -0
- package/src/interfaces/dto/user-role.js.map +1 -0
- package/src/interfaces/dto/{user-settings.ts → user-settings.d.ts} +2 -1
- package/src/interfaces/dto/user-settings.d.ts.map +1 -0
- package/src/interfaces/dto/user-settings.js +3 -0
- package/src/interfaces/dto/user-settings.js.map +1 -0
- package/src/interfaces/dto/{user.ts → user.d.ts} +1 -1
- package/src/interfaces/dto/user.d.ts.map +1 -0
- package/src/interfaces/dto/user.js +3 -0
- package/src/interfaces/dto/user.js.map +1 -0
- package/src/interfaces/failable-result.d.ts +7 -0
- package/src/interfaces/failable-result.d.ts.map +1 -0
- package/src/interfaces/failable-result.js +3 -0
- package/src/interfaces/failable-result.js.map +1 -0
- package/src/interfaces/frontend-objects/email-token.d.ts +4 -0
- package/src/interfaces/frontend-objects/email-token.d.ts.map +1 -0
- package/src/interfaces/frontend-objects/email-token.js +3 -0
- package/src/interfaces/frontend-objects/email-token.js.map +1 -0
- package/src/interfaces/frontend-objects/{index.ts → index.d.ts} +2 -1
- package/src/interfaces/frontend-objects/index.d.ts.map +1 -0
- package/src/interfaces/frontend-objects/index.js +9 -0
- package/src/interfaces/frontend-objects/index.js.map +1 -0
- package/src/interfaces/frontend-objects/request-user.d.ts +17 -0
- package/src/interfaces/frontend-objects/request-user.d.ts.map +1 -0
- package/src/interfaces/frontend-objects/request-user.js +3 -0
- package/src/interfaces/frontend-objects/request-user.js.map +1 -0
- package/src/interfaces/frontend-objects/{role.ts → role.d.ts} +1 -1
- package/src/interfaces/frontend-objects/role.d.ts.map +1 -0
- package/src/interfaces/frontend-objects/role.js +3 -0
- package/src/interfaces/frontend-objects/role.js.map +1 -0
- package/src/interfaces/frontend-objects/{user-role.ts → user-role.d.ts} +1 -1
- package/src/interfaces/frontend-objects/user-role.d.ts.map +1 -0
- package/src/interfaces/frontend-objects/user-role.js +3 -0
- package/src/interfaces/frontend-objects/user-role.js.map +1 -0
- package/src/interfaces/frontend-objects/user.d.ts +4 -0
- package/src/interfaces/frontend-objects/user.d.ts.map +1 -0
- package/src/interfaces/frontend-objects/user.js +3 -0
- package/src/interfaces/frontend-objects/user.js.map +1 -0
- package/src/interfaces/has-creation.d.ts +7 -0
- package/src/interfaces/has-creation.d.ts.map +1 -0
- package/src/interfaces/has-creation.js +3 -0
- package/src/interfaces/has-creation.js.map +1 -0
- package/src/interfaces/has-creator.d.ts +7 -0
- package/src/interfaces/has-creator.d.ts.map +1 -0
- package/src/interfaces/has-creator.js +3 -0
- package/src/interfaces/has-creator.js.map +1 -0
- package/src/interfaces/has-id.d.ts +4 -0
- package/src/interfaces/has-id.d.ts.map +1 -0
- package/src/interfaces/has-id.js +3 -0
- package/src/interfaces/has-id.js.map +1 -0
- package/src/interfaces/has-soft-delete.d.ts +7 -0
- package/src/interfaces/has-soft-delete.d.ts.map +1 -0
- package/src/interfaces/has-soft-delete.js +3 -0
- package/src/interfaces/has-soft-delete.js.map +1 -0
- package/src/interfaces/has-soft-deleter.d.ts +7 -0
- package/src/interfaces/has-soft-deleter.d.ts.map +1 -0
- package/src/interfaces/has-soft-deleter.js +3 -0
- package/src/interfaces/has-soft-deleter.js.map +1 -0
- package/src/interfaces/has-timestamp-owners.d.ts +5 -0
- package/src/interfaces/has-timestamp-owners.d.ts.map +1 -0
- package/src/interfaces/has-timestamp-owners.js +3 -0
- package/src/interfaces/has-timestamp-owners.js.map +1 -0
- package/src/interfaces/has-timestamps.d.ts +6 -0
- package/src/interfaces/has-timestamps.d.ts.map +1 -0
- package/src/interfaces/has-timestamps.js +3 -0
- package/src/interfaces/has-timestamps.js.map +1 -0
- package/src/interfaces/has-updater.d.ts +7 -0
- package/src/interfaces/has-updater.d.ts.map +1 -0
- package/src/interfaces/has-updater.js +3 -0
- package/src/interfaces/has-updater.js.map +1 -0
- package/src/interfaces/has-updates.d.ts +4 -0
- package/src/interfaces/has-updates.d.ts.map +1 -0
- package/src/interfaces/has-updates.js +3 -0
- package/src/interfaces/has-updates.js.map +1 -0
- package/src/interfaces/{index.ts → index.d.ts} +1 -0
- package/src/interfaces/index.d.ts.map +1 -0
- package/src/interfaces/index.js +26 -0
- package/src/interfaces/index.js.map +1 -0
- package/src/interfaces/success-message.d.ts +5 -0
- package/src/interfaces/success-message.d.ts.map +1 -0
- package/src/interfaces/success-message.js +3 -0
- package/src/interfaces/success-message.js.map +1 -0
- package/src/interfaces/{token-user.ts → token-user.d.ts} +3 -3
- package/src/interfaces/token-user.d.ts.map +1 -0
- package/src/interfaces/token-user.js +3 -0
- package/src/interfaces/token-user.js.map +1 -0
- package/src/interfaces/{user-settings.ts → user-settings.d.ts} +2 -2
- package/src/interfaces/user-settings.d.ts.map +1 -0
- package/src/interfaces/user-settings.js +3 -0
- package/src/interfaces/user-settings.js.map +1 -0
- package/src/lib/flags.d.ts +10 -0
- package/src/lib/flags.d.ts.map +1 -0
- package/src/lib/flags.js +288 -0
- package/src/lib/flags.js.map +1 -0
- package/src/lib/formatters.d.ts +16 -0
- package/src/lib/formatters.d.ts.map +1 -0
- package/src/lib/formatters.js +29 -0
- package/src/lib/formatters.js.map +1 -0
- package/src/lib/hydrate-dehydrate.d.ts +4 -0
- package/src/lib/hydrate-dehydrate.d.ts.map +1 -0
- package/src/lib/hydrate-dehydrate.js +27 -0
- package/src/lib/hydrate-dehydrate.js.map +1 -0
- package/src/lib/{index.ts → index.d.ts} +2 -2
- package/src/lib/index.d.ts.map +1 -0
- package/src/lib/index.js +12 -0
- package/src/lib/index.js.map +1 -0
- package/src/lib/validators-with-constants.d.ts +73 -0
- package/src/lib/validators-with-constants.d.ts.map +1 -0
- package/src/lib/validators-with-constants.js +64 -0
- package/src/lib/validators-with-constants.js.map +1 -0
- package/src/lib/validators.d.ts +37 -0
- package/src/lib/validators.d.ts.map +1 -0
- package/src/lib/validators.js +74 -0
- package/src/lib/validators.js.map +1 -0
- package/src/local-storage-manager.d.ts +22 -0
- package/src/local-storage-manager.d.ts.map +1 -0
- package/src/local-storage-manager.js +74 -0
- package/src/local-storage-manager.js.map +1 -0
- package/src/strings/de.d.ts +3 -0
- package/src/strings/de.d.ts.map +1 -0
- package/src/strings/de.js +486 -0
- package/src/strings/de.js.map +1 -0
- package/src/strings/en-GB.d.ts +3 -0
- package/src/strings/en-GB.d.ts.map +1 -0
- package/src/strings/en-GB.js +486 -0
- package/src/strings/en-GB.js.map +1 -0
- package/src/strings/en-US.d.ts +3 -0
- package/src/strings/en-US.d.ts.map +1 -0
- package/src/strings/en-US.js +486 -0
- package/src/strings/en-US.js.map +1 -0
- package/src/strings/es.d.ts +3 -0
- package/src/strings/es.d.ts.map +1 -0
- package/src/strings/es.js +486 -0
- package/src/strings/es.js.map +1 -0
- package/src/strings/fr.d.ts +3 -0
- package/src/strings/fr.d.ts.map +1 -0
- package/src/strings/fr.js +486 -0
- package/src/strings/fr.js.map +1 -0
- package/src/strings/ja.d.ts +3 -0
- package/src/strings/ja.d.ts.map +1 -0
- package/src/strings/ja.js +486 -0
- package/src/strings/ja.js.map +1 -0
- package/src/strings/uk.d.ts +3 -0
- package/src/strings/uk.d.ts.map +1 -0
- package/src/strings/uk.js +486 -0
- package/src/strings/uk.js.map +1 -0
- package/src/strings/zh-CN.d.ts +3 -0
- package/src/strings/zh-CN.d.ts.map +1 -0
- package/src/strings/zh-CN.js +486 -0
- package/src/strings/zh-CN.js.map +1 -0
- package/LICENSE +0 -21
- package/src/backup-code-string.ts +0 -96
- package/src/builders/role-builder.ts +0 -63
- package/src/builders/user-builder.ts +0 -72
- package/src/constants.ts +0 -220
- package/src/core/result.ts +0 -36
- package/src/defaults.ts +0 -110
- package/src/enumerations/account-status.ts +0 -17
- package/src/enumerations/email-token-type.ts +0 -24
- package/src/enumerations/fec-error-type.ts +0 -13
- package/src/enumerations/pbkdf2-error-type.ts +0 -4
- package/src/enumerations/role.ts +0 -5
- package/src/enumerations/suite-core-string-key.ts +0 -495
- package/src/errors/account-locked.ts +0 -9
- package/src/errors/account-status.ts +0 -33
- package/src/errors/admin-role-not-found.ts +0 -10
- package/src/errors/core-typed-handleable.ts +0 -69
- package/src/errors/direct-challenge-not-enabled.ts +0 -12
- package/src/errors/direct-token-used.ts +0 -9
- package/src/errors/email-in-use.ts +0 -11
- package/src/errors/email-token-expired.ts +0 -12
- package/src/errors/email-token-failed-to-send.ts +0 -20
- package/src/errors/email-token-sent-too-recently.ts +0 -29
- package/src/errors/email-token-used-or-invalid.ts +0 -12
- package/src/errors/email-verified.ts +0 -11
- package/src/errors/failed-to-use-direct-token.ts +0 -9
- package/src/errors/fec-error.ts +0 -33
- package/src/errors/generic-validation.ts +0 -11
- package/src/errors/invalid-backup-code.ts +0 -6
- package/src/errors/invalid-challenge-response.ts +0 -12
- package/src/errors/invalid-challenge.ts +0 -9
- package/src/errors/invalid-credentials.ts +0 -14
- package/src/errors/invalid-email.ts +0 -22
- package/src/errors/invalid-expired-token.ts +0 -11
- package/src/errors/invalid-token.ts +0 -13
- package/src/errors/invalid-userid.ts +0 -21
- package/src/errors/invalid-username.ts +0 -14
- package/src/errors/last-admin-error.ts +0 -12
- package/src/errors/login-challenge-expired.ts +0 -12
- package/src/errors/member-role-not-found.ts +0 -10
- package/src/errors/password-login-not-enabled.ts +0 -12
- package/src/errors/password-login-not-setup.ts +0 -12
- package/src/errors/pbkdf2-error.ts +0 -19
- package/src/errors/pending-email-verification.ts +0 -9
- package/src/errors/private-key-required.ts +0 -13
- package/src/errors/system-role-not-found.ts +0 -10
- package/src/errors/token-not-found.ts +0 -26
- package/src/errors/translatable-suite-handleable.ts +0 -27
- package/src/errors/translatable-suite.ts +0 -34
- package/src/errors/user-not-found.ts +0 -14
- package/src/errors/username-email-required.ts +0 -20
- package/src/errors/username-in-use.ts +0 -14
- package/src/i18n-setup.ts +0 -141
- package/src/interfaces/backup-code-consts.ts +0 -15
- package/src/interfaces/backup-code.ts +0 -6
- package/src/interfaces/bases/email-token.ts +0 -38
- package/src/interfaces/bases/role.ts +0 -40
- package/src/interfaces/bases/token-role.ts +0 -9
- package/src/interfaces/bases/user-role.ts +0 -21
- package/src/interfaces/bases/user.ts +0 -88
- package/src/interfaces/combined-role-privileges.ts +0 -6
- package/src/interfaces/constants.ts +0 -56
- package/src/interfaces/core-consts.ts +0 -130
- package/src/interfaces/deep-partial.ts +0 -3
- package/src/interfaces/dto/request-user.ts +0 -19
- package/src/interfaces/failable-result.ts +0 -6
- package/src/interfaces/frontend-objects/email-token.ts +0 -8
- package/src/interfaces/frontend-objects/request-user.ts +0 -17
- package/src/interfaces/frontend-objects/user.ts +0 -9
- package/src/interfaces/has-creation.ts +0 -6
- package/src/interfaces/has-creator.ts +0 -6
- package/src/interfaces/has-id.ts +0 -3
- package/src/interfaces/has-soft-delete.ts +0 -6
- package/src/interfaces/has-soft-deleter.ts +0 -6
- package/src/interfaces/has-timestamp-owners.ts +0 -6
- package/src/interfaces/has-timestamps.ts +0 -7
- package/src/interfaces/has-updater.ts +0 -6
- package/src/interfaces/has-updates.ts +0 -3
- package/src/interfaces/success-message.ts +0 -4
- package/src/lib/flags.ts +0 -286
- package/src/lib/formatters.ts +0 -28
- package/src/lib/hydrate-dehydrate.ts +0 -27
- package/src/lib/validators-with-constants.ts +0 -72
- package/src/lib/validators.ts +0 -72
- package/src/local-storage-manager.ts +0 -69
- package/src/strings/de.ts +0 -689
- package/src/strings/en-GB.ts +0 -626
- package/src/strings/en-US.ts +0 -628
- package/src/strings/es.ts +0 -688
- package/src/strings/fr.ts +0 -685
- package/src/strings/ja.ts +0 -654
- package/src/strings/uk.ts +0 -667
- package/src/strings/zh-CN.ts +0 -566
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@digitaldefiance/suite-core-lib",
|
|
3
|
-
"version": "3.6.
|
|
3
|
+
"version": "3.6.13",
|
|
4
4
|
"homepage": "https://github.com/Digital-Defiance/suite-core-lib",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"publish:public": "npm publish --access public"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@digitaldefiance/ecies-lib": "4.4.
|
|
31
|
-
"@digitaldefiance/i18n-lib": "3.8.
|
|
30
|
+
"@digitaldefiance/ecies-lib": "4.4.14",
|
|
31
|
+
"@digitaldefiance/i18n-lib": "3.8.6"
|
|
32
32
|
},
|
|
33
33
|
"files": [
|
|
34
34
|
"src",
|
|
@@ -46,5 +46,6 @@
|
|
|
46
46
|
"@typescript-eslint/parser": "^8.48.0",
|
|
47
47
|
"eslint-plugin-import": "^2.32.0",
|
|
48
48
|
"eslint-plugin-prettier": "^5.5.4"
|
|
49
|
-
}
|
|
50
|
-
|
|
49
|
+
},
|
|
50
|
+
"type": "commonjs"
|
|
51
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { IConstants } from './interfaces';
|
|
2
|
+
export declare class BackupCodeString {
|
|
3
|
+
private readonly _normalizedCode;
|
|
4
|
+
constructor(code: string);
|
|
5
|
+
get value(): string;
|
|
6
|
+
get notNullValue(): string;
|
|
7
|
+
get valueAsHexString(): string;
|
|
8
|
+
get valueAsBase64String(): string;
|
|
9
|
+
get valueAsUint8Array(): Uint8Array;
|
|
10
|
+
get hasValue(): boolean;
|
|
11
|
+
get length(): number;
|
|
12
|
+
dispose(): void;
|
|
13
|
+
/**
|
|
14
|
+
* Format a 32-char normalized code into display form (8 groups of 4).
|
|
15
|
+
* Does not restrict characters beyond grouping.
|
|
16
|
+
*/
|
|
17
|
+
static formatBackupCode(code: string): string;
|
|
18
|
+
/**
|
|
19
|
+
* Normalize user-entered code: remove spaces and hyphens, lowercase, and trim.
|
|
20
|
+
*/
|
|
21
|
+
static normalizeCode(input: string): string;
|
|
22
|
+
static generateBackupCode(): string;
|
|
23
|
+
/**
|
|
24
|
+
* Generate the configured number of backup codes.
|
|
25
|
+
* Note: If generation alphabet/length is controlled elsewhere, prefer that path.
|
|
26
|
+
*/
|
|
27
|
+
static generateBackupCodes(constants?: IConstants): Array<BackupCodeString>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=backup-code-string.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backup-code-string.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-suite-core-lib/src/backup-code-string.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;gBAE7B,IAAI,EAAE,MAAM;IAQxB,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED,IAAW,gBAAgB,IAAI,MAAM,CAOpC;IAED,IAAW,mBAAmB,IAAI,MAAM,CAKvC;IAED,IAAW,iBAAiB,IAAI,UAAU,CAKzC;IAED,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;IAEM,OAAO,IAAI,IAAI;IAKtB;;;OAGG;WACW,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIpD;;OAEG;WACW,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;WAIpC,kBAAkB,IAAI,MAAM;IAU1C;;;OAGG;WACW,mBAAmB,CAAC,SAAS,GAAE,UAAsB,GAAG,KAAK,CAAC,gBAAgB,CAAC;CAO9F"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BackupCodeString = void 0;
|
|
4
|
+
const constants_1 = require("./constants");
|
|
5
|
+
const invalid_backup_code_1 = require("./errors/invalid-backup-code");
|
|
6
|
+
class BackupCodeString {
|
|
7
|
+
_normalizedCode;
|
|
8
|
+
constructor(code) {
|
|
9
|
+
const normalizedCode = BackupCodeString.normalizeCode(code);
|
|
10
|
+
if (!constants_1.Constants.BACKUP_CODES.NormalizedHexRegex.test(normalizedCode)) {
|
|
11
|
+
throw new invalid_backup_code_1.InvalidBackupCodeError();
|
|
12
|
+
}
|
|
13
|
+
this._normalizedCode = normalizedCode;
|
|
14
|
+
}
|
|
15
|
+
get value() {
|
|
16
|
+
return BackupCodeString.formatBackupCode(this._normalizedCode);
|
|
17
|
+
}
|
|
18
|
+
get notNullValue() {
|
|
19
|
+
return BackupCodeString.formatBackupCode(this._normalizedCode);
|
|
20
|
+
}
|
|
21
|
+
get valueAsHexString() {
|
|
22
|
+
const formattedValue = BackupCodeString.formatBackupCode(this._normalizedCode);
|
|
23
|
+
return new TextEncoder().encode(formattedValue).reduce((str, byte) => {
|
|
24
|
+
return str + byte.toString(16).padStart(2, '0');
|
|
25
|
+
}, '');
|
|
26
|
+
}
|
|
27
|
+
get valueAsBase64String() {
|
|
28
|
+
const formattedValue = BackupCodeString.formatBackupCode(this._normalizedCode);
|
|
29
|
+
return btoa(formattedValue);
|
|
30
|
+
}
|
|
31
|
+
get valueAsUint8Array() {
|
|
32
|
+
const formattedValue = BackupCodeString.formatBackupCode(this._normalizedCode);
|
|
33
|
+
return new TextEncoder().encode(formattedValue);
|
|
34
|
+
}
|
|
35
|
+
get hasValue() {
|
|
36
|
+
return this._normalizedCode.length > 0;
|
|
37
|
+
}
|
|
38
|
+
get length() {
|
|
39
|
+
return this._normalizedCode.length;
|
|
40
|
+
}
|
|
41
|
+
dispose() {
|
|
42
|
+
// Backup codes are not sensitive enough to require secure disposal
|
|
43
|
+
// They're already encrypted when stored in the database
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Format a 32-char normalized code into display form (8 groups of 4).
|
|
47
|
+
* Does not restrict characters beyond grouping.
|
|
48
|
+
*/
|
|
49
|
+
static formatBackupCode(code) {
|
|
50
|
+
const groups = code.match(/.{1,4}/g) ?? [code];
|
|
51
|
+
return groups.join('-');
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Normalize user-entered code: remove spaces and hyphens, lowercase, and trim.
|
|
55
|
+
*/
|
|
56
|
+
static normalizeCode(input) {
|
|
57
|
+
return input.replace(/[\s-]/g, '').toLowerCase().trim();
|
|
58
|
+
}
|
|
59
|
+
static generateBackupCode() {
|
|
60
|
+
const alphabet = 'abcdefghijklmnopqrstuvwxyz0123456789';
|
|
61
|
+
const rnd = crypto.getRandomValues(new Uint8Array(32));
|
|
62
|
+
let raw = '';
|
|
63
|
+
for (let j = 0; j < 32; j++) {
|
|
64
|
+
raw += alphabet[rnd[j] % alphabet.length];
|
|
65
|
+
}
|
|
66
|
+
return raw;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Generate the configured number of backup codes.
|
|
70
|
+
* Note: If generation alphabet/length is controlled elsewhere, prefer that path.
|
|
71
|
+
*/
|
|
72
|
+
static generateBackupCodes(constants = constants_1.Constants) {
|
|
73
|
+
const codes = [];
|
|
74
|
+
for (let i = 0; i < constants.BACKUP_CODES.Count; i++) {
|
|
75
|
+
codes.push(new BackupCodeString(BackupCodeString.generateBackupCode()));
|
|
76
|
+
}
|
|
77
|
+
return codes;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.BackupCodeString = BackupCodeString;
|
|
81
|
+
//# sourceMappingURL=backup-code-string.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backup-code-string.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-suite-core-lib/src/backup-code-string.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-suite-core-lib/src/builders/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Builders module - fluent builders for common objects
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const tslib_1 = require("tslib");
|
|
7
|
+
tslib_1.__exportStar(require("./user-builder"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./role-builder"), exports);
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-suite-core-lib/src/builders/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,yDAA+B;AAC/B,yDAA+B"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fluent builder for creating role objects
|
|
3
|
+
*/
|
|
4
|
+
import { Role } from '../enumerations/role';
|
|
5
|
+
import { IRoleBase } from '../interfaces/bases/role';
|
|
6
|
+
/**
|
|
7
|
+
* Builder for creating role objects with fluent API
|
|
8
|
+
*/
|
|
9
|
+
export declare class RoleBuilder<I = string, D extends Date | string = Date> {
|
|
10
|
+
private data;
|
|
11
|
+
static create<I = string, D extends Date | string = Date>(): RoleBuilder<I, D>;
|
|
12
|
+
withName(name: Role): this;
|
|
13
|
+
asAdmin(): this;
|
|
14
|
+
asMember(): this;
|
|
15
|
+
asChild(): this;
|
|
16
|
+
asSystem(): this;
|
|
17
|
+
build(): Partial<IRoleBase<I, D, Role>>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=role-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role-builder.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-suite-core-lib/src/builders/role-builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD;;GAEG;AACH,qBAAa,WAAW,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,SAAS,IAAI,GAAG,MAAM,GAAG,IAAI;IACjE,OAAO,CAAC,IAAI,CAKV;IAEF,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,SAAS,IAAI,GAAG,MAAM,GAAG,IAAI,KAAK,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;IAI9E,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAK1B,OAAO,IAAI,IAAI;IAQf,QAAQ,IAAI,IAAI;IAQhB,OAAO,IAAI,IAAI;IAQf,QAAQ,IAAI,IAAI;IAQhB,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;CAGxC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Fluent builder for creating role objects
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.RoleBuilder = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Builder for creating role objects with fluent API
|
|
9
|
+
*/
|
|
10
|
+
class RoleBuilder {
|
|
11
|
+
data = {
|
|
12
|
+
admin: false,
|
|
13
|
+
member: false,
|
|
14
|
+
child: false,
|
|
15
|
+
system: false,
|
|
16
|
+
};
|
|
17
|
+
static create() {
|
|
18
|
+
return new RoleBuilder();
|
|
19
|
+
}
|
|
20
|
+
withName(name) {
|
|
21
|
+
this.data.name = name;
|
|
22
|
+
return this;
|
|
23
|
+
}
|
|
24
|
+
asAdmin() {
|
|
25
|
+
this.data.admin = true;
|
|
26
|
+
this.data.member = false;
|
|
27
|
+
this.data.child = false;
|
|
28
|
+
this.data.system = false;
|
|
29
|
+
return this;
|
|
30
|
+
}
|
|
31
|
+
asMember() {
|
|
32
|
+
this.data.admin = false;
|
|
33
|
+
this.data.member = true;
|
|
34
|
+
this.data.child = false;
|
|
35
|
+
this.data.system = false;
|
|
36
|
+
return this;
|
|
37
|
+
}
|
|
38
|
+
asChild() {
|
|
39
|
+
this.data.admin = false;
|
|
40
|
+
this.data.member = false;
|
|
41
|
+
this.data.child = true;
|
|
42
|
+
this.data.system = false;
|
|
43
|
+
return this;
|
|
44
|
+
}
|
|
45
|
+
asSystem() {
|
|
46
|
+
this.data.admin = false;
|
|
47
|
+
this.data.member = false;
|
|
48
|
+
this.data.child = false;
|
|
49
|
+
this.data.system = true;
|
|
50
|
+
return this;
|
|
51
|
+
}
|
|
52
|
+
build() {
|
|
53
|
+
return { ...this.data };
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.RoleBuilder = RoleBuilder;
|
|
57
|
+
//# sourceMappingURL=role-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role-builder.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-suite-core-lib/src/builders/role-builder.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAKH;;GAEG;AACH,MAAa,WAAW;IACd,IAAI,GAAmC;QAC7C,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,KAAK;KACd,CAAC;IAEF,MAAM,CAAC,MAAM;QACX,OAAO,IAAI,WAAW,EAAQ,CAAC;IACjC,CAAC;IAED,QAAQ,CAAC,IAAU;QACjB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;CACF;AApDD,kCAoDC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fluent builder for creating user objects
|
|
3
|
+
*/
|
|
4
|
+
import { AccountStatus } from '../enumerations/account-status';
|
|
5
|
+
import { IUserBase } from '../interfaces/bases/user';
|
|
6
|
+
/**
|
|
7
|
+
* Builder for creating user objects with fluent API
|
|
8
|
+
*/
|
|
9
|
+
export declare class UserBuilder<I = string, D extends Date | string = Date, S extends string = string> {
|
|
10
|
+
private data;
|
|
11
|
+
static create<I = string, D extends Date | string = Date, S extends string = string>(): UserBuilder<I, D, S>;
|
|
12
|
+
withUsername(username: string): this;
|
|
13
|
+
withEmail(email: string): this;
|
|
14
|
+
withPublicKey(publicKey: string): this;
|
|
15
|
+
withTimezone(timezone: string): this;
|
|
16
|
+
withSiteLanguage(siteLanguage: S): this;
|
|
17
|
+
withEmailVerified(verified: boolean): this;
|
|
18
|
+
withAccountStatus(status: AccountStatus): this;
|
|
19
|
+
withDirectChallenge(enabled: boolean): this;
|
|
20
|
+
withMnemonicRecovery(recovery: string): this;
|
|
21
|
+
build(): Partial<IUserBase<I, D, S, AccountStatus>>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=user-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-builder.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-suite-core-lib/src/builders/user-builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD;;GAEG;AACH,qBAAa,WAAW,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,SAAS,IAAI,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM;IAC5F,OAAO,CAAC,IAAI,CAMV;IAEF,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,SAAS,IAAI,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,KAAK,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAI5G,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKpC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK9B,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKtC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKpC,gBAAgB,CAAC,YAAY,EAAE,CAAC,GAAG,IAAI;IAKvC,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAK1C,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAK9C,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAK3C,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAK5C,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;CAGpD"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Fluent builder for creating user objects
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.UserBuilder = void 0;
|
|
7
|
+
const account_status_1 = require("../enumerations/account-status");
|
|
8
|
+
/**
|
|
9
|
+
* Builder for creating user objects with fluent API
|
|
10
|
+
*/
|
|
11
|
+
class UserBuilder {
|
|
12
|
+
data = {
|
|
13
|
+
emailVerified: false,
|
|
14
|
+
accountStatus: account_status_1.AccountStatus.Active,
|
|
15
|
+
directChallenge: false,
|
|
16
|
+
backupCodes: [],
|
|
17
|
+
timezone: 'UTC',
|
|
18
|
+
};
|
|
19
|
+
static create() {
|
|
20
|
+
return new UserBuilder();
|
|
21
|
+
}
|
|
22
|
+
withUsername(username) {
|
|
23
|
+
this.data.username = username;
|
|
24
|
+
return this;
|
|
25
|
+
}
|
|
26
|
+
withEmail(email) {
|
|
27
|
+
this.data.email = email;
|
|
28
|
+
return this;
|
|
29
|
+
}
|
|
30
|
+
withPublicKey(publicKey) {
|
|
31
|
+
this.data.publicKey = publicKey;
|
|
32
|
+
return this;
|
|
33
|
+
}
|
|
34
|
+
withTimezone(timezone) {
|
|
35
|
+
this.data.timezone = timezone;
|
|
36
|
+
return this;
|
|
37
|
+
}
|
|
38
|
+
withSiteLanguage(siteLanguage) {
|
|
39
|
+
this.data.siteLanguage = siteLanguage;
|
|
40
|
+
return this;
|
|
41
|
+
}
|
|
42
|
+
withEmailVerified(verified) {
|
|
43
|
+
this.data.emailVerified = verified;
|
|
44
|
+
return this;
|
|
45
|
+
}
|
|
46
|
+
withAccountStatus(status) {
|
|
47
|
+
this.data.accountStatus = status;
|
|
48
|
+
return this;
|
|
49
|
+
}
|
|
50
|
+
withDirectChallenge(enabled) {
|
|
51
|
+
this.data.directChallenge = enabled;
|
|
52
|
+
return this;
|
|
53
|
+
}
|
|
54
|
+
withMnemonicRecovery(recovery) {
|
|
55
|
+
this.data.mnemonicRecovery = recovery;
|
|
56
|
+
return this;
|
|
57
|
+
}
|
|
58
|
+
build() {
|
|
59
|
+
return { ...this.data };
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.UserBuilder = UserBuilder;
|
|
63
|
+
//# sourceMappingURL=user-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-builder.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-suite-core-lib/src/builders/user-builder.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,mEAA+D;AAG/D;;GAEG;AACH,MAAa,WAAW;IACd,IAAI,GAA+C;QACzD,aAAa,EAAE,KAAK;QACpB,aAAa,EAAE,8BAAa,CAAC,MAAM;QACnC,eAAe,EAAE,KAAK;QACtB,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,KAAK;KAChB,CAAC;IAEF,MAAM,CAAC,MAAM;QACX,OAAO,IAAI,WAAW,EAAW,CAAC;IACpC,CAAC;IAED,YAAY,CAAC,QAAgB;QAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,KAAa;QACrB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,SAAiB;QAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,QAAgB;QAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB,CAAC,YAAe;QAC9B,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB,CAAC,QAAiB;QACjC,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB,CAAC,MAAqB;QACrC,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mBAAmB,CAAC,OAAgB;QAClC,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oBAAoB,CAAC,QAAgB;QACnC,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;CACF;AA7DD,kCA6DC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IBackupCodeConstants, ICoreConstants } from './interfaces';
|
|
2
|
+
import { IConstants } from './interfaces/constants';
|
|
3
|
+
export declare const BACKUP_CODES: IBackupCodeConstants;
|
|
4
|
+
export declare const CORE: ICoreConstants;
|
|
5
|
+
export declare const createConstants: (siteDomain: string, siteHostname: string, overrides?: Partial<IConstants>) => IConstants;
|
|
6
|
+
export declare const Constants: IConstants;
|
|
7
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-suite-core-lib/src/constants.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,eAAO,MAAM,YAAY,EAAE,oBAOhB,CAAC;AAEZ,eAAO,MAAM,IAAI,EAAE,cAoIR,CAAC;AAEZ,eAAO,MAAM,eAAe,EAAE,CAC5B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,KAC5B,UAiEJ,CAAC;AAEF,eAAO,MAAM,SAAS,YAA4C,CAAC"}
|
package/src/constants.js
ADDED
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Constants = exports.createConstants = exports.CORE = exports.BACKUP_CODES = void 0;
|
|
4
|
+
const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
|
|
5
|
+
const role_1 = require("./enumerations/role");
|
|
6
|
+
exports.BACKUP_CODES = Object.freeze({
|
|
7
|
+
/**
|
|
8
|
+
* How many backup codes to generate for users
|
|
9
|
+
*/
|
|
10
|
+
Count: 10,
|
|
11
|
+
NormalizedHexRegex: /^[a-z0-9]{32}$/, // exactly 32 lowercase alphanumeric chars
|
|
12
|
+
DisplayRegex: /^([a-z0-9]{4}-){7}[a-z0-9]{4}$/, // xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx
|
|
13
|
+
});
|
|
14
|
+
exports.CORE = Object.freeze({
|
|
15
|
+
/**
|
|
16
|
+
* The ID provider to use for generating and parsing IDs
|
|
17
|
+
*/
|
|
18
|
+
idProvider: new ecies_lib_1.ObjectIdProvider(),
|
|
19
|
+
/**
|
|
20
|
+
* Default duration in seconds for which a mnemonic is kept in memory
|
|
21
|
+
*/
|
|
22
|
+
DefaultExpireMemoryMnemonicSeconds: 300, // 5 minutes
|
|
23
|
+
/**
|
|
24
|
+
* Default duration in seconds for which a wallet is kept in memory
|
|
25
|
+
*/
|
|
26
|
+
DefaultExpireMemoryWalletSeconds: 300, // 5 minutes
|
|
27
|
+
/**
|
|
28
|
+
* Duration in milliseconds for which a login challenge is valid.
|
|
29
|
+
*/
|
|
30
|
+
LoginChallengeExpiration: 60000, // 60 seconds
|
|
31
|
+
/**
|
|
32
|
+
* The expected length of a direct login challenge in bytes
|
|
33
|
+
*/
|
|
34
|
+
DirectLoginChallengeLength: 104,
|
|
35
|
+
/**
|
|
36
|
+
* Backup code system configuration
|
|
37
|
+
*/
|
|
38
|
+
BACKUP_CODES: exports.BACKUP_CODES,
|
|
39
|
+
/**
|
|
40
|
+
* Duration in milliseconds for which an email token is valid.
|
|
41
|
+
*/
|
|
42
|
+
EmailTokenExpiration: 86400000, // 24 * 60 * 60 * 1000
|
|
43
|
+
/**
|
|
44
|
+
* Length in bytes of the email token generated (is represented as a hex string of twice as many)
|
|
45
|
+
*/
|
|
46
|
+
EmailTokenLength: 32,
|
|
47
|
+
/**
|
|
48
|
+
* Number of rounds for bcrypt hashing. Higher values increase security but also consume more CPU resources.
|
|
49
|
+
*/
|
|
50
|
+
BcryptRounds: 10,
|
|
51
|
+
/**
|
|
52
|
+
* The username of the administrator user.
|
|
53
|
+
*/
|
|
54
|
+
AdministratorUser: 'admin',
|
|
55
|
+
/**
|
|
56
|
+
* The name of the administrator role.
|
|
57
|
+
*/
|
|
58
|
+
AdministratorRole: role_1.Role.Admin,
|
|
59
|
+
/**
|
|
60
|
+
* The name of the member role.
|
|
61
|
+
*/
|
|
62
|
+
MemberRole: role_1.Role.Member,
|
|
63
|
+
/**
|
|
64
|
+
* The username of the test user.
|
|
65
|
+
*/
|
|
66
|
+
MemberUser: 'test',
|
|
67
|
+
/**
|
|
68
|
+
* The name of the system role.
|
|
69
|
+
*/
|
|
70
|
+
SystemRole: role_1.Role.System,
|
|
71
|
+
/**
|
|
72
|
+
* The username of the system user.
|
|
73
|
+
*/
|
|
74
|
+
SystemUser: 'system',
|
|
75
|
+
/**
|
|
76
|
+
* Minimum username length
|
|
77
|
+
*/
|
|
78
|
+
UsernameMinLength: 3,
|
|
79
|
+
/**
|
|
80
|
+
* Maximum username length
|
|
81
|
+
*/
|
|
82
|
+
UsernameMaxLength: 30,
|
|
83
|
+
/**
|
|
84
|
+
* The regular expression for valid usernames.
|
|
85
|
+
*/
|
|
86
|
+
UsernameRegex: /^[A-Za-z0-9]{3,30}$/,
|
|
87
|
+
/**
|
|
88
|
+
* Minimum password length
|
|
89
|
+
*/
|
|
90
|
+
PasswordMinLength: 8,
|
|
91
|
+
/**
|
|
92
|
+
* The regular expression for valid passwords.
|
|
93
|
+
*/
|
|
94
|
+
PasswordRegex: /^(?=.*[A-Za-z])(?=.*\d)(?=.*[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?])[A-Za-z\d!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]{8,}$/,
|
|
95
|
+
/**
|
|
96
|
+
* The regular expression for valid JWT tokens.
|
|
97
|
+
*/
|
|
98
|
+
JwtSecretRegex: /^[0-9a-f]{64}$/i,
|
|
99
|
+
/**
|
|
100
|
+
* The regular expression for valid mnemonic phrases.
|
|
101
|
+
* BIP39 - supports 12, 15, 18, 21, or 24 word mnemonics
|
|
102
|
+
*/
|
|
103
|
+
MnemonicRegex: /^(?:\w+\s){11}\w+$|^(?:\w+\s){14}\w+$|^(?:\w+\s){17}\w+$|^(?:\w+\s){20}\w+$|^(?:\w+\s){23}\w+$/i,
|
|
104
|
+
/**
|
|
105
|
+
* Matches a 64-character hexadecimal string (SHA-256).
|
|
106
|
+
*/
|
|
107
|
+
MnemonicHmacRegex: /^[a-f0-9]{64}$/,
|
|
108
|
+
/**
|
|
109
|
+
* The regular expression for valid encryption keys.
|
|
110
|
+
*/
|
|
111
|
+
MnemonicEncryptionKeyRegex: /^[a-f0-9]{64}$/,
|
|
112
|
+
/**
|
|
113
|
+
* The amount of time in milliseconds after which an email token can be resent.
|
|
114
|
+
*/
|
|
115
|
+
EmailTokenResendInterval: 300000, // 5 * 60 * 1000 = 5 minutes
|
|
116
|
+
/**
|
|
117
|
+
* The interval in minutes after which an email token can be resent.
|
|
118
|
+
*/
|
|
119
|
+
EmailTokenResendIntervalMinutes: 5,
|
|
120
|
+
/**
|
|
121
|
+
* The site name. Overridden by specific site constants.
|
|
122
|
+
*/
|
|
123
|
+
Site: 'New Site',
|
|
124
|
+
/**
|
|
125
|
+
* The site tagline. Overridden by specific site constants.
|
|
126
|
+
*/
|
|
127
|
+
SiteTagline: 'New Site Tagline',
|
|
128
|
+
/**
|
|
129
|
+
* The site description. Overridden by specific site constants.
|
|
130
|
+
*/
|
|
131
|
+
SiteDescription: 'Description of the new site',
|
|
132
|
+
/**
|
|
133
|
+
* Email domain of usernames on the site. Overridden by specific site constants.
|
|
134
|
+
*/
|
|
135
|
+
SiteEmailDomain: 'localhost',
|
|
136
|
+
/**
|
|
137
|
+
* The hostname of the site. Overridden by specific site constants.
|
|
138
|
+
*/
|
|
139
|
+
SiteHostname: 'localhost',
|
|
140
|
+
});
|
|
141
|
+
const createConstants = (siteDomain, siteHostname, overrides) => {
|
|
142
|
+
return Object.freeze({
|
|
143
|
+
...exports.CORE,
|
|
144
|
+
/**
|
|
145
|
+
* The email of the administrator user/admin contact
|
|
146
|
+
*/
|
|
147
|
+
AdministratorEmail: `admin@${siteDomain}`,
|
|
148
|
+
/**
|
|
149
|
+
* The email of the test user.
|
|
150
|
+
*/
|
|
151
|
+
MemberEmail: `test@${siteDomain}`,
|
|
152
|
+
/**
|
|
153
|
+
* The email of the system user.
|
|
154
|
+
*/
|
|
155
|
+
SystemEmail: `system@${siteDomain}`,
|
|
156
|
+
/**
|
|
157
|
+
* The email domain of usernames on the site.
|
|
158
|
+
*/
|
|
159
|
+
SiteEmailDomain: siteDomain,
|
|
160
|
+
/**
|
|
161
|
+
* The hostname of the site.
|
|
162
|
+
*/
|
|
163
|
+
SiteHostname: siteHostname,
|
|
164
|
+
/**
|
|
165
|
+
* The color used to indicate success states.
|
|
166
|
+
*/
|
|
167
|
+
success_color: '#4CAF50',
|
|
168
|
+
/**
|
|
169
|
+
* The color used to indicate failure states.
|
|
170
|
+
*/
|
|
171
|
+
failure_color: '#F44336',
|
|
172
|
+
/**
|
|
173
|
+
* The color used to indicate warning states.
|
|
174
|
+
*/
|
|
175
|
+
warning_color: '#FF9800',
|
|
176
|
+
/**
|
|
177
|
+
* The light variant of the primary text color.
|
|
178
|
+
*/
|
|
179
|
+
primary_text_light: '#ffffff',
|
|
180
|
+
/**
|
|
181
|
+
* The dark variant of the primary text color.
|
|
182
|
+
*/
|
|
183
|
+
primary_text_dark: '#000000',
|
|
184
|
+
/**
|
|
185
|
+
* The light variant of the secondary text color.
|
|
186
|
+
*/
|
|
187
|
+
secondary_text_light: '#ffffff',
|
|
188
|
+
/**
|
|
189
|
+
* The dark variant of the secondary text color.
|
|
190
|
+
*/
|
|
191
|
+
secondary_text_dark: '#000000',
|
|
192
|
+
/**
|
|
193
|
+
* The primary brand color (used for primary theme color)
|
|
194
|
+
*/
|
|
195
|
+
logo_primary_color: '#050505ff',
|
|
196
|
+
/**
|
|
197
|
+
* The primary text color (used for logo and text)
|
|
198
|
+
*/
|
|
199
|
+
logo_primary_text: '#212121',
|
|
200
|
+
/**
|
|
201
|
+
* The secondary text color (used for logo and accents)
|
|
202
|
+
*/
|
|
203
|
+
logo_secondary_text: '#757575',
|
|
204
|
+
...(overrides ?? {}),
|
|
205
|
+
});
|
|
206
|
+
};
|
|
207
|
+
exports.createConstants = createConstants;
|
|
208
|
+
exports.Constants = (0, exports.createConstants)('localhost', 'localhost');
|
|
209
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-suite-core-lib/src/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Core error class exports for suite-core-lib
|
|
3
3
|
*/
|
|
4
|
-
|
|
5
|
-
// Base error classes
|
|
6
4
|
export { TranslatableSuiteError } from '../errors/translatable-suite';
|
|
7
5
|
export { TranslatableSuiteHandleableError } from '../errors/translatable-suite-handleable';
|
|
8
6
|
export { CoreTypedHandleableError } from '../errors/core-typed-handleable';
|
|
9
|
-
|
|
10
|
-
// Common error classes
|
|
11
7
|
export { UserNotFoundError } from '../errors/user-not-found';
|
|
12
8
|
export { InvalidCredentialsError } from '../errors/invalid-credentials';
|
|
13
9
|
export { InvalidEmailError } from '../errors/invalid-email';
|
|
@@ -15,3 +11,4 @@ export { InvalidUsernameError } from '../errors/invalid-username';
|
|
|
15
11
|
export { EmailInUseError } from '../errors/email-in-use';
|
|
16
12
|
export { UsernameInUseError } from '../errors/username-in-use';
|
|
17
13
|
export { GenericValidationError } from '../errors/generic-validation';
|
|
14
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-suite-core-lib/src/core/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,gCAAgC,EAAE,MAAM,yCAAyC,CAAC;AAC3F,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAG3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Core error class exports for suite-core-lib
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.GenericValidationError = exports.UsernameInUseError = exports.EmailInUseError = exports.InvalidUsernameError = exports.InvalidEmailError = exports.InvalidCredentialsError = exports.UserNotFoundError = exports.CoreTypedHandleableError = exports.TranslatableSuiteHandleableError = exports.TranslatableSuiteError = void 0;
|
|
7
|
+
// Base error classes
|
|
8
|
+
var translatable_suite_1 = require("../errors/translatable-suite");
|
|
9
|
+
Object.defineProperty(exports, "TranslatableSuiteError", { enumerable: true, get: function () { return translatable_suite_1.TranslatableSuiteError; } });
|
|
10
|
+
var translatable_suite_handleable_1 = require("../errors/translatable-suite-handleable");
|
|
11
|
+
Object.defineProperty(exports, "TranslatableSuiteHandleableError", { enumerable: true, get: function () { return translatable_suite_handleable_1.TranslatableSuiteHandleableError; } });
|
|
12
|
+
var core_typed_handleable_1 = require("../errors/core-typed-handleable");
|
|
13
|
+
Object.defineProperty(exports, "CoreTypedHandleableError", { enumerable: true, get: function () { return core_typed_handleable_1.CoreTypedHandleableError; } });
|
|
14
|
+
// Common error classes
|
|
15
|
+
var user_not_found_1 = require("../errors/user-not-found");
|
|
16
|
+
Object.defineProperty(exports, "UserNotFoundError", { enumerable: true, get: function () { return user_not_found_1.UserNotFoundError; } });
|
|
17
|
+
var invalid_credentials_1 = require("../errors/invalid-credentials");
|
|
18
|
+
Object.defineProperty(exports, "InvalidCredentialsError", { enumerable: true, get: function () { return invalid_credentials_1.InvalidCredentialsError; } });
|
|
19
|
+
var invalid_email_1 = require("../errors/invalid-email");
|
|
20
|
+
Object.defineProperty(exports, "InvalidEmailError", { enumerable: true, get: function () { return invalid_email_1.InvalidEmailError; } });
|
|
21
|
+
var invalid_username_1 = require("../errors/invalid-username");
|
|
22
|
+
Object.defineProperty(exports, "InvalidUsernameError", { enumerable: true, get: function () { return invalid_username_1.InvalidUsernameError; } });
|
|
23
|
+
var email_in_use_1 = require("../errors/email-in-use");
|
|
24
|
+
Object.defineProperty(exports, "EmailInUseError", { enumerable: true, get: function () { return email_in_use_1.EmailInUseError; } });
|
|
25
|
+
var username_in_use_1 = require("../errors/username-in-use");
|
|
26
|
+
Object.defineProperty(exports, "UsernameInUseError", { enumerable: true, get: function () { return username_in_use_1.UsernameInUseError; } });
|
|
27
|
+
var generic_validation_1 = require("../errors/generic-validation");
|
|
28
|
+
Object.defineProperty(exports, "GenericValidationError", { enumerable: true, get: function () { return generic_validation_1.GenericValidationError; } });
|
|
29
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-suite-core-lib/src/core/errors.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,qBAAqB;AACrB,mEAAsE;AAA7D,4HAAA,sBAAsB,OAAA;AAC/B,yFAA2F;AAAlF,iJAAA,gCAAgC,OAAA;AACzC,yEAA2E;AAAlE,iIAAA,wBAAwB,OAAA;AAEjC,uBAAuB;AACvB,2DAA6D;AAApD,mHAAA,iBAAiB,OAAA;AAC1B,qEAAwE;AAA/D,8HAAA,uBAAuB,OAAA;AAChC,yDAA4D;AAAnD,kHAAA,iBAAiB,OAAA;AAC1B,+DAAkE;AAAzD,wHAAA,oBAAoB,OAAA;AAC7B,uDAAyD;AAAhD,+GAAA,eAAe,OAAA;AACxB,6DAA+D;AAAtD,qHAAA,kBAAkB,OAAA;AAC3B,mEAAsE;AAA7D,4HAAA,sBAAsB,OAAA"}
|