Reapply "refactor(app): inline pointless methods in CryptoRepository
"
This reverts commit cb22561878
.
This commit is contained in:
parent
04f4b9804f
commit
7e1ed55ab7
1 changed files with 17 additions and 33 deletions
|
@ -11,11 +11,9 @@ import app.passwordstore.crypto.PGPEncryptOptions
|
||||||
import app.passwordstore.crypto.PGPIdentifier
|
import app.passwordstore.crypto.PGPIdentifier
|
||||||
import app.passwordstore.crypto.PGPKeyManager
|
import app.passwordstore.crypto.PGPKeyManager
|
||||||
import app.passwordstore.crypto.PGPainlessCryptoHandler
|
import app.passwordstore.crypto.PGPainlessCryptoHandler
|
||||||
import app.passwordstore.crypto.errors.CryptoHandlerException
|
|
||||||
import app.passwordstore.injection.prefs.SettingsPreferences
|
import app.passwordstore.injection.prefs.SettingsPreferences
|
||||||
import app.passwordstore.util.coroutines.DispatcherProvider
|
import app.passwordstore.util.coroutines.DispatcherProvider
|
||||||
import app.passwordstore.util.settings.PreferenceKeys
|
import app.passwordstore.util.settings.PreferenceKeys
|
||||||
import com.github.michaelbull.result.Result
|
|
||||||
import com.github.michaelbull.result.filterValues
|
import com.github.michaelbull.result.filterValues
|
||||||
import com.github.michaelbull.result.map
|
import com.github.michaelbull.result.map
|
||||||
import com.github.michaelbull.result.mapBoth
|
import com.github.michaelbull.result.mapBoth
|
||||||
|
@ -39,6 +37,11 @@ constructor(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
suspend fun isPasswordProtected(identifiers: List<PGPIdentifier>): Boolean {
|
||||||
|
val keys = identifiers.map { pgpKeyManager.getKeyById(it) }.filterValues()
|
||||||
|
return pgpCryptoHandler.isPassphraseProtected(keys)
|
||||||
|
}
|
||||||
|
|
||||||
suspend fun decrypt(
|
suspend fun decrypt(
|
||||||
password: String,
|
password: String,
|
||||||
identities: List<PGPIdentifier>,
|
identities: List<PGPIdentifier>,
|
||||||
|
@ -46,41 +49,22 @@ constructor(
|
||||||
out: ByteArrayOutputStream,
|
out: ByteArrayOutputStream,
|
||||||
) =
|
) =
|
||||||
withContext(dispatcherProvider.io()) {
|
withContext(dispatcherProvider.io()) {
|
||||||
decryptPgp(password, identities, message, out).map { out }
|
val keys = identities.map { id -> pgpKeyManager.getKeyById(id) }.filterValues()
|
||||||
|
val decryptionOptions = PGPDecryptOptions.Builder().build()
|
||||||
|
pgpCryptoHandler.decrypt(keys, password, message, out, decryptionOptions).map { out }
|
||||||
}
|
}
|
||||||
|
|
||||||
suspend fun isPasswordProtected(identifiers: List<PGPIdentifier>): Boolean {
|
|
||||||
val keys = identifiers.map { pgpKeyManager.getKeyById(it) }.filterValues()
|
|
||||||
return pgpCryptoHandler.isPassphraseProtected(keys)
|
|
||||||
}
|
|
||||||
|
|
||||||
suspend fun encrypt(
|
suspend fun encrypt(
|
||||||
identities: List<PGPIdentifier>,
|
identities: List<PGPIdentifier>,
|
||||||
content: ByteArrayInputStream,
|
content: ByteArrayInputStream,
|
||||||
out: ByteArrayOutputStream,
|
out: ByteArrayOutputStream,
|
||||||
) = withContext(dispatcherProvider.io()) { encryptPgp(identities, content, out).map { out } }
|
) =
|
||||||
|
withContext(dispatcherProvider.io()) {
|
||||||
private suspend fun decryptPgp(
|
val encryptionOptions =
|
||||||
password: String,
|
PGPEncryptOptions.Builder()
|
||||||
identities: List<PGPIdentifier>,
|
.withAsciiArmor(settings.getBoolean(PreferenceKeys.ASCII_ARMOR, false))
|
||||||
message: ByteArrayInputStream,
|
.build()
|
||||||
out: ByteArrayOutputStream,
|
val keys = identities.map { id -> pgpKeyManager.getKeyById(id) }.filterValues()
|
||||||
): Result<Unit, CryptoHandlerException> {
|
pgpCryptoHandler.encrypt(keys, content, out, encryptionOptions).map { out }
|
||||||
val keys = identities.map { id -> pgpKeyManager.getKeyById(id) }.filterValues()
|
}
|
||||||
val decryptionOptions = PGPDecryptOptions.Builder().build()
|
|
||||||
return pgpCryptoHandler.decrypt(keys, password, message, out, decryptionOptions)
|
|
||||||
}
|
|
||||||
|
|
||||||
private suspend fun encryptPgp(
|
|
||||||
identities: List<PGPIdentifier>,
|
|
||||||
content: ByteArrayInputStream,
|
|
||||||
out: ByteArrayOutputStream,
|
|
||||||
): Result<Unit, CryptoHandlerException> {
|
|
||||||
val encryptionOptions =
|
|
||||||
PGPEncryptOptions.Builder()
|
|
||||||
.withAsciiArmor(settings.getBoolean(PreferenceKeys.ASCII_ARMOR, false))
|
|
||||||
.build()
|
|
||||||
val keys = identities.map { id -> pgpKeyManager.getKeyById(id) }.filterValues()
|
|
||||||
return pgpCryptoHandler.encrypt(keys, content, out, encryptionOptions)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue