RevokeApplicationUseCase.kt

package com.gyleedev.githubsearch.domain.usecase

import com.gyleedev.githubsearch.domain.model.RevokeResult
import com.gyleedev.githubsearch.domain.repository.GitHubRepository
import javax.inject.Inject

class RevokeApplicationUseCase @Inject constructor(
    private val repository: GitHubRepository,
) {
    suspend operator fun invoke(): RevokeResult = try {
        val result = repository.revokeApplication()
        if (result == RevokeResult.SUCCESS) {
            repository.deleteAccessToken()
        }
        result
    } catch (e: Exception) {
        // 어떤 실패인지 추가할 필요 있음
        RevokeResult.FAIL
    }
}