passbolt-styleguide 3.8.4 → 3.9.0-alpha2
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/build/css/help.min.css +3 -3
- package/build/css/public.min.css +3 -3
- package/build/css/themes/default/api_authentication.min.css +3 -3
- package/build/css/themes/default/api_cloud.min.css +3 -3
- package/build/css/themes/default/api_main.min.css +3 -3
- package/build/css/themes/default/api_reports.min.css +3 -3
- package/build/css/themes/default/api_webinstaller.min.css +3 -3
- package/build/css/themes/default/ext_app.min.css +3 -3
- package/build/css/themes/default/ext_authentication.min.css +3 -3
- package/build/css/themes/default/ext_external.min.css +2 -2
- package/build/css/themes/default/ext_in_form_cta.min.css +3 -3
- package/build/css/themes/default/ext_in_form_menu.min.css +3 -3
- package/build/css/themes/default/ext_quickaccess.min.css +3 -3
- package/build/css/themes/midgar/api_authentication.min.css +3 -3
- package/build/css/themes/midgar/api_main.min.css +3 -3
- package/build/css/themes/midgar/api_reports.min.css +3 -3
- package/build/css/themes/midgar/ext_app.min.css +3 -3
- package/build/css/themes/midgar/ext_authentication.min.css +3 -3
- package/build/css/themes/midgar/ext_in_form_cta.min.css +3 -3
- package/build/css/themes/midgar/ext_in_form_menu.min.css +3 -3
- package/build/css/themes/midgar/ext_quickaccess.min.css +3 -3
- package/build/css/themes/solarized_dark/api_authentication.min.css +1 -1
- package/build/css/themes/solarized_dark/api_main.min.css +1 -1
- package/build/css/themes/solarized_dark/api_reports.min.css +1 -1
- package/build/css/themes/solarized_dark/ext_app.min.css +1 -1
- package/build/css/themes/solarized_dark/ext_authentication.min.css +1 -1
- package/build/css/themes/solarized_dark/ext_in_form_cta.min.css +1 -1
- package/build/css/themes/solarized_dark/ext_in_form_menu.min.css +1 -1
- package/build/css/themes/solarized_dark/ext_quickaccess.min.css +1 -1
- package/build/css/themes/solarized_light/api_authentication.min.css +1 -1
- package/build/css/themes/solarized_light/api_main.min.css +1 -1
- package/build/css/themes/solarized_light/api_reports.min.css +1 -1
- package/build/css/themes/solarized_light/ext_app.min.css +1 -1
- package/build/css/themes/solarized_light/ext_authentication.min.css +1 -1
- package/build/css/themes/solarized_light/ext_in_form_cta.min.css +1 -1
- package/build/css/themes/solarized_light/ext_in_form_menu.min.css +1 -1
- package/build/css/themes/solarized_light/ext_quickaccess.min.css +1 -1
- package/build/js/dist/api-account-recovery.js +1 -1
- package/build/js/dist/api-app.js +1 -1
- package/build/js/dist/api-app.js.LICENSE.txt +75 -5
- package/build/js/dist/api-feedback.js +2 -0
- package/build/js/dist/api-feedback.js.LICENSE.txt +45 -0
- package/build/js/dist/api-recover.js +1 -1
- package/build/js/dist/api-setup.js +1 -1
- package/build/js/dist/api-triage.js +1 -1
- package/build/js/dist/api-vendors.js +1 -1
- package/build/js/dist/api-vendors.js.LICENSE.txt +19 -9
- package/build/js/dist/src/locales/de-DE/common.json +995 -0
- package/build/js/dist/src/locales/en-UK/common.json +1061 -0
- package/build/js/dist/src/locales/es-ES/common.json +995 -0
- package/build/js/dist/src/locales/fr-FR/common.json +995 -0
- package/build/js/dist/src/locales/ja-JP/common.json +980 -0
- package/build/js/dist/src/locales/lt-LT/common.json +1025 -0
- package/build/js/dist/src/locales/nl-NL/common.json +995 -0
- package/build/js/dist/src/locales/pl-PL/common.json +1025 -0
- package/build/js/dist/src/locales/sv-SE/common.json +995 -0
- package/package.json +18 -1
- package/src/img/controls/attention.svg +1 -0
- package/src/locales/en-UK/common.json +80 -16
- package/src/react-extension/ApiApp.js +17 -5
- package/src/react-extension/ApiFeedback.entry.js +24 -0
- package/src/react-extension/ExtApp.js +12 -5
- package/src/react-extension/ExtAuthenticationLogin.js +17 -15
- package/src/react-extension/ExtAuthenticationLogin.test.stories.js +59 -0
- package/src/react-extension/ExtBootstrapApp.js +1 -0
- package/src/react-extension/components/Administration/AdministrationWorkspace.js +24 -0
- package/src/react-extension/components/Administration/AdministrationWorkspace.test.data.js +3 -3
- package/src/react-extension/components/Administration/AdministrationWorkspace.test.js +13 -1
- package/src/react-extension/components/Administration/AdministrationWorkspace.test.page.js +7 -0
- package/src/react-extension/components/Administration/ConfirmDeleteSsoSettingsDialog/ConfirmDeleteSsoSettingsDialog.js +101 -0
- package/src/react-extension/components/Administration/ConfirmDeleteSsoSettingsDialog/ConfirmDeleteSsoSettingsDialog.test.data.js +23 -0
- package/src/react-extension/components/Administration/ConfirmDeleteSsoSettingsDialog/ConfirmDeleteSsoSettingsDialog.test.stories.js +27 -0
- package/src/react-extension/components/Administration/ConfirmSaveAccountRecoverySettings/ConfirmSaveAccountRecoverySettings.js +1 -1
- package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.js +78 -2
- package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.test.data.js +3 -1
- package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.test.js +60 -0
- package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.test.page.js +23 -4
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationInternationalisationActions/DisplayAdministrationInternationalisationActions.js +125 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationMfaActions/DisplayAdministrationMfaActions.js +131 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationSelfRegistrationActions/DisplayAdministrationSelfRegistrationActions.js +103 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationSsoActions/DisplayAdministrationSsoActions.js +91 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationSubscriptionActions/DisplayAdministrationSubscriptionActions.js +85 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationUserDirectoryActions/DisplayAdministrationUserDirectoryActions.js +228 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceBreadcrumb/DisplayAdministrationWorkspaceBreadcrumb.js +4 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceBreadcrumb/DisplayAdministrationWorkspaceBreadcrumb.test.js +9 -0
- package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.js +3 -3
- package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.test.data.js +14 -0
- package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.test.page.js +0 -17
- package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.js +18 -115
- package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.test.data.js +11 -13
- package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.test.js +38 -43
- package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.test.page.js +47 -10
- package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.test.stories.js +10 -43
- package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.js +82 -367
- package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.data.js +128 -42
- package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.js +75 -121
- package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.page.js +46 -16
- package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.stories.js +18 -14
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmDeletionSelfRegistrationSettings/ConfirmDeletionSelfRegistrationSettings.js +103 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmDeletionSelfRegistrationSettings/ConfirmDeletionSelfRegistrationSettings.test.js +53 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmDeletionSelfRegistrationSettings/ConfirmDeletionSelfRegistrationSettings.test.page.js +81 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmDeletionSelfRegistrationSettings/ConfirmDeletionSelfRegistrationSettings.test.stories.js +34 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmSaveSelfRegistrationSettings/ConfirmSaveSelfRegistrationSettings.js +125 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmSaveSelfRegistrationSettings/ConfirmSaveSelfRegistrationSettings.test.data.js +63 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmSaveSelfRegistrationSettings/ConfirmSaveSelfRegistrationSettings.test.js +54 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmSaveSelfRegistrationSettings/ConfirmSaveSelfRegistrationSettings.test.page.js +88 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmSaveSelfRegistrationSettings/ConfirmSaveSelfRegistrationSettings.test.stories.js +35 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/DisplaySelfRegistrationAdministration.js +381 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/DisplaySelfRegistrationAdministration.test.data.js +69 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/DisplaySelfRegistrationAdministration.test.js +332 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/DisplaySelfRegistrationAdministration.test.page.js +247 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/DisplaySelfRegistrationAdministration.test.stories.js +72 -0
- package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.js +19 -19
- package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.data.js +1717 -1729
- package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.js +11 -3
- package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.page.js +4 -1
- package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.stories.js +11 -1784
- package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.js +41 -140
- package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.data.js +15 -3
- package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.js +22 -49
- package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.page.js +19 -11
- package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.stories.js +9 -3
- package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.js +5 -6
- package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.test.data.js +1717 -1728
- package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.test.js +11 -3
- package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.test.page.js +4 -1
- package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.test.stories.js +11 -1784
- package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.js +362 -835
- package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.data.js +427 -418
- package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.js +134 -175
- package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.page.js +108 -11
- package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.stories.js +17 -25
- package/src/react-extension/components/Administration/EditSubscriptionKey/EditSubscriptionKey.js +4 -2
- package/src/react-extension/components/Administration/ManageAccountRecoveryAdministrationSettings/ManageAccountRecoveryAdministrationSettings.js +3 -3
- package/src/react-extension/components/Administration/ManageAccountRecoveryAdministrationSettings/ManageAccountRecoveryAdministrationSettings.test.js +1 -1
- package/src/react-extension/components/Administration/ManageSmtpAdministrationSettings/ManageSmtpAdministrationSettings.js +32 -7
- package/src/react-extension/components/Administration/ManageSmtpAdministrationSettings/ManageSmtpAdministrationSettings.test.data.js +0 -3
- package/src/react-extension/components/Administration/ManageSmtpAdministrationSettings/ManageSmtpAdministrationSettings.test.js +145 -1
- package/src/react-extension/components/Administration/ManageSmtpAdministrationSettings/ManageSmtpAdministrationSettings.test.page.js +52 -1
- package/src/react-extension/components/Administration/ManageSmtpAdministrationSettings/ManageSmtpAdministrationSettings.test.stories.js +15 -0
- package/src/react-extension/components/Administration/ManageSsoSettings/ManageSsoSettings.js +340 -0
- package/src/react-extension/components/Administration/ManageSsoSettings/ManageSsoSettings.test.data.js +56 -0
- package/src/react-extension/components/Administration/ManageSsoSettings/ManageSsoSettings.test.js +223 -0
- package/src/react-extension/components/Administration/ManageSsoSettings/ManageSsoSettings.test.page.js +235 -0
- package/src/react-extension/components/Administration/ManageSsoSettings/ManageSsoSettings.test.stories.js +55 -0
- package/src/react-extension/components/Administration/ManageSsoSettings/SsoProviders.data.js +34 -0
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/GenerateOrganizationKey.js +12 -3
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/GenerateOrganizationKey.test.js +27 -0
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/SelectAccountRecoveryOrganizationKey.test.page.js +8 -0
- package/src/react-extension/components/Administration/TestSsoSettingsDialog/TestSsoSettingsDialog.js +197 -0
- package/src/react-extension/components/Administration/TestSsoSettingsDialog/TestSsoSettingsDialog.test.data.js +37 -0
- package/src/react-extension/components/Administration/TestSsoSettingsDialog/TestSsoSettingsDialog.test.js +187 -0
- package/src/react-extension/components/Administration/TestSsoSettingsDialog/TestSsoSettingsDialog.test.page.js +120 -0
- package/src/react-extension/components/Administration/TestSsoSettingsDialog/TestSsoSettingsDialog.test.stories.js +31 -0
- package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.js +9 -5
- package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.data.js +4 -0
- package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.js +11 -42
- package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.page.js +1 -0
- package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.js +9 -5
- package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.data.js +4 -0
- package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.js +16 -2
- package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.page.js +17 -1
- package/src/react-extension/components/AuthenticationLogin/Login/Login.js +159 -61
- package/src/react-extension/components/AuthenticationLogin/Login/Login.test.data.js +14 -11
- package/src/react-extension/components/AuthenticationLogin/Login/Login.test.js +79 -0
- package/src/react-extension/components/AuthenticationLogin/Login/Login.test.page.js +16 -0
- package/src/react-extension/components/AuthenticationLogin/OrchestrateLogin/OrchestrateLoginBoxMain.js +2 -0
- package/src/react-extension/components/AuthenticationSetup/SetupAuthentication/SetupAuthentication.js +4 -0
- package/src/react-extension/components/Common/Error/ApiError/ApiError.js +119 -0
- package/src/react-extension/components/Common/Error/ApiError/ApiError.test.js +43 -0
- package/src/react-extension/components/Common/Error/ApiError/ApiError.test.page.js +108 -0
- package/src/react-extension/components/Common/Error/ApiError/ApiError.test.stories.js +39 -0
- package/src/react-extension/components/Common/Inputs/Autocomplete/Autocomplete.test.js +12 -0
- package/src/react-extension/components/Common/Inputs/Autocomplete/AutocompleteItem.js +2 -2
- package/src/react-extension/components/Common/Legacy/HandleLegacyAppjs.js +1 -1
- package/src/react-extension/components/Common/Navigation/Header/Logo.js +13 -1
- package/src/react-extension/components/Resource/CreateResource/CreateResource.js +103 -30
- package/src/react-extension/components/Resource/CreateResource/CreateResource.test.js +44 -10
- package/src/react-extension/components/Resource/CreateResource/CreateResource.test.page.js +35 -7
- package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesList.js +3 -3
- package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesListContextualMenu.js +6 -5
- package/src/react-extension/components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspaceMenu.js +5 -4
- package/src/react-extension/components/Resource/EditResource/EditResource.js +95 -23
- package/src/react-extension/components/Resource/EditResource/EditResource.test.js +45 -13
- package/src/react-extension/components/Resource/EditResource/EditResource.test.page.js +35 -2
- package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetails.js +2 -1
- package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsInformation.js +3 -2
- package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.js +23 -2
- package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.test.js +8 -0
- package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.test.page.js +26 -2
- package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.js +22 -1
- package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.test.js +8 -0
- package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.test.page.js +25 -2
- package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetails.js +2 -1
- package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/GenerateResourcePassword.js +2 -1
- package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.js +14 -1
- package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.test.js +8 -0
- package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.test.page.js +12 -0
- package/src/react-extension/components/User/CreateUser/CreateUser.js +42 -3
- package/src/react-extension/components/User/CreateUser/CreateUser.test.js +16 -0
- package/src/react-extension/components/User/CreateUser/CreateUser.test.page.js +26 -0
- package/src/react-extension/components/User/DisplayUserWorkspaceActions/DisplayUserWorkspaceActions.js +2 -1
- package/src/react-extension/components/User/DisplayUsersContextualMenu/DisplayUsersContextualMenu.js +5 -5
- package/src/react-extension/components/User/EditUser/EditUser.js +29 -2
- package/src/react-extension/components/User/EditUser/EditUser.test.js +12 -0
- package/src/react-extension/components/User/EditUser/EditUser.test.page.js +26 -0
- package/src/react-extension/components/UserDetails/DisplayUserDetails/DisplayUserDetails.js +2 -1
- package/src/react-extension/components/UserDetails/DisplayUserDetails/DisplayUserDetails.test.data.js +1332 -1331
- package/src/react-extension/components/UserDetails/DisplayUserDetailsPublicKey/DisplayUserDetailsPublicKey.js +2 -1
- package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.js +19 -1
- package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.test.js +9 -0
- package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.test.page.js +12 -0
- package/src/react-extension/components/UserGroup/DisplayUserGroupDetails/DisplayUserGroupDetails.js +2 -1
- package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.js +16 -1
- package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.js +8 -0
- package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.page.js +26 -1
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/ConfirmPassphrase.js +1 -1
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.js +6 -4
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.data.js +4 -1
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.js +21 -11
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.page.js +10 -1
- package/src/react-extension/contexts/AdminSmtpSettingsContext.js +2 -0
- package/src/react-extension/contexts/AdminSmtpSettingsContext.test.data.js +13 -0
- package/src/react-extension/contexts/AdminSmtpSettingsContext.test.js +3 -1
- package/src/react-extension/contexts/AdminSsoContext.js +558 -0
- package/src/react-extension/contexts/AdminSsoContext.test.data.js +51 -0
- package/src/react-extension/contexts/Administration/AdministrationInternationalizationContext/AdministrationInternationalizationContext.js +194 -0
- package/src/react-extension/contexts/Administration/AdministrationInternationalizationContext/AdministrationInternationalizationContext.test.js +111 -0
- package/src/react-extension/contexts/Administration/AdministrationMfa/AdministrationMfaContext.js +265 -0
- package/src/react-extension/contexts/Administration/AdministrationMfa/AdministrationMfaContext.test.js +178 -0
- package/src/react-extension/contexts/Administration/AdministrationSelfRegistration/AdministrationSelfRegistrationContext.js +453 -0
- package/src/react-extension/contexts/Administration/AdministrationSelfRegistration/AdministrationSelfRegistrationContext.test.js +218 -0
- package/src/react-extension/contexts/Administration/AdministrationSubscription/AdministrationSubscription.js +168 -0
- package/src/react-extension/contexts/Administration/AdministrationSubscription/AdministrationSubscription.test.js +73 -0
- package/src/react-extension/contexts/Administration/AdministrationUserDirectory/AdministrationUserDirectoryContext.js +353 -0
- package/src/react-extension/contexts/Administration/AdministrationUserDirectory/AdministrationUserDirectoryContext.test.js +220 -0
- package/src/react-extension/contexts/AdministrationWorkspaceContext.js +17 -178
- package/src/react-extension/contexts/AdministrationWorkspaceContext.test.js +0 -26
- package/src/react-extension/contexts/ApiAppContext.test.data.js +4 -2
- package/src/react-extension/contexts/Authentication/AuthenticationLoginContext.js +54 -4
- package/src/react-extension/contexts/Authentication/AuthenticationLoginContext.test.data.js +10 -1
- package/src/react-extension/contexts/Authentication/AuthenticationLoginContext.test.js +92 -14
- package/src/react-extension/contexts/Authentication/AuthenticationSetupContext.js +1 -0
- package/src/react-extension/contexts/NavigationContext.js +34 -0
- package/src/react-extension/contexts/SsoContext.js +151 -0
- package/src/react-extension/contexts/SsoContext.test.data.js +36 -0
- package/src/react-extension/contexts/SsoContext.test.js +104 -0
- package/src/react-extension/lib/Domain/DomainUtil.js +70 -0
- package/src/react-extension/lib/Domain/DomainUtil.test.js +129 -0
- package/src/react-extension/lib/Domain/Domains.js +6113 -0
- package/src/react-extension/lib/Error/InputValidator.js +24 -0
- package/src/react-extension/lib/Map/DynamicRef.js +49 -0
- package/src/react-extension/lib/Map/DynamicRef.test.js +56 -0
- package/src/react-extension/lib/Map/MapObject.js +48 -0
- package/src/react-extension/lib/Map/MapObject.test.js +43 -0
- package/src/react-quickaccess/ExtQuickAccess.js +7 -4
- package/src/react-quickaccess/components/GeneratePasswordPage/GeneratePasswordPage.js +3 -1
- package/src/react-quickaccess/components/GeneratePasswordPage/GeneratePasswordPage.test.data.js +4 -0
- package/src/react-quickaccess/components/LoginPage/LoginPage.js +115 -4
- package/src/react-quickaccess/components/LoginPage/LoginPage.test.data.js +10 -0
- package/src/react-quickaccess/components/LoginPage/LoginPage.test.stories.js +30 -3
- package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.js +33 -1
- package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.test.data.js +25 -0
- package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.test.js +60 -0
- package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.test.page.js +60 -0
- package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.js +33 -1
- package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.test.js +36 -7
- package/src/react-quickaccess/components/ResourceViewPage/ResourceViewPage.js +3 -2
- package/src/react-quickaccess/contexts/SsoContext.js +150 -0
- package/src/react-web-integration/lib/InForm/InFormFieldSelector.js +5 -0
- package/src/shared/constants/inputs.const.js +30 -0
- package/src/shared/lib/Browser/clipBoard.js +45 -0
- package/src/shared/lib/Browser/clipBoard.test.js +59 -0
- package/src/shared/models/Mfa/Duo.js +36 -0
- package/src/shared/models/Mfa/Duo.test.js +59 -0
- package/src/shared/models/Mfa/MfaDTO.js +51 -0
- package/src/shared/models/Mfa/MfaDTO.test.js +48 -0
- package/src/shared/models/Mfa/MfaEnumeration.js +17 -0
- package/src/shared/models/Mfa/MfaModel.js +48 -0
- package/src/shared/models/Mfa/MfaModel.test.js +37 -0
- package/src/shared/models/Mfa/Yubikey.js +35 -0
- package/src/shared/models/Mfa/Yubikey.test.js +47 -0
- package/src/shared/models/selfRegistration/SelfRegistrationDomainsViewModel.js +55 -0
- package/src/shared/models/selfRegistration/SelfRegistrationDomainsViewModel.test.js +37 -0
- package/src/shared/models/selfRegistration/SelfRegistrationDto.js +42 -0
- package/src/shared/models/selfRegistration/SelfRegistrationDto.test.js +48 -0
- package/src/shared/models/selfRegistration/SelfRegistrationEnumeration.js +17 -0
- package/src/shared/models/subscription/SubscriptionDto.js +34 -0
- package/src/shared/models/subscription/SubscriptionDto.test.js +31 -0
- package/src/shared/models/subscription/SubscriptionModel.js +33 -0
- package/src/shared/models/subscription/SubscriptionModel.test.js +48 -0
- package/src/shared/models/user/UserModel.js +37 -0
- package/src/shared/models/userDirectory/UserDirectoryDTO.js +57 -0
- package/src/shared/models/userDirectory/UserDirectoryDTO.test.js +40 -0
- package/src/shared/models/userDirectory/UserDirectoryEnum.js +22 -0
- package/src/shared/models/userDirectory/UserDirectoryModel.js +64 -0
- package/src/shared/models/userDirectory/UserDirectoryModel.test.js +37 -0
- package/src/shared/services/actions/subscription/SubscriptionActionService.js +69 -0
- package/src/shared/services/actions/subscription/SubscriptionActionService.test.js +73 -0
- package/src/shared/services/api/Internationalisation/InternationalisationService.js +46 -0
- package/src/shared/services/api/Mfa/MfaService.js +54 -0
- package/src/shared/services/{accountRecovery → api/accountRecovery}/ApiAppAccountRecoveryUserService.js +2 -2
- package/src/shared/services/{accountRecovery → api/accountRecovery}/ExtAppAccountRecoveryUserService.js +0 -0
- package/src/shared/services/api/secrets/pownedService.js +64 -0
- package/src/shared/services/api/secrets/pownedService.test.js +63 -0
- package/src/shared/services/api/selfRegistration/selfRegistrationService.js +64 -0
- package/src/shared/services/api/user/UserService.js +45 -0
- package/src/shared/services/api/userDirectory/UserDirectoryService.js +108 -0
- package/src/shared/services/forms/Mfa/MfaFormService.js +195 -0
- package/src/shared/services/forms/Mfa/MfaFormService.test.js +341 -0
- package/src/shared/services/forms/selfRegistration/SelfRegistrationFormService.js +92 -0
- package/src/shared/services/forms/selfRegistration/SelfRegistrationFormService.test.js +101 -0
- package/src/shared/services/forms/userDirectory/UserDirectoryFormService.js +118 -0
- package/src/shared/services/forms/userDirectory/UserDirectoryFormService.test.js +128 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationWorkspaceActions.js +0 -205
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationWorkspaceActions.test.data.js +0 -37
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationWorkspaceActions.test.js +0 -197
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationWorkspaceActions.test.page.js +0 -133
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
6
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
7
|
+
* Redistributions of files must retain the above copyright notice.
|
|
8
|
+
*
|
|
9
|
+
* @copyright Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
10
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
11
|
+
* @link https=//www.passbolt.com Passbolt(tm)
|
|
12
|
+
* @since 3.8.0
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Model related to the subscription model for UI
|
|
16
|
+
*/
|
|
17
|
+
class SubscriptionModel {
|
|
18
|
+
/**
|
|
19
|
+
* Constructor
|
|
20
|
+
* @param {SubscriptionDto} subscriptionDto
|
|
21
|
+
*/
|
|
22
|
+
constructor(subscriptionDto) {
|
|
23
|
+
this.customerId = subscriptionDto?.customer_id || "";
|
|
24
|
+
this.subscriptionId = subscriptionDto ? "subscription_id" in subscriptionDto ? subscriptionDto.subscription_id : "N/A" : "";
|
|
25
|
+
this.users = subscriptionDto?.users || null;
|
|
26
|
+
this.email = subscriptionDto ? "email" in subscriptionDto ? subscriptionDto.email : "N/A" : "";
|
|
27
|
+
this.expiry = subscriptionDto?.expiry || null;
|
|
28
|
+
this.created = subscriptionDto?.created || null;
|
|
29
|
+
this.data = subscriptionDto?.data || null;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export default SubscriptionModel;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
6
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
7
|
+
* Redistributions of files must retain the above copyright notice.
|
|
8
|
+
*
|
|
9
|
+
* @copyright Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
10
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
11
|
+
* @link https=//www.passbolt.com Passbolt(tm)
|
|
12
|
+
* @since 3.8.0
|
|
13
|
+
*/
|
|
14
|
+
import {mockSubscription, mockSubscriptionModel} from '../../../react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.data';
|
|
15
|
+
import SubscriptionModel from './SubscriptionModel';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Test model related to the subscription model
|
|
19
|
+
*/
|
|
20
|
+
describe("SubscriptionModel model", () => {
|
|
21
|
+
describe("SubscriptionModel::constructor", () => {
|
|
22
|
+
it("should init model with dto", () => {
|
|
23
|
+
expect.assertions(1);
|
|
24
|
+
const model = new SubscriptionModel(mockSubscription);
|
|
25
|
+
expect(model).toEqual(mockSubscriptionModel);
|
|
26
|
+
});
|
|
27
|
+
it("should init model default value without param", () => {
|
|
28
|
+
expect.assertions(1);
|
|
29
|
+
const model = new SubscriptionModel();
|
|
30
|
+
expect(model).toEqual({
|
|
31
|
+
customerId: "",
|
|
32
|
+
subscriptionId: "",
|
|
33
|
+
users: null,
|
|
34
|
+
email: "",
|
|
35
|
+
expiry: null,
|
|
36
|
+
created: null,
|
|
37
|
+
data: null
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
it("should init model with N/A value if email and subscriptionId not exist", () => {
|
|
41
|
+
expect.assertions(2);
|
|
42
|
+
const model = new SubscriptionModel({});
|
|
43
|
+
expect(model.subscriptionId).toEqual("N/A");
|
|
44
|
+
expect(model.email).toEqual("N/A");
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
6
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
7
|
+
* Redistributions of files must retain the above copyright notice.
|
|
8
|
+
*
|
|
9
|
+
* @copyright Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
10
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
11
|
+
* @link https=//www.passbolt.com Passbolt(tm)
|
|
12
|
+
* @since 3.8.0
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Model related to the user model for UI
|
|
16
|
+
*/
|
|
17
|
+
class UserModel {
|
|
18
|
+
/**
|
|
19
|
+
* Constructor
|
|
20
|
+
* @param {UserDto} userDto
|
|
21
|
+
*/
|
|
22
|
+
constructor(userDto) {
|
|
23
|
+
this.id = userDto.id;
|
|
24
|
+
this.active = userDto.active;
|
|
25
|
+
this.deleted = userDto.deleted;
|
|
26
|
+
this.gpgkey = userDto.gpgkey;
|
|
27
|
+
this.groupsUsers = userDto.groups_users;
|
|
28
|
+
this.isMfaEnabled = userDto.is_mfa_enabled;
|
|
29
|
+
this.lastLoggedIn = userDto.last_logged_in;
|
|
30
|
+
this.profile = userDto.profile;
|
|
31
|
+
this.role = userDto.role;
|
|
32
|
+
this.roleId = userDto.role_id;
|
|
33
|
+
this.username = userDto.username;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export default UserModel;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
6
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
7
|
+
* Redistributions of files must retain the above copyright notice.
|
|
8
|
+
*
|
|
9
|
+
* @copyright Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
10
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
11
|
+
* @link https=//www.passbolt.com Passbolt(tm)
|
|
12
|
+
* @since 3.8.0
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Model related to the user dto
|
|
17
|
+
*/
|
|
18
|
+
class UserDirectoryDTO {
|
|
19
|
+
/**
|
|
20
|
+
* Constructor
|
|
21
|
+
* @param {UserDirectoryModel} userDirectoryModel
|
|
22
|
+
*/
|
|
23
|
+
constructor(userDirectoryModel) {
|
|
24
|
+
this.enabled = userDirectoryModel.userDirectoryToggle;
|
|
25
|
+
// CREDENTIALS FIELDS
|
|
26
|
+
this.directory_type = userDirectoryModel.directoryType;
|
|
27
|
+
this.connection_type = userDirectoryModel.connectionType;
|
|
28
|
+
this.server = userDirectoryModel.host;
|
|
29
|
+
this.port = parseInt(userDirectoryModel.port);
|
|
30
|
+
this.username = userDirectoryModel.username;
|
|
31
|
+
this.password = userDirectoryModel.password;
|
|
32
|
+
this.domain_name = userDirectoryModel.domain;
|
|
33
|
+
this.base_dn = userDirectoryModel.baseDn;
|
|
34
|
+
// DIRECTORY CONFIGURATION FIELDS
|
|
35
|
+
this.group_path = userDirectoryModel.groupPath;
|
|
36
|
+
this.user_path = userDirectoryModel.userPath;
|
|
37
|
+
this.group_object_class = this.directory_type === "openldap" ? userDirectoryModel.groupObjectClass : "";
|
|
38
|
+
this.user_object_class = this.directory_type === "openldap" ? userDirectoryModel.userObjectClass : "";
|
|
39
|
+
this.use_email_prefix_suffix = this.directory_type === "openldap" ? userDirectoryModel.useEmailPrefix : false;
|
|
40
|
+
this.email_prefix = this.directory_type === "openldap" && this.useEmailPrefix ? userDirectoryModel.emailPrefix : "";
|
|
41
|
+
this.email_suffix = this.directory_type === "openldap" && this.useEmailPrefix ? userDirectoryModel.emailSuffix : "";
|
|
42
|
+
// SYNCHRONIZATION OPTIONS
|
|
43
|
+
this.default_user = userDirectoryModel.defaultAdmin;
|
|
44
|
+
this.default_group_admin_user = userDirectoryModel.defaultGroupAdmin;
|
|
45
|
+
this.groups_parent_group = userDirectoryModel.groupsParentGroup;
|
|
46
|
+
this.users_parent_group = userDirectoryModel.usersParentGroup;
|
|
47
|
+
this.enabled_users_only = userDirectoryModel.enabledUsersOnly;
|
|
48
|
+
this.sync_users_create = userDirectoryModel.createUsers;
|
|
49
|
+
this.sync_users_delete = userDirectoryModel.deleteUsers;
|
|
50
|
+
this.sync_groups_create = userDirectoryModel.createGroups;
|
|
51
|
+
this.sync_groups_delete = userDirectoryModel.deleteGroups;
|
|
52
|
+
this.sync_groups_update = userDirectoryModel.updateGroups;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export default UserDirectoryDTO;
|
|
57
|
+
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
6
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
7
|
+
* Redistributions of files must retain the above copyright notice.
|
|
8
|
+
*
|
|
9
|
+
* @copyright Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
10
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
11
|
+
* @link https=//www.passbolt.com Passbolt(tm)
|
|
12
|
+
* @since 3.8.0
|
|
13
|
+
*/
|
|
14
|
+
import UserDirectoryDTO from './UserDirectoryDTO';
|
|
15
|
+
import {mockResult, mockModel} from '../../../react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.data';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Test model related to the user dto
|
|
19
|
+
*/
|
|
20
|
+
describe("UserDirectoryDTO model", () => {
|
|
21
|
+
describe("UserDirectoryDTO::constructor", () => {
|
|
22
|
+
it("should init dto with model", () => {
|
|
23
|
+
const dto = new UserDirectoryDTO(mockModel);
|
|
24
|
+
expect.assertions(1);
|
|
25
|
+
expect(dto).toEqual(mockResult);
|
|
26
|
+
});
|
|
27
|
+
it("should init with default value if directory type is openldap", () => {
|
|
28
|
+
const model = Object.assign({}, mockModel, {userDirectoryModel: "openldap"});
|
|
29
|
+
const dto = new UserDirectoryDTO(model);
|
|
30
|
+
expect.assertions(5);
|
|
31
|
+
expect(dto.group_object_class).toEqual("");
|
|
32
|
+
expect(dto.user_object_class).toEqual("");
|
|
33
|
+
expect(dto.use_email_prefix_suffix).toEqual(false);
|
|
34
|
+
expect(dto.email_suffix).toEqual("");
|
|
35
|
+
expect(dto.email_prefix).toEqual("");
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
6
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
7
|
+
* Redistributions of files must retain the above copyright notice.
|
|
8
|
+
*
|
|
9
|
+
* @copyright Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
10
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
11
|
+
* @link https=//www.passbolt.com Passbolt(tm)
|
|
12
|
+
* @since 3.8.0
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* UserDirectory enumerations
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
export const DirectoryType = {
|
|
20
|
+
openldap: "openldap",
|
|
21
|
+
ad: "ad"
|
|
22
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
6
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
7
|
+
* Redistributions of files must retain the above copyright notice.
|
|
8
|
+
*
|
|
9
|
+
* @copyright Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
10
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
11
|
+
* @link https=//www.passbolt.com Passbolt(tm)
|
|
12
|
+
* @since 3.8.0
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Model related to the user model for UI
|
|
16
|
+
*/
|
|
17
|
+
class UserDirectoryModel {
|
|
18
|
+
/**
|
|
19
|
+
* Constructor
|
|
20
|
+
* @param {UserDirectoryDTO} userDirectoryDTO
|
|
21
|
+
* @param {UserDirectoryDTO} userDirectoryDTO
|
|
22
|
+
*/
|
|
23
|
+
constructor(userDirectoryDTO = [], userId = "") {
|
|
24
|
+
//Sections opened
|
|
25
|
+
this.openCredentials = true;
|
|
26
|
+
this.openDirectoryConfiguration = false;
|
|
27
|
+
this.openSynchronizationOptions = false;
|
|
28
|
+
//Form field option
|
|
29
|
+
this.userDirectoryToggle = userDirectoryDTO.length !== 0;
|
|
30
|
+
// CREDENTIALS FIELDS
|
|
31
|
+
this.directoryType = userDirectoryDTO.length !== 0 ? userDirectoryDTO.directory_type : "ad";
|
|
32
|
+
this.connectionType = userDirectoryDTO.length !== 0 ? userDirectoryDTO.connection_type : "plain";
|
|
33
|
+
this.host = userDirectoryDTO.length !== 0 ? userDirectoryDTO.server : "";
|
|
34
|
+
this.hostError = null;
|
|
35
|
+
this.port = userDirectoryDTO.length !== 0 ? userDirectoryDTO.port.toString() : "389";
|
|
36
|
+
this.portError = null;
|
|
37
|
+
this.username = userDirectoryDTO.length !== 0 ? userDirectoryDTO.username : "";
|
|
38
|
+
this.password = userDirectoryDTO.length !== 0 ? userDirectoryDTO.password : "";
|
|
39
|
+
this.domain = userDirectoryDTO.length !== 0 ? userDirectoryDTO.domain_name : "";
|
|
40
|
+
this.domainError = null;
|
|
41
|
+
this.baseDn = userDirectoryDTO.length !== 0 ? userDirectoryDTO.base_dn : "";
|
|
42
|
+
// DIRECTORY CONFIGURATION FIELDS
|
|
43
|
+
this.groupPath = userDirectoryDTO.length !== 0 ? userDirectoryDTO.group_path : "";
|
|
44
|
+
this.userPath = userDirectoryDTO.length !== 0 ? userDirectoryDTO.user_path : "";
|
|
45
|
+
this.groupObjectClass = userDirectoryDTO.length !== 0 ? userDirectoryDTO.group_object_class : "";
|
|
46
|
+
this.userObjectClass = userDirectoryDTO.length !== 0 ? userDirectoryDTO.user_object_class : "";
|
|
47
|
+
this.useEmailPrefix = userDirectoryDTO.length !== 0 ? userDirectoryDTO.use_email_prefix_suffix : false;
|
|
48
|
+
this.emailPrefix = userDirectoryDTO.length !== 0 ? userDirectoryDTO.email_prefix : "";
|
|
49
|
+
this.emailSuffix = userDirectoryDTO.length !== 0 ? userDirectoryDTO.email_suffix : "";
|
|
50
|
+
// SYNCHRONIZATION OPTIONS
|
|
51
|
+
this.defaultAdmin = userDirectoryDTO.length !== 0 ? userDirectoryDTO.default_user : userId;
|
|
52
|
+
this.defaultGroupAdmin = userDirectoryDTO.length !== 0 ? userDirectoryDTO.default_group_admin_user : userId;
|
|
53
|
+
this.groupsParentGroup = userDirectoryDTO.length !== 0 ? userDirectoryDTO.groups_parent_group : "";
|
|
54
|
+
this.usersParentGroup = userDirectoryDTO.length !== 0 ? userDirectoryDTO.users_parent_group : "";
|
|
55
|
+
this.enabledUsersOnly = userDirectoryDTO.length !== 0 ? userDirectoryDTO.enabled_users_only : false;
|
|
56
|
+
this.createUsers = userDirectoryDTO.length !== 0 ? userDirectoryDTO.sync_users_create : true;
|
|
57
|
+
this.deleteUsers = userDirectoryDTO.length !== 0 ? userDirectoryDTO.sync_users_delete : true;
|
|
58
|
+
this.createGroups = userDirectoryDTO.length !== 0 ? userDirectoryDTO.sync_groups_create : true;
|
|
59
|
+
this.deleteGroups = userDirectoryDTO.length !== 0 ? userDirectoryDTO.sync_groups_delete : true;
|
|
60
|
+
this.updateGroups = userDirectoryDTO.length !== 0 ? userDirectoryDTO.sync_groups_update : true;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export default UserDirectoryModel;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
6
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
7
|
+
* Redistributions of files must retain the above copyright notice.
|
|
8
|
+
*
|
|
9
|
+
* @copyright Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
10
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
11
|
+
* @link https=//www.passbolt.com Passbolt(tm)
|
|
12
|
+
* @since 3.8.0
|
|
13
|
+
*/
|
|
14
|
+
import UserDirectoryModel from './UserDirectoryModel';
|
|
15
|
+
import {defaultMockModel, mockResult, mockModel} from '../../../react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.data';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Test model related to the user model
|
|
19
|
+
*/
|
|
20
|
+
describe("UserDirectoryModel model", () => {
|
|
21
|
+
describe("UserDirectoryModel::constructor", () => {
|
|
22
|
+
it("should init model with default value", () => {
|
|
23
|
+
const model = new UserDirectoryModel();
|
|
24
|
+
expect.assertions(1);
|
|
25
|
+
expect(model).toEqual(defaultMockModel);
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
it("should init model with dto", () => {
|
|
29
|
+
const model = new UserDirectoryModel(mockResult);
|
|
30
|
+
expect.assertions(1);
|
|
31
|
+
expect(model).toEqual(mockModel);
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
6
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
7
|
+
* Redistributions of files must retain the above copyright notice.
|
|
8
|
+
*
|
|
9
|
+
* @copyright Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
10
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
11
|
+
* @link https://www.passbolt.com Passbolt(tm)
|
|
12
|
+
* @since 3.8.0
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import EditSubscriptionKey from "../../../../react-extension/components/Administration/EditSubscriptionKey/EditSubscriptionKey";
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* the subscription action service
|
|
20
|
+
*/
|
|
21
|
+
class SubscriptionActionService {
|
|
22
|
+
/**
|
|
23
|
+
* Constructor
|
|
24
|
+
*
|
|
25
|
+
* @param {props} props
|
|
26
|
+
* @public
|
|
27
|
+
*/
|
|
28
|
+
constructor(props) {
|
|
29
|
+
this.context = props.context;
|
|
30
|
+
this.dialogContext = props.dialogContext;
|
|
31
|
+
this.subscriptionContext = props.adminSubcriptionContext;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* getInstance for singleton pattern
|
|
36
|
+
* @param {context} context
|
|
37
|
+
* @public
|
|
38
|
+
*/
|
|
39
|
+
static getInstance(context) {
|
|
40
|
+
if (!this.instance) {
|
|
41
|
+
this.instance = new SubscriptionActionService(context);
|
|
42
|
+
}
|
|
43
|
+
return this.instance;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* killInstance singleton
|
|
48
|
+
* @param {context} context
|
|
49
|
+
* @public
|
|
50
|
+
*/
|
|
51
|
+
static killInstance() {
|
|
52
|
+
this.instance = null;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Open the subscription key dialog
|
|
57
|
+
* @returns {Promise<boolean>}
|
|
58
|
+
*/
|
|
59
|
+
async editSubscription() {
|
|
60
|
+
const editSubscriptionKey = {
|
|
61
|
+
key: this.subscriptionContext.getSubscription().data
|
|
62
|
+
};
|
|
63
|
+
this.context.setContext({editSubscriptionKey});
|
|
64
|
+
this.dialogContext.open(EditSubscriptionKey);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export default SubscriptionActionService;
|
|
69
|
+
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
6
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
7
|
+
* Redistributions of files must retain the above copyright notice.
|
|
8
|
+
*
|
|
9
|
+
* @copyright Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
10
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
11
|
+
* @link https://www.passbolt.com Passbolt(tm)
|
|
12
|
+
* @since 3.8.0
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import SubscriptionActionService from './SubscriptionActionService';
|
|
16
|
+
|
|
17
|
+
beforeEach(() => {
|
|
18
|
+
jest.resetModules();
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
describe("SubscriptionActionService", () => {
|
|
22
|
+
let subscriptionActionService;
|
|
23
|
+
|
|
24
|
+
const props = {
|
|
25
|
+
context: {
|
|
26
|
+
setContext: jest.fn()
|
|
27
|
+
},
|
|
28
|
+
dialogContext: {
|
|
29
|
+
open: jest.fn()
|
|
30
|
+
},
|
|
31
|
+
adminSubcriptionContext: {
|
|
32
|
+
getSubscription: () => ({data: "mockData"})
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
beforeEach(() => {
|
|
37
|
+
SubscriptionActionService.killInstance();
|
|
38
|
+
subscriptionActionService = SubscriptionActionService.getInstance(props);
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
describe("MfaFormService::getInstance", () => {
|
|
42
|
+
it("should be a singleton", () => {
|
|
43
|
+
expect.assertions(1);
|
|
44
|
+
expect(subscriptionActionService).toBeDefined();
|
|
45
|
+
});
|
|
46
|
+
it("should not create a new instance", () => {
|
|
47
|
+
expect.assertions(1);
|
|
48
|
+
const newInstance = SubscriptionActionService.getInstance();
|
|
49
|
+
expect(subscriptionActionService).toEqual(newInstance);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
describe("MfaFormService::killInstance", () => {
|
|
54
|
+
it("should kill the instance and create a new one", () => {
|
|
55
|
+
expect.assertions(1);
|
|
56
|
+
SubscriptionActionService.killInstance();
|
|
57
|
+
subscriptionActionService = SubscriptionActionService.getInstance({"context": null, "dialogContext": null, "adminSubcriptionContext": null});
|
|
58
|
+
expect(subscriptionActionService).toEqual({"context": null, "dialogContext": null, "subscriptionContext": null});
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
describe("MfaFormService::editSubscription", () => {
|
|
63
|
+
it("should kill the instance and create a new one", () => {
|
|
64
|
+
expect.assertions(1);
|
|
65
|
+
const editSubscriptionKey = {
|
|
66
|
+
key: props.adminSubcriptionContext.getSubscription().data
|
|
67
|
+
};
|
|
68
|
+
subscriptionActionService.editSubscription();
|
|
69
|
+
expect(props.context.setContext).toHaveBeenCalledWith({editSubscriptionKey});
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* Passbolt ~ Open source password manager for teams
|
|
4
|
+
* Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
5
|
+
*
|
|
6
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
7
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
8
|
+
* Redistributions of files must retain the above copyright notice.
|
|
9
|
+
*
|
|
10
|
+
* @copyright Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
11
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
12
|
+
* @link https://www.passbolt.com Passbolt(tm)
|
|
13
|
+
* @since 3.8.0
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import {ApiClient} from "../../../lib/apiClient/apiClient";
|
|
17
|
+
|
|
18
|
+
const INTERNATIONALISATION_RESOURCE_NAME = "locale/settings";
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Model related to the intertionalisation service settings
|
|
22
|
+
*/
|
|
23
|
+
class InternationalisationService {
|
|
24
|
+
/**
|
|
25
|
+
* Constructor
|
|
26
|
+
*
|
|
27
|
+
* @param {ApiClientOptions} apiClientOptions
|
|
28
|
+
* @public
|
|
29
|
+
*/
|
|
30
|
+
constructor(apiClientOptions) {
|
|
31
|
+
apiClientOptions.setResourceName(INTERNATIONALISATION_RESOURCE_NAME);
|
|
32
|
+
this.apiClient = new ApiClient(apiClientOptions);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Save the given internalisation settings using Passbolt API
|
|
37
|
+
* @param {string} lang
|
|
38
|
+
* @returns {Promise<string>}
|
|
39
|
+
*/
|
|
40
|
+
async save(lang) {
|
|
41
|
+
return (await this.apiClient.create(lang)).body;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export default InternationalisationService;
|
|
46
|
+
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
6
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
7
|
+
* Redistributions of files must retain the above copyright notice.
|
|
8
|
+
*
|
|
9
|
+
* @copyright Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
10
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
11
|
+
* @link https://www.passbolt.com Passbolt(tm)
|
|
12
|
+
* @since 3.8.0
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import {ApiClient} from "../../../lib/apiClient/apiClient";
|
|
16
|
+
|
|
17
|
+
const MFA_RESOURCE_NAME = "mfa/settings";
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Model related to the MFA service settings
|
|
21
|
+
*/
|
|
22
|
+
class MFAService {
|
|
23
|
+
/**
|
|
24
|
+
* Constructor
|
|
25
|
+
*
|
|
26
|
+
* @param {ApiClientOptions} apiClientOptions
|
|
27
|
+
* @public
|
|
28
|
+
*/
|
|
29
|
+
constructor(apiClientOptions) {
|
|
30
|
+
apiClientOptions.setResourceName(MFA_RESOURCE_NAME);
|
|
31
|
+
this.apiClient = new ApiClient(apiClientOptions);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Find the MFA setting using Passbolt API
|
|
36
|
+
*
|
|
37
|
+
* @return {Promise<Array<MFADto>>|null>}
|
|
38
|
+
*/
|
|
39
|
+
async findAllSettings() {
|
|
40
|
+
return (await this.apiClient.findAll()).body;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Save the MFA settings settings using Passbolt API
|
|
45
|
+
* @param {MFASettingDto} MFASetting
|
|
46
|
+
* @returns {Promise<MFASettingDto>}
|
|
47
|
+
*/
|
|
48
|
+
async save(MFASetting) {
|
|
49
|
+
return (await this.apiClient.create(MFASetting)).body;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export default MFAService;
|
|
54
|
+
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
* @since 3.6.0
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
-
import {ApiClient} from "
|
|
16
|
-
import {ApiClientOptions} from "
|
|
15
|
+
import {ApiClient} from "../../../lib/apiClient/apiClient";
|
|
16
|
+
import {ApiClientOptions} from "../../../lib/apiClient/apiClientOptions";
|
|
17
17
|
|
|
18
18
|
export default class ApiAppAccountRecoveryUserService {
|
|
19
19
|
constructor() {
|
|
File without changes
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
6
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
7
|
+
* Redistributions of files must retain the above copyright notice.
|
|
8
|
+
*
|
|
9
|
+
* @copyright Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
10
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
11
|
+
* @link https://www.passbolt.com Passbolt(tm)
|
|
12
|
+
* @since 3.9.0
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Call browser extention to check if password is powned
|
|
17
|
+
*/
|
|
18
|
+
class PownedService {
|
|
19
|
+
/**
|
|
20
|
+
* Constructor
|
|
21
|
+
*
|
|
22
|
+
* @param {port} port for browser extension
|
|
23
|
+
* @public
|
|
24
|
+
*/
|
|
25
|
+
constructor(port) {
|
|
26
|
+
this.port = port;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Evaluates a given secret for security.
|
|
31
|
+
*
|
|
32
|
+
* @param {string} secret - The secret to evaluate.
|
|
33
|
+
* @returns {Object} An object containing the evaluation results.
|
|
34
|
+
* @returns {boolean} notInDictionaryHint - Indicates whether the secret is not present in a dictionary.
|
|
35
|
+
* @returns {boolean} isPwnedServiceAvailable - Indicates whether the pwned password service is available.
|
|
36
|
+
*/
|
|
37
|
+
async evaluateSecret(secret) {
|
|
38
|
+
let inDictionary = true;
|
|
39
|
+
let isPwnedServiceAvailable = true;
|
|
40
|
+
if (secret.length >= 8) {
|
|
41
|
+
try {
|
|
42
|
+
inDictionary = await this.checkIfPasswordPowned(secret);
|
|
43
|
+
} catch (error) {
|
|
44
|
+
inDictionary = false;
|
|
45
|
+
isPwnedServiceAvailable = false;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return {inDictionary, isPwnedServiceAvailable};
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Call the browser extension to check if password is part of a dictionaty
|
|
54
|
+
* @param {string} password to check
|
|
55
|
+
* @return {Promise<SelfRegistrationDto>}
|
|
56
|
+
*/
|
|
57
|
+
async checkIfPasswordPowned(password) {
|
|
58
|
+
const response = await this.port.request("passbolt.secrets.powned-password", password);
|
|
59
|
+
return response > 0;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export default PownedService;
|
|
64
|
+
|