25 lines
698 B
Kotlin
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)
|
|
}
|
|
}
|
|
}
|
|
|