22 lines
814 B
Kotlin
22 lines
814 B
Kotlin
package com.jetpackduba.gitnuro.git.rebase
|
|
|
|
import kotlinx.coroutines.Dispatchers
|
|
import kotlinx.coroutines.withContext
|
|
import org.eclipse.jgit.api.Git
|
|
import org.eclipse.jgit.lib.RebaseTodoLine
|
|
import javax.inject.Inject
|
|
|
|
class GetRebaseLinesFullMessageUseCase @Inject constructor(
|
|
private val getCommitFromRebaseLineUseCase: GetCommitFromRebaseLineUseCase,
|
|
) {
|
|
suspend operator fun invoke(
|
|
git: Git,
|
|
rebaseTodoLines: List<RebaseTodoLine>,
|
|
): Map<String, String> = withContext(Dispatchers.IO) {
|
|
return@withContext rebaseTodoLines.associate { line ->
|
|
val commit = getCommitFromRebaseLineUseCase(git, line.commit, line.shortMessage)
|
|
val fullMessage = commit?.fullMessage ?: line.shortMessage
|
|
line.commit.name() to fullMessage
|
|
}
|
|
}
|
|
} |