passbolt-browser-extension 5.13.0 → 5.14.2
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/.devcontainer/Dockerfile +33 -3
- package/.devcontainer/devcontainer-lock.json +9 -0
- package/.devcontainer/post-start.sh +1 -2
- package/.github/workflows/codeql-analysis.yml +2 -1
- package/.github/workflows/release_candidate.yaml +3 -1
- package/.gitlab-ci.yml +1 -0
- package/CHANGELOG.md +202 -70
- package/CODEOWNERS +2 -0
- package/RELEASE_NOTES.md +4 -2
- package/package.json +9 -7
- package/renovate.json +6 -0
- package/src/all/background_page/controller/InformMenuController/InformMenuController.js +2 -5
- package/src/all/background_page/controller/InformMenuController/InformMenuController.test.js +31 -1
- package/src/all/background_page/controller/account/getAndInitializeAccountLocaleController.js +1 -1
- package/src/all/background_page/controller/account/getAndInitializeAccountLocaleController.test.js +6 -14
- package/src/all/background_page/controller/account/updatePrivateKeyController.js +7 -5
- package/src/all/background_page/controller/account/updatePrivateKeyController.test.js +18 -13
- package/src/all/background_page/controller/accountRecovery/accountRecoveryGenerateOrganizationKeyController.js +4 -2
- package/src/all/background_page/controller/accountRecovery/accountRecoveryGenerateOrganizationKeyController.test.js +25 -2
- package/src/all/background_page/controller/accountRecovery/accountRecoveryLoginController.js +1 -1
- package/src/all/background_page/controller/accountRecovery/accountRecoveryLoginController.test.js +10 -5
- package/src/all/background_page/controller/accountRecovery/recoverAccountController.js +6 -2
- package/src/all/background_page/controller/accountRecovery/recoverAccountController.test.js +11 -4
- package/src/all/background_page/controller/auth/authCheckStatus.test.data.js +6 -6
- package/src/all/background_page/controller/auth/authCheckStatusController.js +11 -3
- package/src/all/background_page/controller/auth/authCheckStatusController.test.js +74 -44
- package/src/all/background_page/controller/auth/authIsMfaRequiredController.js +11 -3
- package/src/all/background_page/controller/auth/authIsMfaRequiredController.test.js +18 -9
- package/src/all/background_page/controller/auth/authLoginController.js +1 -1
- package/src/all/background_page/controller/auth/authLoginController.test.js +10 -5
- package/src/all/background_page/controller/autofill/AutofillController.js +3 -3
- package/src/all/background_page/controller/autofill/AutofillController.test.js +20 -12
- package/src/all/background_page/controller/export/exportResourcesFileController.js +6 -3
- package/src/all/background_page/controller/export/exportResourcesFileController.test.js +34 -4
- package/src/all/background_page/controller/extension/onExtensionInstalledController.js +8 -2
- package/src/all/background_page/controller/extension/onExtensionInstalledController.test.js +5 -1
- package/src/all/background_page/controller/group/{getOrFindGroupsController.js → findGroupsByIdsForShareController.js} +9 -10
- package/src/all/background_page/controller/group/{getOrFindGroupsController.test.js → findGroupsByIdsForShareController.test.js} +8 -8
- package/src/all/background_page/controller/group/groupUpdateController.test.js +1 -0
- package/src/all/background_page/controller/import/importResourcesFileController.test.js +8 -1
- package/src/all/background_page/controller/informCallToActionController/informCallToActionController.js +2 -2
- package/src/all/background_page/controller/informCallToActionController/informCallToActionController.test.js +7 -4
- package/src/all/background_page/controller/locale/getLocaleController.js +3 -2
- package/src/all/background_page/controller/metadata/findMetadataTypesSettingsController.test.js +9 -15
- package/src/all/background_page/controller/metadata/getMetadataTypesSettingsController.test.js +9 -15
- package/src/all/background_page/controller/metadata/getOrFindMetadataKeysSettingsController.test.js +12 -22
- package/src/all/background_page/controller/metadata/shareMetadataKeyPrivateController.test.js +14 -2
- package/src/all/background_page/controller/move/moveFolderController.test.js +8 -0
- package/src/all/background_page/controller/move/moveResourcesController.test.js +8 -0
- package/src/all/background_page/controller/passwordExpiry/getOrFindPasswordExpirySettingsController.test.js +13 -8
- package/src/all/background_page/controller/passwordExpiry/savePasswordExpirySettingsController.js +4 -4
- package/src/all/background_page/controller/passwordExpiry/savePasswordExpirySettingsController.test.js +8 -10
- package/src/all/background_page/controller/permission/findPermissionsByIdsForShareController.js +62 -0
- package/src/all/background_page/controller/permission/findPermissionsByIdsForShareController.test.js +71 -0
- package/src/all/background_page/controller/recover/generateRecoverAccountRecoveryRequestKeyController.js +1 -1
- package/src/all/background_page/controller/resource/resourceCreateController.js +11 -4
- package/src/all/background_page/controller/resource/resourceCreateController.test.js +12 -1
- package/src/all/background_page/controller/resource/resourceUpdateController.js +11 -4
- package/src/all/background_page/controller/resource/resourceUpdateController.test.js +35 -2
- package/src/all/background_page/controller/resourceType/getResourceTypesController.js +5 -4
- package/src/all/background_page/controller/resourceType/getResourceTypesController.test.js +5 -2
- package/src/all/background_page/controller/resourceType/updateAllResourceTypesDeletedStatusController.js +3 -2
- package/src/all/background_page/controller/resourceType/updateAllResourceTypesDeletedStatusController.test.js +16 -3
- package/src/all/background_page/controller/secret/findSecretByResourceIdController.js +3 -3
- package/src/all/background_page/controller/secret/findSecretByResourceIdController.test.js +24 -0
- package/src/all/background_page/controller/secretRevision/findResourceSecretRevisionsForDisplayController.js +2 -1
- package/src/all/background_page/controller/setup/generateSetupKeyPairController.js +6 -3
- package/src/all/background_page/controller/setup/generateSetupKeyPairController.test.js +11 -1
- package/src/all/background_page/controller/setup/getAndInitSetupLocaleController.js +1 -1
- package/src/all/background_page/controller/setup/getAndInitSetupLocaleController.test.js +14 -18
- package/src/all/background_page/controller/setup/setSetupLocaleController.js +1 -1
- package/src/all/background_page/controller/setup/setSetupLocaleController.test.js +6 -10
- package/src/all/background_page/controller/setup/signInSetupController.js +6 -2
- package/src/all/background_page/controller/setup/signInSetupController.test.js +10 -5
- package/src/all/background_page/controller/share/shareOneFolderController.test.js +8 -0
- package/src/all/background_page/controller/share/shareResourcesController.test.js +9 -1
- package/src/all/background_page/controller/siteSettings/getOrFindSiteSettingsController.js +59 -0
- package/src/all/background_page/controller/siteSettings/getOrFindSiteSettingsController.test.js +150 -0
- package/src/all/background_page/controller/{group/getOrFindGroupsUsersController.js → user/getOrFindAllUsersController.js} +12 -17
- package/src/all/background_page/controller/user/getOrFindAllUsersController.test.js +55 -0
- package/src/all/background_page/controller/user/getOrFindLoggedInUserController.js +3 -3
- package/src/all/background_page/controller/user/getOrFindLoggedInUserController.test.js +19 -15
- package/src/all/background_page/controller/user/updateUserLocalStorageController.test.js +8 -5
- package/src/all/background_page/event/accountRecoveryEvents.js +4 -4
- package/src/all/background_page/event/appEvents.js +7 -2
- package/src/all/background_page/event/authEvents.js +2 -2
- package/src/all/background_page/event/groupEvents.js +4 -17
- package/src/all/background_page/event/informCallToActionEvents.js +1 -1
- package/src/all/background_page/event/informMenuEvents.js +1 -1
- package/src/all/background_page/event/localeEvents.js +4 -3
- package/src/all/background_page/event/permissionEvents.js +13 -0
- package/src/all/background_page/event/recoverEvents.js +4 -4
- package/src/all/background_page/event/resourceEvents.js +6 -15
- package/src/all/background_page/event/resourceTypeEvents.js +4 -3
- package/src/all/background_page/event/setupEvents.js +4 -4
- package/src/all/background_page/event/siteSettingsEvents.js +29 -0
- package/src/all/background_page/event/userEvents.js +4 -8
- package/src/all/background_page/index.js +0 -37
- package/src/all/background_page/model/entity/account/abstractAccountEntity.js +2 -2
- package/src/all/background_page/model/entity/account/accountAccountRecoveryEntity.js +7 -17
- package/src/all/background_page/model/entity/account/accountEntity.js +7 -14
- package/src/all/background_page/model/entity/account/accountKitEntity.js +1 -2
- package/src/all/background_page/model/entity/account/accountRecoverEntity.js +4 -14
- package/src/all/background_page/model/entity/account/accountSetupEntity.js +4 -14
- package/src/all/background_page/model/entity/account/accountTemporaryEntity.js +2 -5
- package/src/all/background_page/model/entity/gpgkey/generate/generateGpgKeyPairOptionsEntity.test.js +5 -5
- package/src/all/background_page/model/entity/localStorage/localStorageMetadataEntity.js +49 -0
- package/src/all/background_page/model/entity/localStorage/localStorageMetadataEntity.test.data.js +23 -0
- package/src/all/background_page/model/entity/localStorage/localStorageMetadataEntity.test.js +51 -0
- package/src/all/background_page/model/entity/{organizationSettings/organizationSettingsEntity.js → siteSettings/siteSettingsEntity.js} +17 -24
- package/src/all/background_page/model/entity/{organizationSettings/organizationSettingsEntity.test.data.js → siteSettings/siteSettingsEntity.test.data.js} +9 -9
- package/src/all/background_page/model/entity/{organizationSettings/organizationSettingsEntity.test.js → siteSettings/siteSettingsEntity.test.js} +30 -39
- package/src/all/background_page/model/entity/user/userEntity.test.js +6 -6
- package/src/all/background_page/model/export/resources/resourcesKdbxExporter.js +40 -3
- package/src/all/background_page/model/export/resources/resourcesKdbxExporter.test.js +122 -0
- package/src/all/background_page/model/import/resources/resourcesKdbxImportParser.js +1 -1
- package/src/all/background_page/model/locale/localeModel.js +13 -8
- package/src/all/background_page/model/passwordExpiry/passwordExpirySettingsModel.js +6 -6
- package/src/all/background_page/model/passwordExpiry/passwordExpirySettingsModel.test.js +3 -2
- package/src/all/background_page/model/resource/resourceModel.js +4 -4
- package/src/all/background_page/model/user/userModel.js +7 -28
- package/src/all/background_page/model/user/userModel.test.js +51 -99
- package/src/all/background_page/pagemod/appBootstrapPagemod.js +4 -1
- package/src/all/background_page/pagemod/appBootstrapPagemod.test.js +5 -2
- package/src/all/background_page/pagemod/appPagemod.js +32 -6
- package/src/all/background_page/pagemod/appPagemod.test.js +22 -10
- package/src/all/background_page/pagemod/authPagemod.js +2 -10
- package/src/all/background_page/pagemod/authPagemod.test.js +4 -4
- package/src/all/background_page/pagemod/pagemodManager.test.js +5 -2
- package/src/all/background_page/pagemod/quickAccessPagemod.js +2 -2
- package/src/all/background_page/pagemod/quickAccessPagemod.test.js +4 -4
- package/src/all/background_page/pagemod/recoverPagemod.js +2 -2
- package/src/all/background_page/pagemod/recoverPagemod.test.js +6 -0
- package/src/all/background_page/pagemod/setupPagemod.js +2 -2
- package/src/all/background_page/pagemod/setupPagemod.test.js +6 -0
- package/src/all/background_page/pagemod/webIntegrationPagemod.js +21 -2
- package/src/all/background_page/pagemod/webIntegrationPagemod.test.js +16 -25
- package/src/all/background_page/service/account/getActiveAccountService.js +2 -3
- package/src/all/background_page/service/account/getLegacyAccountService.js +3 -14
- package/src/all/background_page/service/account/updateSsoCredentialsService.js +9 -5
- package/src/all/background_page/service/api/group/groupApiService.js +9 -16
- package/src/all/background_page/service/api/group/groupApiService.test.js +59 -26
- package/src/all/background_page/service/api/siteSettings/siteSettingsApiService.js +46 -0
- package/src/all/background_page/service/api/siteSettings/siteSettingsApiService.test.js +63 -0
- package/src/all/background_page/service/auth/checkAuthStatusService.js +27 -14
- package/src/all/background_page/service/auth/checkAuthStatusService.test.js +80 -62
- package/src/all/background_page/service/auth/postLoginService.js +3 -3
- package/src/all/background_page/service/auth/postLoginService.test.js +4 -4
- package/src/all/background_page/service/auth/startLoopAuthSessionCheckService.js +5 -1
- package/src/all/background_page/service/auth/startLoopAuthSessionCheckService.test.js +14 -8
- package/src/all/background_page/service/authenticationStatusService.js +13 -18
- package/src/all/background_page/service/authenticationStatusService.test.js +9 -6
- package/src/all/background_page/service/crypto/generateGpgKeyPairService.test.js +5 -5
- package/src/all/background_page/service/crypto/getGpgKeyCreationDateService.js +7 -6
- package/src/all/background_page/service/crypto/getGpgKeyCreationDateService.test.js +10 -7
- package/src/all/background_page/service/extension/onExtensionUpdateAvailableService.js +7 -2
- package/src/all/background_page/service/extension/onExtensionUpdateAvailableService.test.js +5 -5
- package/src/all/background_page/service/group/findGroupsService.js +42 -1
- package/src/all/background_page/service/group/findGroupsService.test.js +82 -0
- package/src/all/background_page/service/group/groupUpdateSecretsCryptoService.js +82 -0
- package/src/all/background_page/service/group/groupUpdateSecretsCryptoService.test.js +102 -0
- package/src/all/background_page/service/group/groupUpdateService.js +49 -78
- package/src/all/background_page/service/group/groupUpdateService.test.js +136 -0
- package/src/all/background_page/service/localStorage/localStorageService.js +8 -6
- package/src/all/background_page/service/localStorage/localStorageService.test.js +33 -15
- package/src/all/background_page/service/local_storage/abstractLocalStorage.js +193 -0
- package/src/all/background_page/service/local_storage/abstractLocalStorage.test.data.js +45 -0
- package/src/all/background_page/service/local_storage/abstractLocalStorage.test.js +271 -0
- package/src/all/background_page/service/local_storage/activeSessionLocalStorage.js +105 -0
- package/src/all/background_page/service/local_storage/activeSessionLocalStorage.test.js +153 -0
- package/src/all/background_page/service/local_storage/rbacLocalStorage.js +10 -82
- package/src/all/background_page/service/local_storage/rbacLocalStorage.test.js +8 -8
- package/src/all/background_page/service/local_storage/resourceTypeLocalStorage.js +10 -43
- package/src/all/background_page/service/local_storage/resourceTypeLocalStorage.test.js +68 -0
- package/src/all/background_page/service/local_storage/siteSettingsLocalStorage.js +104 -0
- package/src/all/background_page/service/local_storage/siteSettingsLocalStorage.test.js +114 -0
- package/src/all/background_page/service/local_storage/userMeLocalStorage.js +50 -0
- package/src/all/background_page/service/{sessionStorage/userMeSessionStorageService.test.js → local_storage/userMeLocalStorage.test.js} +55 -36
- package/src/all/background_page/service/metadata/encryptMetadataService.js +3 -3
- package/src/all/background_page/service/metadata/encryptMetadataService.test.js +11 -11
- package/src/all/background_page/service/metadata/findAndUpdateMetadataSettingsLocalStorageService.js +4 -4
- package/src/all/background_page/service/metadata/findAndUpdateMetadataSettingsLocalStorageService.test.js +18 -16
- package/src/all/background_page/service/metadata/getOrFindMetadataSettingsService.test.js +6 -8
- package/src/all/background_page/service/metadata/rotateMetadata/rotateResourcesMetadataKeyService.test.js +4 -4
- package/src/all/background_page/service/metadata/shareMetadataKeyPrivateService.js +3 -3
- package/src/all/background_page/service/metadata/shareMetadataKeyPrivateService.test.js +1 -1
- package/src/all/background_page/service/metadata/verifyOrTrustMetadataKeyService.js +4 -4
- package/src/all/background_page/service/metadata/verifyOrTrustMetadataKeyService.test.js +9 -7
- package/src/all/background_page/service/migrateMetadata/migrateMetadataResourcesService.js +4 -4
- package/src/all/background_page/service/migrateMetadata/migrateMetadataResourcesService.test.js +6 -6
- package/src/all/background_page/service/rbac/findAndUpdateRbacsLocalStorageService.js +2 -2
- package/src/all/background_page/service/rbac/getOrFindRbacService.js +1 -1
- package/src/all/background_page/service/resource/create/resourceCreateService.js +41 -51
- package/src/all/background_page/service/resource/create/resourceCreateService.test.js +100 -98
- package/src/all/background_page/service/resource/export/exportResourcesService.js +7 -7
- package/src/all/background_page/service/resource/findAndUpdateResourcesLocalStorageService.js +4 -4
- package/src/all/background_page/service/resource/findResourcesService.js +13 -16
- package/src/all/background_page/service/resource/findResourcesService.test.js +12 -11
- package/src/all/background_page/service/resource/getOrFindResourcesService.js +3 -3
- package/src/all/background_page/service/resource/import/ImportResourcesService.js +9 -9
- package/src/all/background_page/service/resource/import/ImportResourcesService.test.js +30 -15
- package/src/all/background_page/service/resource/update/resourceUpdateService.js +38 -19
- package/src/all/background_page/service/resource/update/resourceUpdateService.test.js +64 -31
- package/src/all/background_page/service/resourceType/getOrFindResourceTypesService.js +49 -0
- package/src/all/background_page/service/resourceType/getOrFindResourceTypesService.test.js +61 -0
- package/src/all/background_page/service/resourceType/getSecretSchemaResourceTypeService.js +44 -0
- package/src/all/background_page/service/resourceType/updateResourceTypesService.js +6 -4
- package/src/all/background_page/service/resourceType/updateResourceTypesService.test.js +19 -14
- package/src/all/background_page/service/secretRevisions/findAndDecryptSecretRevisionsService.js +5 -4
- package/src/all/background_page/service/secretRevisions/findAndDecryptSecretRevisionsService.test.js +16 -9
- package/src/all/background_page/service/share/shareResourceService.js +4 -4
- package/src/all/background_page/service/share/shareResourceService.test.js +6 -6
- package/src/all/background_page/service/siteSettings/findAndUpdateSiteSettingsLocalStorageService.js +77 -0
- package/src/all/background_page/service/siteSettings/findAndUpdateSiteSettingsLocalStorageService.test.js +130 -0
- package/src/all/background_page/service/siteSettings/findSiteSettingsService.js +47 -0
- package/src/all/background_page/service/siteSettings/findSiteSettingsService.test.js +68 -0
- package/src/all/background_page/service/siteSettings/getOrFindSiteSettingsService.js +84 -0
- package/src/all/background_page/service/siteSettings/getOrFindSiteSettingsService.test.js +175 -0
- package/src/all/background_page/service/siteSettings/siteSettingsRuntimeCache.js +70 -0
- package/src/all/background_page/service/sso/generateSsoKitService.test.js +2 -2
- package/src/all/background_page/service/toolbar/toolbarService.js +6 -4
- package/src/all/background_page/service/toolbar/toolbarService.test.js +14 -13
- package/src/all/background_page/service/user/findAndUpdateUsersLocalStorageService.js +4 -4
- package/src/all/background_page/service/user/findAndUpdateUsersLocalStorageService.test.js +3 -3
- package/src/all/background_page/service/user/getOrFindMeService.js +64 -0
- package/src/all/background_page/service/user/getOrFindMeService.test.js +65 -0
- package/src/all/background_page/service/userKeyPolicies/findUserKeyPoliciesSettingsService.js +5 -4
- package/src/all/background_page/service/userKeyPolicies/findUserKeyPoliciesSettingsService.test.js +12 -11
- package/src/all/background_page/service/validator/appEmailValidatorService.js +11 -6
- package/src/all/background_page/service/validator/appEmailValidatorService.test.js +11 -11
- package/src/all/common/polyfill/browserPolyfill.js +8 -8
- package/src/all/locales/cs-CZ/common.json +1 -4
- package/src/all/locales/de-DE/common.json +1 -4
- package/src/all/locales/en-UK/common.json +0 -3
- package/src/all/locales/es-ES/common.json +1 -4
- package/src/all/locales/fr-FR/common.json +1 -4
- package/src/all/locales/it-IT/common.json +1 -4
- package/src/all/locales/ja-JP/common.json +1 -4
- package/src/all/locales/ko-KR/common.json +0 -3
- package/src/all/locales/lt-LT/common.json +1 -4
- package/src/all/locales/nl-NL/common.json +1 -4
- package/src/all/locales/pl-PL/common.json +1 -4
- package/src/all/locales/pt-BR/common.json +1 -4
- package/src/all/locales/ro-RO/common.json +1 -4
- package/src/all/locales/ru-RU/common.json +1 -4
- package/src/all/locales/sl-SI/common.json +1 -4
- package/src/all/locales/sv-SE/common.json +1 -4
- package/src/all/locales/uk-UA/common.json +1 -4
- package/src/all/webAccessibleResources/js/app/QuickAccess.js +7 -0
- package/src/chrome/manifest.json +1 -1
- package/src/chrome-mv3/manifest.json +1 -1
- package/src/chrome-mv3/offscreens/service/group/addUsersToGroupOffscreenService.js +132 -0
- package/src/chrome-mv3/offscreens/service/group/addUsersToGroupOffscreenService.test.js +125 -0
- package/src/chrome-mv3/offscreens/service/offscreen/handleOffscreenRequestService.js +4 -0
- package/src/chrome-mv3/serviceWorker/service/addUsersToGroup/requestAddUsersToGroupOffscreenService.js +83 -0
- package/src/chrome-mv3/serviceWorker/service/addUsersToGroup/requestAddUsersToGroupOffscreenService.test.js +116 -0
- package/src/chrome-mv3/serviceWorker/service/addUsersToGroup/responseAddUsersToGroupOffscreenService.js +99 -0
- package/src/chrome-mv3/serviceWorker/service/addUsersToGroup/responseAddUsersToGroupOffscreenService.test.data.js +45 -0
- package/src/chrome-mv3/serviceWorker/service/addUsersToGroup/responseAddUsersToGroupOffscreenService.test.js +87 -0
- package/src/chrome-mv3/serviceWorker/service/network/requestFetchOffscreenService.js +0 -1
- package/src/chrome-mv3/serviceWorker/service/offscreen/handleOffscreenResponseService.js +15 -0
- package/src/firefox/manifest.json +1 -1
- package/src/safari/background_page/index.js +0 -37
- package/src/safari/common/polyfill/safariBrowserPolyfill.js +10 -10
- package/src/safari/manifest.json +1 -1
- package/test/jest.setup.js +4 -2
- package/src/all/background_page/controller/group/getOrFindGroupsUsersController.test.js +0 -69
- package/src/all/background_page/controller/organizationSettings/getOrganizationSettingsController.js +0 -55
- package/src/all/background_page/controller/organizationSettings/getOrganizationSettingsController.test.js +0 -45
- package/src/all/background_page/controller/resource/findAllByIdsForDisplayPermissionsController.js +0 -76
- package/src/all/background_page/controller/resource/findAllByIdsForDisplayPermissionsController.test.js +0 -102
- package/src/all/background_page/event/organizationSettingsEvents.js +0 -37
- package/src/all/background_page/model/organizationSettings/organizationSettingsModel.js +0 -93
- package/src/all/background_page/model/resourceType/resourceTypeModel.js +0 -72
- package/src/all/background_page/model/resourceType/resourceTypeModel.test.js +0 -101
- package/src/all/background_page/service/api/organizationSettings/organizationSettingsService.js +0 -58
- package/src/all/background_page/service/group/getOrFindGroupsService.js +0 -65
- package/src/all/background_page/service/group/getOrFindGroupsService.test.js +0 -168
- package/src/all/background_page/service/group/getOrFindGroupsUsersService.js +0 -51
- package/src/all/background_page/service/group/getOrFindGroupsUsersService.test.js +0 -94
- package/src/all/background_page/service/local_storage/authStatusLocalStorage.js +0 -70
- package/src/all/background_page/service/sessionStorage/userMeSessionStorageService.js +0 -94
|
@@ -317,7 +317,7 @@ describe("EncryptMetadataService", () => {
|
|
|
317
317
|
const metadataKeys = new MetadataKeysCollection(metadataKeysDtos);
|
|
318
318
|
const resourceTypes = new ResourceTypesCollection(resourceTypesCollectionDto());
|
|
319
319
|
|
|
320
|
-
jest.spyOn(encryptService.
|
|
320
|
+
jest.spyOn(encryptService.getOrFindResourceTypesService, "getOrFindAll").mockImplementation(() => resourceTypes);
|
|
321
321
|
jest.spyOn(encryptService.getOrFindMetadataKeysService, "getOrFindAll").mockImplementation(() => metadataKeys);
|
|
322
322
|
jest.spyOn(decryptService.getOrFindMetadataKeysService, "getOrFindAll").mockImplementation(() => metadataKeys);
|
|
323
323
|
jest.spyOn(PassphraseStorageService, "get").mockImplementation(() => pgpKeys.ada.passphrase);
|
|
@@ -356,7 +356,7 @@ describe("EncryptMetadataService", () => {
|
|
|
356
356
|
const metadataKeys = new MetadataKeysCollection(metadataKeysDtos);
|
|
357
357
|
const resourceTypes = new ResourceTypesCollection(resourceTypesCollectionDto());
|
|
358
358
|
|
|
359
|
-
jest.spyOn(encryptService.
|
|
359
|
+
jest.spyOn(encryptService.getOrFindResourceTypesService, "getOrFindAll").mockImplementation(() => resourceTypes);
|
|
360
360
|
jest.spyOn(encryptService.getOrFindMetadataKeysService, "getOrFindAll").mockImplementation(() => metadataKeys);
|
|
361
361
|
jest.spyOn(decryptService.getOrFindMetadataKeysService, "getOrFindAll").mockImplementation(() => metadataKeys);
|
|
362
362
|
jest.spyOn(PassphraseStorageService, "get");
|
|
@@ -392,7 +392,7 @@ describe("EncryptMetadataService", () => {
|
|
|
392
392
|
const keyring = new Keyring();
|
|
393
393
|
await keyring.importPublic(pgpKeys.ada.public, pgpKeys.ada.userId);
|
|
394
394
|
|
|
395
|
-
jest.spyOn(encryptService.
|
|
395
|
+
jest.spyOn(encryptService.getOrFindResourceTypesService, "getOrFindAll").mockImplementation(() => resourceTypes);
|
|
396
396
|
jest.spyOn(encryptService.getOrFindMetadataKeysService, "getOrFindAll").mockImplementation(() => metadataKeys);
|
|
397
397
|
jest.spyOn(decryptService.getOrFindMetadataKeysService, "getOrFindAll").mockImplementation(() => metadataKeys);
|
|
398
398
|
jest.spyOn(GetDecryptedUserPrivateKeyService, "getKey").mockImplementationOnce(async () => privateKeyDecrypted);
|
|
@@ -436,7 +436,7 @@ describe("EncryptMetadataService", () => {
|
|
|
436
436
|
const metadataKeys = new MetadataKeysCollection(metadataKeysDtos);
|
|
437
437
|
const resourceTypes = new ResourceTypesCollection(resourceTypesCollectionDto());
|
|
438
438
|
|
|
439
|
-
jest.spyOn(encryptService.
|
|
439
|
+
jest.spyOn(encryptService.getOrFindResourceTypesService, "getOrFindAll").mockImplementation(() => resourceTypes);
|
|
440
440
|
jest.spyOn(encryptService.getOrFindMetadataKeysService, "getOrFindAll").mockImplementation(() => metadataKeys);
|
|
441
441
|
jest.spyOn(decryptService.getOrFindMetadataKeysService, "getOrFindAll").mockImplementation(() => metadataKeys);
|
|
442
442
|
jest
|
|
@@ -469,7 +469,7 @@ describe("EncryptMetadataService", () => {
|
|
|
469
469
|
const collection = new ResourcesCollection([personalResourceEntity, sharedResourceEntity]);
|
|
470
470
|
const resourceTypes = new ResourceTypesCollection(resourceTypesCollectionDto());
|
|
471
471
|
|
|
472
|
-
jest.spyOn(encryptService.
|
|
472
|
+
jest.spyOn(encryptService.getOrFindResourceTypesService, "getOrFindAll").mockImplementation(() => resourceTypes);
|
|
473
473
|
jest.spyOn(encryptService.getOrFindMetadataKeysService, "getOrFindAll");
|
|
474
474
|
jest.spyOn(PassphraseStorageService, "get");
|
|
475
475
|
jest.spyOn(
|
|
@@ -520,7 +520,7 @@ describe("EncryptMetadataService", () => {
|
|
|
520
520
|
const metadataKeys = new MetadataKeysCollection(metadataKeysDtos);
|
|
521
521
|
const resourceTypes = new ResourceTypesCollection(resourceTypesCollectionDto());
|
|
522
522
|
|
|
523
|
-
jest.spyOn(encryptService.
|
|
523
|
+
jest.spyOn(encryptService.getOrFindResourceTypesService, "getOrFindAll").mockImplementation(() => resourceTypes);
|
|
524
524
|
jest.spyOn(encryptService.getOrFindMetadataKeysService, "getOrFindAll").mockImplementation(() => metadataKeys);
|
|
525
525
|
jest.spyOn(decryptService.getOrFindMetadataKeysService, "getOrFindAll").mockImplementation(() => metadataKeys);
|
|
526
526
|
jest.spyOn(GetDecryptedUserPrivateKeyService, "getKey").mockImplementationOnce(async () => privateKeyDecrypted);
|
|
@@ -555,7 +555,7 @@ describe("EncryptMetadataService", () => {
|
|
|
555
555
|
const metadataKeys = new MetadataKeysCollection(metadataKeysDtos);
|
|
556
556
|
const resourceTypes = new ResourceTypesCollection(resourceTypesCollectionDto());
|
|
557
557
|
|
|
558
|
-
jest.spyOn(encryptService.
|
|
558
|
+
jest.spyOn(encryptService.getOrFindResourceTypesService, "getOrFindAll").mockImplementation(() => resourceTypes);
|
|
559
559
|
jest.spyOn(encryptService.getOrFindMetadataKeysService, "getOrFindAll").mockImplementation(() => metadataKeys);
|
|
560
560
|
jest.spyOn(decryptService.getOrFindMetadataKeysService, "getOrFindAll").mockImplementation(() => metadataKeys);
|
|
561
561
|
jest
|
|
@@ -603,7 +603,7 @@ describe("EncryptMetadataService", () => {
|
|
|
603
603
|
const metadataKeys = new MetadataKeysCollection(metadataKeysDtos);
|
|
604
604
|
const resourceTypes = new ResourceTypesCollection(resourceTypesCollectionDto());
|
|
605
605
|
|
|
606
|
-
jest.spyOn(encryptService.
|
|
606
|
+
jest.spyOn(encryptService.getOrFindResourceTypesService, "getOrFindAll").mockImplementation(() => resourceTypes);
|
|
607
607
|
jest.spyOn(encryptService.getOrFindMetadataKeysService, "getOrFindAll").mockImplementation(() => metadataKeys);
|
|
608
608
|
jest
|
|
609
609
|
.spyOn(
|
|
@@ -639,7 +639,7 @@ describe("EncryptMetadataService", () => {
|
|
|
639
639
|
const collection = new ResourcesCollection([resourceEntity]);
|
|
640
640
|
const resourceTypes = new ResourceTypesCollection(resourceTypesCollectionDto());
|
|
641
641
|
|
|
642
|
-
jest.spyOn(encryptService.
|
|
642
|
+
jest.spyOn(encryptService.getOrFindResourceTypesService, "getOrFindAll").mockImplementation(() => resourceTypes);
|
|
643
643
|
jest
|
|
644
644
|
.spyOn(
|
|
645
645
|
encryptService.getOrFindMetadataSettingsService.findAndUpdateMetadataSettingsLocalStorageService
|
|
@@ -669,7 +669,7 @@ describe("EncryptMetadataService", () => {
|
|
|
669
669
|
const metadataKeys = new MetadataKeysCollection(metadataKeysDtos);
|
|
670
670
|
const resourceTypes = new ResourceTypesCollection(resourceTypesCollectionDto());
|
|
671
671
|
|
|
672
|
-
jest.spyOn(encryptService.
|
|
672
|
+
jest.spyOn(encryptService.getOrFindResourceTypesService, "getOrFindAll").mockImplementation(() => resourceTypes);
|
|
673
673
|
jest
|
|
674
674
|
.spyOn(encryptService.getOrFindMetadataKeysService, "getOrFindAll")
|
|
675
675
|
.mockImplementationOnce(() => metadataKeys);
|
|
@@ -702,7 +702,7 @@ describe("EncryptMetadataService", () => {
|
|
|
702
702
|
expect.assertions(1);
|
|
703
703
|
const resourceTypes = new ResourceTypesCollection(resourceTypesCollectionDto());
|
|
704
704
|
|
|
705
|
-
jest.spyOn(encryptService.
|
|
705
|
+
jest.spyOn(encryptService.getOrFindResourceTypesService, "getOrFindAll").mockImplementation(() => resourceTypes);
|
|
706
706
|
jest
|
|
707
707
|
.spyOn(
|
|
708
708
|
encryptService.getOrFindMetadataSettingsService.findAndUpdateMetadataSettingsLocalStorageService
|
package/src/all/background_page/service/metadata/findAndUpdateMetadataSettingsLocalStorageService.js
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
import MetadataTypesSettingsEntity from "passbolt-styleguide/src/shared/models/entity/metadata/metadataTypesSettingsEntity";
|
|
15
15
|
import FindMetadataSettingsService from "./findMetadataSettingsService";
|
|
16
16
|
import MetadataTypesSettingsLocalStorage from "../local_storage/metadataTypesSettingsLocalStorage";
|
|
17
|
-
import
|
|
17
|
+
import GetOrFindSiteSettingsService from "../siteSettings/getOrFindSiteSettingsService";
|
|
18
18
|
import MetadataKeysSettingsLocalStorage from "../local_storage/metadataKeysSettingsLocalStorage";
|
|
19
19
|
import MetadataKeysSettingsEntity from "passbolt-styleguide/src/shared/models/entity/metadata/metadataKeysSettingsEntity";
|
|
20
20
|
|
|
@@ -35,7 +35,7 @@ export default class FindAndUpdateMetadataSettingsLocalStorageService {
|
|
|
35
35
|
this.findMetadataSettingsService = new FindMetadataSettingsService(apiClientOptions);
|
|
36
36
|
this.metadataTypesSettingsLocalStorage = new MetadataTypesSettingsLocalStorage(account);
|
|
37
37
|
this.metadataKeysSettingsLocalStorage = new MetadataKeysSettingsLocalStorage(account);
|
|
38
|
-
this.
|
|
38
|
+
this.getOrFindSiteSettingsService = new GetOrFindSiteSettingsService(account, apiClientOptions);
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
/**
|
|
@@ -59,8 +59,8 @@ export default class FindAndUpdateMetadataSettingsLocalStorageService {
|
|
|
59
59
|
|
|
60
60
|
// Lock is granted, retrieve the metadata types settings and update the local storage.
|
|
61
61
|
let metadataTypesSettings;
|
|
62
|
-
const
|
|
63
|
-
if (
|
|
62
|
+
const siteSettings = await this.getOrFindSiteSettingsService.getOrFind(false);
|
|
63
|
+
if (siteSettings.isPluginEnabled("metadata")) {
|
|
64
64
|
metadataTypesSettings = await this.findMetadataSettingsService.findTypesSettings();
|
|
65
65
|
} else {
|
|
66
66
|
// If the metadata plugin is not yet present, provide with the default v4 metadata types settings.
|
|
@@ -20,10 +20,12 @@ import {
|
|
|
20
20
|
defaultMetadataTypesSettingsV4Dto,
|
|
21
21
|
defaultMetadataTypesSettingsV50FreshDto,
|
|
22
22
|
} from "passbolt-styleguide/src/shared/models/entity/metadata/metadataTypesSettingsEntity.test.data";
|
|
23
|
-
import {
|
|
23
|
+
import { defaultCeSiteSettings } from "passbolt-styleguide/src/shared/models/entity/siteSettings/siteSettingsEntity.test.data";
|
|
24
24
|
import MetadataTypesSettingsEntity from "passbolt-styleguide/src/shared/models/entity/metadata/metadataTypesSettingsEntity";
|
|
25
25
|
import { defaultMetadataKeysSettingsDto } from "passbolt-styleguide/src/shared/models/entity/metadata/metadataKeysSettingsEntity.test.data";
|
|
26
26
|
import MetadataKeysSettingsEntity from "passbolt-styleguide/src/shared/models/entity/metadata/metadataKeysSettingsEntity";
|
|
27
|
+
import GetOrFindSiteSettingsService from "../siteSettings/getOrFindSiteSettingsService";
|
|
28
|
+
import SiteSettingsEntity from "passbolt-styleguide/src/shared/models/entity/siteSettings/siteSettingsEntity";
|
|
27
29
|
|
|
28
30
|
beforeEach(() => {
|
|
29
31
|
jest.clearAllMocks();
|
|
@@ -48,7 +50,7 @@ describe("FindAndUpdateMetadataSettingsLocalStorageService", () => {
|
|
|
48
50
|
it("retrieves the metadata types settings from the API and store them into the local storage.", async () => {
|
|
49
51
|
expect.assertions(2);
|
|
50
52
|
const metadataTypesSettingsDto = defaultMetadataTypesSettingsV50FreshDto();
|
|
51
|
-
const siteSettingsDto =
|
|
53
|
+
const siteSettingsDto = defaultCeSiteSettings();
|
|
52
54
|
jest
|
|
53
55
|
.spyOn(
|
|
54
56
|
findAndUpdateMetadataSettingsService.findMetadataSettingsService.metadataTypesSettingsApiService,
|
|
@@ -56,8 +58,8 @@ describe("FindAndUpdateMetadataSettingsLocalStorageService", () => {
|
|
|
56
58
|
)
|
|
57
59
|
.mockImplementation(() => metadataTypesSettingsDto);
|
|
58
60
|
jest
|
|
59
|
-
.spyOn(
|
|
60
|
-
.mockImplementation(() => siteSettingsDto);
|
|
61
|
+
.spyOn(GetOrFindSiteSettingsService.prototype, "getOrFind")
|
|
62
|
+
.mockImplementation(() => new SiteSettingsEntity(siteSettingsDto));
|
|
61
63
|
|
|
62
64
|
const entity = await findAndUpdateMetadataSettingsService.findAndUpdateTypesSettings();
|
|
63
65
|
|
|
@@ -69,7 +71,7 @@ describe("FindAndUpdateMetadataSettingsLocalStorageService", () => {
|
|
|
69
71
|
it("retrieves partial metadata types settings from the API and store them marshalled into the local storage.", async () => {
|
|
70
72
|
expect.assertions(2);
|
|
71
73
|
const metadataTypesSettingsDto = {};
|
|
72
|
-
const siteSettingsDto =
|
|
74
|
+
const siteSettingsDto = defaultCeSiteSettings();
|
|
73
75
|
jest
|
|
74
76
|
.spyOn(
|
|
75
77
|
findAndUpdateMetadataSettingsService.findMetadataSettingsService.metadataTypesSettingsApiService,
|
|
@@ -77,8 +79,8 @@ describe("FindAndUpdateMetadataSettingsLocalStorageService", () => {
|
|
|
77
79
|
)
|
|
78
80
|
.mockImplementation(() => metadataTypesSettingsDto);
|
|
79
81
|
jest
|
|
80
|
-
.spyOn(
|
|
81
|
-
.mockImplementation(() => siteSettingsDto);
|
|
82
|
+
.spyOn(GetOrFindSiteSettingsService.prototype, "getOrFind")
|
|
83
|
+
.mockImplementation(() => new SiteSettingsEntity(siteSettingsDto));
|
|
82
84
|
|
|
83
85
|
const entity = await findAndUpdateMetadataSettingsService.findAndUpdateTypesSettings();
|
|
84
86
|
|
|
@@ -91,15 +93,15 @@ describe("FindAndUpdateMetadataSettingsLocalStorageService", () => {
|
|
|
91
93
|
|
|
92
94
|
it("with v4, retrieves default v4 metadata types settings without calling the API and store them into the local storage.", async () => {
|
|
93
95
|
expect.assertions(3);
|
|
94
|
-
const siteSettingsDto =
|
|
96
|
+
const siteSettingsDto = defaultCeSiteSettings();
|
|
95
97
|
delete siteSettingsDto.passbolt.plugins.metadata;
|
|
96
98
|
jest.spyOn(
|
|
97
99
|
findAndUpdateMetadataSettingsService.findMetadataSettingsService.metadataTypesSettingsApiService,
|
|
98
100
|
"findSettings",
|
|
99
101
|
);
|
|
100
102
|
jest
|
|
101
|
-
.spyOn(
|
|
102
|
-
.mockImplementation(() => siteSettingsDto);
|
|
103
|
+
.spyOn(GetOrFindSiteSettingsService.prototype, "getOrFind")
|
|
104
|
+
.mockImplementation(() => new SiteSettingsEntity(siteSettingsDto));
|
|
103
105
|
|
|
104
106
|
const entity = await findAndUpdateMetadataSettingsService.findAndUpdateTypesSettings();
|
|
105
107
|
|
|
@@ -116,7 +118,7 @@ describe("FindAndUpdateMetadataSettingsLocalStorageService", () => {
|
|
|
116
118
|
it("overrides local storage with a second update call.", async () => {
|
|
117
119
|
expect.assertions(2);
|
|
118
120
|
const metadataTypesSettingsDto = defaultMetadataTypesSettingsV50FreshDto();
|
|
119
|
-
const siteSettingsDto =
|
|
121
|
+
const siteSettingsDto = defaultCeSiteSettings();
|
|
120
122
|
jest
|
|
121
123
|
.spyOn(
|
|
122
124
|
findAndUpdateMetadataSettingsService.findMetadataSettingsService.metadataTypesSettingsApiService,
|
|
@@ -124,8 +126,8 @@ describe("FindAndUpdateMetadataSettingsLocalStorageService", () => {
|
|
|
124
126
|
)
|
|
125
127
|
.mockImplementation(() => metadataTypesSettingsDto);
|
|
126
128
|
jest
|
|
127
|
-
.spyOn(
|
|
128
|
-
.mockImplementation(() => siteSettingsDto);
|
|
129
|
+
.spyOn(GetOrFindSiteSettingsService.prototype, "getOrFind")
|
|
130
|
+
.mockImplementation(() => new SiteSettingsEntity(siteSettingsDto));
|
|
129
131
|
await findAndUpdateMetadataSettingsService.metadataTypesSettingsLocalStorage.set(
|
|
130
132
|
new MetadataTypesSettingsEntity(defaultMetadataTypesSettingsV4Dto()),
|
|
131
133
|
);
|
|
@@ -140,7 +142,7 @@ describe("FindAndUpdateMetadataSettingsLocalStorageService", () => {
|
|
|
140
142
|
it("waits any on-going call to the update and returns the result of the local storage.", async () => {
|
|
141
143
|
expect.assertions(4);
|
|
142
144
|
const metadataTypesSettingsDto = defaultMetadataTypesSettingsV50FreshDto();
|
|
143
|
-
const siteSettingsDto =
|
|
145
|
+
const siteSettingsDto = defaultCeSiteSettings();
|
|
144
146
|
let resolve;
|
|
145
147
|
const promise = new Promise((_resolve) => (resolve = _resolve));
|
|
146
148
|
jest
|
|
@@ -150,8 +152,8 @@ describe("FindAndUpdateMetadataSettingsLocalStorageService", () => {
|
|
|
150
152
|
)
|
|
151
153
|
.mockImplementation(() => promise);
|
|
152
154
|
jest
|
|
153
|
-
.spyOn(
|
|
154
|
-
.mockImplementation(() => siteSettingsDto);
|
|
155
|
+
.spyOn(GetOrFindSiteSettingsService.prototype, "getOrFind")
|
|
156
|
+
.mockImplementation(() => new SiteSettingsEntity(siteSettingsDto));
|
|
155
157
|
await findAndUpdateMetadataSettingsService.metadataTypesSettingsLocalStorage.set(
|
|
156
158
|
new MetadataTypesSettingsEntity(defaultMetadataTypesSettingsV4Dto()),
|
|
157
159
|
);
|
|
@@ -20,10 +20,12 @@ import {
|
|
|
20
20
|
defaultMetadataTypesSettingsV4Dto,
|
|
21
21
|
defaultMetadataTypesSettingsV50FreshDto,
|
|
22
22
|
} from "passbolt-styleguide/src/shared/models/entity/metadata/metadataTypesSettingsEntity.test.data";
|
|
23
|
-
import {
|
|
23
|
+
import { defaultCeSiteSettings } from "passbolt-styleguide/src/shared/models/entity/siteSettings/siteSettingsEntity.test.data";
|
|
24
24
|
import MetadataTypesSettingsEntity from "passbolt-styleguide/src/shared/models/entity/metadata/metadataTypesSettingsEntity";
|
|
25
25
|
import { defaultMetadataKeysSettingsDto } from "passbolt-styleguide/src/shared/models/entity/metadata/metadataKeysSettingsEntity.test.data";
|
|
26
26
|
import MetadataKeysSettingsEntity from "passbolt-styleguide/src/shared/models/entity/metadata/metadataKeysSettingsEntity";
|
|
27
|
+
import GetOrFindSiteSettingsService from "../siteSettings/getOrFindSiteSettingsService";
|
|
28
|
+
import SiteSettingsEntity from "passbolt-styleguide/src/shared/models/entity/siteSettings/siteSettingsEntity";
|
|
27
29
|
|
|
28
30
|
beforeEach(() => {
|
|
29
31
|
jest.clearAllMocks();
|
|
@@ -45,7 +47,7 @@ describe("GetOrFindMetadataSettingsService", () => {
|
|
|
45
47
|
it("with empty storage, retrieves the metadata types settings from the API and store them into the local storage.", async () => {
|
|
46
48
|
expect.assertions(3);
|
|
47
49
|
const metadataTypesSettingsDto = defaultMetadataTypesSettingsV50FreshDto();
|
|
48
|
-
const siteSettingsDto =
|
|
50
|
+
const siteSettingsDto = defaultCeSiteSettings();
|
|
49
51
|
jest
|
|
50
52
|
.spyOn(
|
|
51
53
|
getOrFindMetadataSettingsService.findAndUpdateMetadataSettingsLocalStorageService.findMetadataSettingsService
|
|
@@ -54,12 +56,8 @@ describe("GetOrFindMetadataSettingsService", () => {
|
|
|
54
56
|
)
|
|
55
57
|
.mockImplementation(() => metadataTypesSettingsDto);
|
|
56
58
|
jest
|
|
57
|
-
.spyOn(
|
|
58
|
-
|
|
59
|
-
.organizationSettingsService,
|
|
60
|
-
"find",
|
|
61
|
-
)
|
|
62
|
-
.mockImplementation(() => siteSettingsDto);
|
|
59
|
+
.spyOn(GetOrFindSiteSettingsService.prototype, "getOrFind")
|
|
60
|
+
.mockImplementation(() => new SiteSettingsEntity(siteSettingsDto));
|
|
63
61
|
|
|
64
62
|
// Control initial storage value.
|
|
65
63
|
const initialStorageValue = await getOrFindMetadataSettingsService.metadataTypesSettingsLocalStorage.get();
|
|
@@ -30,10 +30,10 @@ import PassboltApiFetchError from "passbolt-styleguide/src/shared/lib/Error/Pass
|
|
|
30
30
|
import { defaultProgressService } from "../../progress/progressService.test.data";
|
|
31
31
|
import { defaultMetadataKeysSettingsDto } from "passbolt-styleguide/src/shared/models/entity/metadata/metadataKeysSettingsEntity.test.data";
|
|
32
32
|
import { enableFetchMocks } from "jest-fetch-mock";
|
|
33
|
-
import ResourceTypeModel from "../../../model/resourceType/resourceTypeModel";
|
|
34
33
|
import ResourceTypesCollection from "passbolt-styleguide/src/shared/models/entity/resourceType/resourceTypesCollection";
|
|
35
34
|
import { resourceTypesCollectionDto } from "passbolt-styleguide/src/shared/models/entity/resourceType/resourceTypesCollection.test.data";
|
|
36
35
|
import { TEST_RESOURCE_TYPE_V5_DEFAULT } from "passbolt-styleguide/src/shared/models/entity/resourceType/resourceTypeEntity.test.data";
|
|
36
|
+
import GetOrFindResourceTypesService from "../../resourceType/getOrFindResourceTypesService";
|
|
37
37
|
|
|
38
38
|
describe("RotateResourcesMetadataKeyService", () => {
|
|
39
39
|
let account, metadataKeysDtos;
|
|
@@ -91,7 +91,7 @@ describe("RotateResourcesMetadataKeyService", () => {
|
|
|
91
91
|
: new PassboltResponseEntity(passboltReponseWithCollectionDto(nextBatchToRotate)),
|
|
92
92
|
); //first rotate call, there is another page of resources to rotate
|
|
93
93
|
jest.spyOn(service.metadataRotateKeysResourcesApiService, "findAll").mockReturnValue(rotationDetails);
|
|
94
|
-
jest.spyOn(
|
|
94
|
+
jest.spyOn(GetOrFindResourceTypesService.prototype, "getOrFindAll").mockReturnValue(resourceTypesCollection);
|
|
95
95
|
jest
|
|
96
96
|
.spyOn(service.encryptMetadataService.getOrFindMetadataSettingsService, "getOrFindKeysSettings")
|
|
97
97
|
.mockReturnValue(defaultMetadataKeysSettingsDto());
|
|
@@ -154,7 +154,7 @@ describe("RotateResourcesMetadataKeyService", () => {
|
|
|
154
154
|
|
|
155
155
|
// Spy initialization
|
|
156
156
|
jest.spyOn(service.metadataRotateKeysResourcesApiService, "findAll").mockReturnValue(rotationDetails);
|
|
157
|
-
jest.spyOn(
|
|
157
|
+
jest.spyOn(GetOrFindResourceTypesService.prototype, "getOrFindAll").mockReturnValue(resourceTypesCollection);
|
|
158
158
|
jest.spyOn(service, "_rotateResources");
|
|
159
159
|
jest
|
|
160
160
|
.spyOn(service.encryptMetadataService.getOrFindMetadataSettingsService, "getOrFindKeysSettings")
|
|
@@ -200,7 +200,7 @@ describe("RotateResourcesMetadataKeyService", () => {
|
|
|
200
200
|
.spyOn(service.encryptMetadataService.getOrFindMetadataSettingsService, "getOrFindKeysSettings")
|
|
201
201
|
.mockReturnValue(defaultMetadataKeysSettingsDto());
|
|
202
202
|
jest.spyOn(service, "_rotateResources");
|
|
203
|
-
jest.spyOn(
|
|
203
|
+
jest.spyOn(GetOrFindResourceTypesService.prototype, "getOrFindAll").mockReturnValue(resourceTypesCollection);
|
|
204
204
|
|
|
205
205
|
// running process
|
|
206
206
|
const replayOptions = { count: 0 };
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
15
|
import RoleEntity from "passbolt-styleguide/src/shared/models/entity/role/roleEntity";
|
|
16
|
-
import
|
|
16
|
+
import GetOrFindUsersService from "../user/getOrFindUsersService";
|
|
17
17
|
import { assertString, assertUuid } from "../../utils/assertions";
|
|
18
18
|
import MetadataPrivateKeyApiService from "../api/metadata/metadataPrivateKeyApiService";
|
|
19
19
|
import ShareMetadataPrivateKeysCollection from "passbolt-styleguide/src/shared/models/entity/metadata/shareMetadataPrivateKeysCollection";
|
|
@@ -36,7 +36,7 @@ export default class ShareMetadataKeyPrivateService {
|
|
|
36
36
|
*/
|
|
37
37
|
constructor(account, apiClientOptions) {
|
|
38
38
|
this.account = account;
|
|
39
|
-
this.
|
|
39
|
+
this.getOrFindUsersService = new GetOrFindUsersService(this.account, apiClientOptions);
|
|
40
40
|
this.keyring = new Keyring();
|
|
41
41
|
this.metadataPrivateKeyApiService = new MetadataPrivateKeyApiService(apiClientOptions);
|
|
42
42
|
this.getOrFindMetadataKeysService = new GetOrFindMetadataKeysService(account, apiClientOptions);
|
|
@@ -62,7 +62,7 @@ export default class ShareMetadataKeyPrivateService {
|
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
//Users should be stored into localstorage
|
|
65
|
-
const users = await this.
|
|
65
|
+
const users = await this.getOrFindUsersService.getOrFindAll();
|
|
66
66
|
const targettedUser = users.getFirst("id", userId);
|
|
67
67
|
let missingMetadataKeysIds = targettedUser.missingMetadataKeysIds;
|
|
68
68
|
|
|
@@ -85,7 +85,7 @@ describe("ShareMetadataKeyPrivateService", () => {
|
|
|
85
85
|
expect.assertions(1);
|
|
86
86
|
|
|
87
87
|
const users = new UsersCollection(usersWithoutMissingMetadataKeysDto());
|
|
88
|
-
jest.spyOn(service.
|
|
88
|
+
jest.spyOn(service.getOrFindUsersService, "getOrFindAll").mockImplementationOnce(() => users);
|
|
89
89
|
jest.spyOn(service.getOrFindMetadataKeysService, "getOrFindAll");
|
|
90
90
|
|
|
91
91
|
await service.shareOneMissing(pgpKeys.betty.userId, pgpKeys.ada.passphrase);
|
|
@@ -20,7 +20,7 @@ import TrustMetadataKeyService from "./trustMetadataKeyService";
|
|
|
20
20
|
import UntrustedMetadataKeyError from "../../error/UntrustedMetadataKeyError";
|
|
21
21
|
import MetadataKeysSessionStorage from "../session_storage/metadataKeysSessionStorage";
|
|
22
22
|
import i18n from "../../sdk/i18n";
|
|
23
|
-
import
|
|
23
|
+
import GetOrFindSiteSettingsService from "../siteSettings/getOrFindSiteSettingsService";
|
|
24
24
|
|
|
25
25
|
class VerifyOrTrustMetadataKeyService {
|
|
26
26
|
/**
|
|
@@ -29,7 +29,7 @@ class VerifyOrTrustMetadataKeyService {
|
|
|
29
29
|
* @param {ApiClientOptions} apiClientOptions the api client options
|
|
30
30
|
*/
|
|
31
31
|
constructor(worker, account, apiClientOptions) {
|
|
32
|
-
this.
|
|
32
|
+
this.getOrFindSiteSettingsService = new GetOrFindSiteSettingsService(account, apiClientOptions);
|
|
33
33
|
this.getOrFindMetadataKeysService = new GetOrFindMetadataKeysService(account, apiClientOptions);
|
|
34
34
|
this.metadataKeysSessionStorage = new MetadataKeysSessionStorage(account);
|
|
35
35
|
this.getMetadataTrustedKeyService = new GetMetadataTrustedKeyService(account);
|
|
@@ -45,8 +45,8 @@ class VerifyOrTrustMetadataKeyService {
|
|
|
45
45
|
* @throws {UntrustedMetadataKeyError} If user has not confirmed the new metadata key.
|
|
46
46
|
*/
|
|
47
47
|
async verifyTrustedOrTrustNewMetadataKey(passphrase) {
|
|
48
|
-
const
|
|
49
|
-
const metadataIsEnabled =
|
|
48
|
+
const siteSettings = await this.getOrFindSiteSettingsService.getOrFind(false);
|
|
49
|
+
const metadataIsEnabled = siteSettings.isPluginEnabled("metadata");
|
|
50
50
|
if (!metadataIsEnabled) {
|
|
51
51
|
return;
|
|
52
52
|
}
|
|
@@ -25,7 +25,9 @@ import { v4 as uuidv4 } from "uuid";
|
|
|
25
25
|
import MockExtension from "../../../../../test/mocks/mockExtension";
|
|
26
26
|
import VerifyOrTrustMetadataKeyService from "./verifyOrTrustMetadataKeyService";
|
|
27
27
|
import UntrustedMetadataKeyError from "../../error/UntrustedMetadataKeyError";
|
|
28
|
-
import {
|
|
28
|
+
import { defaultCeSiteSettings } from "passbolt-styleguide/src/shared/models/entity/siteSettings/siteSettingsEntity.test.data";
|
|
29
|
+
import GetOrFindSiteSettingsService from "../siteSettings/getOrFindSiteSettingsService";
|
|
30
|
+
import SiteSettingsEntity from "passbolt-styleguide/src/shared/models/entity/siteSettings/siteSettingsEntity";
|
|
29
31
|
|
|
30
32
|
describe("VerifyOrTrustMetadataKeyService", () => {
|
|
31
33
|
let account, apiClientOptions, service;
|
|
@@ -38,21 +40,21 @@ describe("VerifyOrTrustMetadataKeyService", () => {
|
|
|
38
40
|
// Flush the storages.
|
|
39
41
|
await service.metadataKeysSessionStorage.flush();
|
|
40
42
|
// Mock the site settings
|
|
41
|
-
const siteSettingsDto =
|
|
43
|
+
const siteSettingsDto = defaultCeSiteSettings();
|
|
42
44
|
jest
|
|
43
|
-
.spyOn(
|
|
44
|
-
.mockImplementation(() => siteSettingsDto);
|
|
45
|
+
.spyOn(GetOrFindSiteSettingsService.prototype, "getOrFind")
|
|
46
|
+
.mockImplementation(() => new SiteSettingsEntity(siteSettingsDto));
|
|
45
47
|
});
|
|
46
48
|
|
|
47
49
|
describe("::verifyTrustedOrTrustNewMetadataKey", () => {
|
|
48
50
|
it("does nothing if the plugin metadata is disabled", async () => {
|
|
49
51
|
expect.assertions(1);
|
|
50
52
|
|
|
51
|
-
const siteSettingsDto =
|
|
53
|
+
const siteSettingsDto = defaultCeSiteSettings();
|
|
52
54
|
delete siteSettingsDto.passbolt.plugins.metadata;
|
|
53
55
|
jest
|
|
54
|
-
.spyOn(
|
|
55
|
-
.mockImplementation(() => siteSettingsDto);
|
|
56
|
+
.spyOn(GetOrFindSiteSettingsService.prototype, "getOrFind")
|
|
57
|
+
.mockImplementation(() => new SiteSettingsEntity(siteSettingsDto));
|
|
56
58
|
await expect(service.verifyTrustedOrTrustNewMetadataKey(pgpKeys.ada.passphrase)).resolves.not.toThrow();
|
|
57
59
|
});
|
|
58
60
|
|
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
* @since 4.12.0
|
|
13
13
|
*/
|
|
14
14
|
import ResourcesCollection from "../../model/entity/resource/resourcesCollection";
|
|
15
|
-
import ResourceTypeModel from "../../model/resourceType/resourceTypeModel";
|
|
16
15
|
import MigrateMetadataResourcesApiService from "../api/migrateMetadata/migrateMetadataResourcesApiService";
|
|
17
16
|
import EncryptMetadataService from "../metadata/encryptMetadataService";
|
|
18
17
|
import { V4_TO_V5_RESOURCE_TYPE_MAPPING } from "passbolt-styleguide/src/shared/models/entity/resourceType/resourceTypeSchemasDefinition";
|
|
19
18
|
import ResourceEntity from "../../model/entity/resource/resourceEntity";
|
|
20
19
|
import i18n from "../../sdk/i18n";
|
|
21
20
|
import PermissionEntity from "passbolt-styleguide/src/shared/models/entity/permission/permissionEntity";
|
|
21
|
+
import GetOrFindResourceTypesService from "../resourceType/getOrFindResourceTypesService";
|
|
22
22
|
|
|
23
23
|
const MAX_PROCESS_REPLAY = 3;
|
|
24
24
|
|
|
@@ -34,7 +34,7 @@ export default class MigrateMetadataResourcesService {
|
|
|
34
34
|
constructor(apiClientOptions, account, progressService) {
|
|
35
35
|
this.account = account;
|
|
36
36
|
this.migrateMetadataResourcesApiService = new MigrateMetadataResourcesApiService(apiClientOptions);
|
|
37
|
-
this.
|
|
37
|
+
this.getOrFindResourceTypesService = new GetOrFindResourceTypesService(account, apiClientOptions);
|
|
38
38
|
this.encryptMetadataService = new EncryptMetadataService(apiClientOptions, account);
|
|
39
39
|
this.progressService = progressService;
|
|
40
40
|
}
|
|
@@ -97,7 +97,7 @@ export default class MigrateMetadataResourcesService {
|
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
this.progressService.finishStep(i18n.t("Retrieving resource types"));
|
|
100
|
-
const resourceTypes = await this.
|
|
100
|
+
const resourceTypes = await this.getOrFindResourceTypesService.getOrFindAll();
|
|
101
101
|
const resourceTypesMapping = this._computeResourceTypesMapping(resourceTypes);
|
|
102
102
|
|
|
103
103
|
let migrationDetailsPage = await this.migrateMetadataResourcesApiService.findAll(contains, filters);
|
|
@@ -132,7 +132,7 @@ export default class MigrateMetadataResourcesService {
|
|
|
132
132
|
|
|
133
133
|
/**
|
|
134
134
|
* Computes resource types v4 id mapping to resource types v5 id mapping.
|
|
135
|
-
* @param {
|
|
135
|
+
* @param {ResourceTypesCollection} resourceTypes
|
|
136
136
|
* @returns {Object} a map of resource types v4 uuid to resource type v5 uuid
|
|
137
137
|
* @private
|
|
138
138
|
*/
|
package/src/all/background_page/service/migrateMetadata/migrateMetadataResourcesService.test.js
CHANGED
|
@@ -41,8 +41,8 @@ import {
|
|
|
41
41
|
} from "passbolt-styleguide/src/shared/models/entity/resourceType/resourceTypeEntity.test.data";
|
|
42
42
|
import { defaultResourceDto } from "passbolt-styleguide/src/shared/models/entity/resource/resourceEntity.test.data";
|
|
43
43
|
import { defaultMetadataKeysSettingsDto } from "passbolt-styleguide/src/shared/models/entity/metadata/metadataKeysSettingsEntity.test.data";
|
|
44
|
-
import ResourceTypeModel from "../../model/resourceType/resourceTypeModel";
|
|
45
44
|
import { enableFetchMocks } from "jest-fetch-mock";
|
|
45
|
+
import GetOrFindResourceTypesService from "../resourceType/getOrFindResourceTypesService";
|
|
46
46
|
|
|
47
47
|
describe("MigrateMetadataResourcesService", () => {
|
|
48
48
|
let account = null;
|
|
@@ -88,7 +88,7 @@ describe("MigrateMetadataResourcesService", () => {
|
|
|
88
88
|
: new PassboltResponseEntity(passboltReponseWithCollectionDto(nextBatchToMigrate)),
|
|
89
89
|
); //first migrate call, there is another page of resources to migrate
|
|
90
90
|
jest.spyOn(service.migrateMetadataResourcesApiService, "findAll").mockReturnValue(migrationDetails);
|
|
91
|
-
jest.spyOn(
|
|
91
|
+
jest.spyOn(GetOrFindResourceTypesService.prototype, "getOrFindAll").mockReturnValue(resourceTypesCollection);
|
|
92
92
|
jest
|
|
93
93
|
.spyOn(service.encryptMetadataService.getOrFindMetadataSettingsService, "getOrFindKeysSettings")
|
|
94
94
|
.mockReturnValue(defaultMetadataKeysSettingsDto());
|
|
@@ -145,7 +145,7 @@ describe("MigrateMetadataResourcesService", () => {
|
|
|
145
145
|
// Spy initialization
|
|
146
146
|
jest.spyOn(service.migrateMetadataResourcesApiService, "findAll").mockReturnValue(migrationDetails);
|
|
147
147
|
jest
|
|
148
|
-
.spyOn(
|
|
148
|
+
.spyOn(GetOrFindResourceTypesService.prototype, "getOrFindAll")
|
|
149
149
|
.mockImplementation(() => new ResourceTypesCollection(resourceTypesCollectionDto()));
|
|
150
150
|
jest.spyOn(service, "_migrateResources");
|
|
151
151
|
jest
|
|
@@ -182,7 +182,7 @@ describe("MigrateMetadataResourcesService", () => {
|
|
|
182
182
|
|
|
183
183
|
// Spy initialization
|
|
184
184
|
jest.spyOn(service.migrateMetadataResourcesApiService, "findAll").mockReturnValue(migrationDetails);
|
|
185
|
-
jest.spyOn(
|
|
185
|
+
jest.spyOn(GetOrFindResourceTypesService.prototype, "getOrFindAll").mockReturnValue(resourceTypesCollection);
|
|
186
186
|
jest
|
|
187
187
|
.spyOn(service.encryptMetadataService.getOrFindMetadataSettingsService, "getOrFindKeysSettings")
|
|
188
188
|
.mockReturnValue(defaultMetadataKeysSettingsDto());
|
|
@@ -215,7 +215,7 @@ describe("MigrateMetadataResourcesService", () => {
|
|
|
215
215
|
// Spy initialization
|
|
216
216
|
jest.spyOn(service.migrateMetadataResourcesApiService, "migrate");
|
|
217
217
|
jest.spyOn(service.migrateMetadataResourcesApiService, "findAll").mockReturnValue(migrationDetails);
|
|
218
|
-
jest.spyOn(
|
|
218
|
+
jest.spyOn(GetOrFindResourceTypesService.prototype, "getOrFindAll").mockReturnValue(resourceTypesCollection);
|
|
219
219
|
jest
|
|
220
220
|
.spyOn(service.encryptMetadataService.getOrFindMetadataSettingsService, "getOrFindKeysSettings")
|
|
221
221
|
.mockReturnValue(defaultMetadataKeysSettingsDto());
|
|
@@ -253,7 +253,7 @@ describe("MigrateMetadataResourcesService", () => {
|
|
|
253
253
|
.spyOn(service.migrateMetadataResourcesApiService, "migrate")
|
|
254
254
|
.mockImplementation(async () => new PassboltResponseEntity(passboltReponseWithCollectionDto([])));
|
|
255
255
|
jest.spyOn(service.migrateMetadataResourcesApiService, "findAll").mockReturnValue(migrationDetails);
|
|
256
|
-
jest.spyOn(
|
|
256
|
+
jest.spyOn(GetOrFindResourceTypesService.prototype, "getOrFindAll").mockReturnValue(resourceTypesCollection);
|
|
257
257
|
jest
|
|
258
258
|
.spyOn(service.encryptMetadataService.getOrFindMetadataSettingsService, "getOrFindKeysSettings")
|
|
259
259
|
.mockReturnValue(defaultMetadataKeysSettingsDto());
|
|
@@ -46,14 +46,14 @@ export default class FindAndUpdateRbacLocalStorageService {
|
|
|
46
46
|
return await navigator.locks.request(
|
|
47
47
|
lockKey,
|
|
48
48
|
{ mode: "shared" },
|
|
49
|
-
async () => new RbacsCollection(await this.rbacLocalStorage.
|
|
49
|
+
async () => new RbacsCollection(await this.rbacLocalStorage.getData()),
|
|
50
50
|
);
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
// Lock is granted, retrieve the current user's Rbac and update the local storage.
|
|
54
54
|
const rbacsCollection = await this.findRbacService.findMe();
|
|
55
55
|
|
|
56
|
-
await this.rbacLocalStorage.
|
|
56
|
+
await this.rbacLocalStorage.setData(rbacsCollection);
|
|
57
57
|
return rbacsCollection;
|
|
58
58
|
});
|
|
59
59
|
}
|
|
@@ -35,7 +35,7 @@ export default class GetOrFindRbacService {
|
|
|
35
35
|
* @returns {Promise<RbacsCollection>}
|
|
36
36
|
*/
|
|
37
37
|
async getOrFindMe() {
|
|
38
|
-
const collectionDto = await this.rbacsLocalStorage.
|
|
38
|
+
const collectionDto = await this.rbacsLocalStorage.getData();
|
|
39
39
|
if (typeof collectionDto !== "undefined") {
|
|
40
40
|
return new RbacsCollection(collectionDto, true);
|
|
41
41
|
}
|