diff options
Diffstat (limited to 'crypto-pgpainless/src/main/kotlin/app')
-rw-r--r-- | crypto-pgpainless/src/main/kotlin/app/passwordstore/crypto/PGPKeyManager.kt | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/crypto-pgpainless/src/main/kotlin/app/passwordstore/crypto/PGPKeyManager.kt b/crypto-pgpainless/src/main/kotlin/app/passwordstore/crypto/PGPKeyManager.kt index b834164d..be2ec474 100644 --- a/crypto-pgpainless/src/main/kotlin/app/passwordstore/crypto/PGPKeyManager.kt +++ b/crypto-pgpainless/src/main/kotlin/app/passwordstore/crypto/PGPKeyManager.kt @@ -17,6 +17,7 @@ import app.passwordstore.crypto.errors.KeyNotFoundException import app.passwordstore.crypto.errors.NoKeysAvailableException import app.passwordstore.util.coroutines.runSuspendCatching import com.github.michaelbull.result.Result +import com.github.michaelbull.result.unwrap import java.io.File import javax.inject.Inject import kotlinx.coroutines.CoroutineDispatcher @@ -71,17 +72,15 @@ constructor( } } - override suspend fun removeKey(key: PGPKey): Result<PGPKey, Throwable> = + override suspend fun removeKey(identifier: GpgIdentifier): Result<Unit, Throwable> = withContext(dispatcher) { runSuspendCatching { if (!keyDirExists()) throw KeyDirectoryUnavailableException - if (tryParseKeyring(key) == null) throw InvalidKeyException + val key = getKeyById(identifier).unwrap() val keyFile = File(keyDir, "${tryGetId(key)}.$KEY_EXTENSION") if (keyFile.exists()) { if (!keyFile.delete()) throw KeyDeletionFailedException } - - key } } |