Files
New-planet-app/app/src/main/java/com/novayaplaneta/domain/usecase/GetSchedulesUseCase.kt

25 lines
698 B
Kotlin

package com.novayaplaneta.domain.usecase
import com.novayaplaneta.domain.model.Schedule
import com.novayaplaneta.domain.repository.ScheduleRepository
import kotlinx.coroutines.flow.Flow
import javax.inject.Inject
class GetSchedulesUseCase @Inject constructor(
private val repository: ScheduleRepository
) {
operator fun invoke(userId: String): Flow<List<Schedule>> {
return repository.getSchedules(userId)
}
suspend fun loadSchedules(scheduleDate: String? = null): Result<Unit> {
return try {
repository.loadSchedules(scheduleDate)
Result.success(Unit)
} catch (e: Exception) {
Result.failure(e)
}
}
}