diff --git a/libs/key-management/src/key.service.ts b/libs/key-management/src/key.service.ts index baf1b86e160..dbedfc91f40 100644 --- a/libs/key-management/src/key.service.ts +++ b/libs/key-management/src/key.service.ts @@ -3,6 +3,7 @@ import { NEVER, Observable, combineLatest, + filter, firstValueFrom, forkJoin, map, @@ -1019,7 +1020,9 @@ export class DefaultKeyService implements KeyServiceAbstraction { return combineLatest([ this.stateProvider.getUser(userId, USER_ENCRYPTED_ORGANIZATION_KEYS).state$, - this.providerKeysHelper$(userId, userPrivateKey), + this.providerKeysHelper$(userId, userPrivateKey).pipe( + filter((providerKeys) => providerKeys != null), + ), ]).pipe( switchMap(async ([encryptedOrgKeys, providerKeys]) => { const result: Record = {}; @@ -1036,9 +1039,6 @@ export class DefaultKeyService implements KeyServiceAbstraction { let decrypted: OrgKey; if (BaseEncryptedOrganizationKey.isProviderEncrypted(encrypted)) { - if (providerKeys == null) { - throw new Error("No provider keys found."); - } decrypted = await encrypted.decrypt(this.encryptService, providerKeys); } else { decrypted = await encrypted.decrypt(this.encryptService, userPrivateKey);