forked from agzam/vyatsu-schedule
init
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
package agzam.vyatsu.domain.repository
|
||||
|
||||
import agzam.vyatsu.domain.model.Group
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
interface GroupRepository {
|
||||
fun observeGroups(): Flow<List<Group>>
|
||||
suspend fun getGroups(): List<Group>
|
||||
suspend fun getFaculties(): List<String>
|
||||
suspend fun refreshIfStale(): Boolean
|
||||
suspend fun forceRefresh(): Boolean
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package agzam.vyatsu.domain.repository
|
||||
|
||||
interface PreferencesRepository {
|
||||
suspend fun selectedGroupId(): String?
|
||||
suspend fun setSelectedGroup(groupId: String)
|
||||
suspend fun clearSelectedGroup()
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package agzam.vyatsu.domain.repository
|
||||
|
||||
import agzam.vyatsu.domain.model.Schedule
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
interface ScheduleRepository {
|
||||
fun observeSchedule(groupId: String): Flow<Schedule?>
|
||||
suspend fun getSchedule(groupId: String): Schedule?
|
||||
suspend fun sync(groupId: String): Schedule?
|
||||
suspend fun isStale(groupId: String): Boolean
|
||||
suspend fun clear(groupId: String)
|
||||
}
|
||||
Reference in New Issue
Block a user