import { DecryptedParameters, ErrorDecryptingParameters, OperatorManager, decryptPayload, } from '@standardnotes/encryption' import { EncryptedPayloadInterface, ItemContent, KeySystemRootKeyInterface, RootKeyInterface, } from '@standardnotes/models' export class RootKeyDecryptPayloadUseCase { constructor(private operatorManager: OperatorManager) {} async executeOne( payload: EncryptedPayloadInterface, key: RootKeyInterface | KeySystemRootKeyInterface, ): Promise | ErrorDecryptingParameters> { return decryptPayload(payload, key, this.operatorManager) } async executeMany( payloads: EncryptedPayloadInterface[], key: RootKeyInterface | KeySystemRootKeyInterface, ): Promise<(DecryptedParameters | ErrorDecryptingParameters)[]> { return Promise.all(payloads.map((payload) => this.executeOne(payload, key))) } }