KeyStoreFormatMigrationService.kt
package de.pflugradts.passbird.application.process.migration.keystore
import de.pflugradts.passbird.application.KeyStoreAdapterPort
import de.pflugradts.passbird.application.configuration.ReadableConfiguration
import de.pflugradts.passbird.application.configuration.ReadableConfiguration.Companion.KEYSTORE_FILENAME
import de.pflugradts.passbird.application.process.migration.MigrationCredentials
import de.pflugradts.passbird.application.toDirectory
import de.pflugradts.passbird.application.toFileName
import de.pflugradts.passbird.application.util.SystemOperation
class KeyStoreFormatMigrationService constructor(
private val configuration: ReadableConfiguration,
private val keyStoreAdapterPort: KeyStoreAdapterPort,
private val systemOperation: SystemOperation,
) {
fun migrate(migrationCredentials: MigrationCredentials) {
keyStoreAdapterPort.storeExistingKey(
migrationCredentials.keyCopy(),
migrationCredentials.passwordCopy(),
filePath,
)
}
private val filePath get() = systemOperation.resolvePath(
configuration.adapter.keyStore.location.toDirectory(),
KEYSTORE_FILENAME.toFileName(),
)
}