forked from agzam/vyatsu-schedule
26 lines
698 B
Kotlin
26 lines
698 B
Kotlin
package agzam.vyatsu.data.local
|
|||
|
|
|
||
|
|
import agzam.vyatsu.domain.model.TimeSlot
|
||
|
|
import com.squareup.moshi.JsonClass
|
||
|
|
import java.time.LocalTime
|
||
|
|
|
||
|
|
@JsonClass(generateAdapter = true)
|
||
|
|
data class SlotDto(
|
||
|
|
val start: String,
|
||
|
|
val end: String,
|
||
|
|
val lessons: List<LessonDto> = emptyList()
|
||
|
|
) {
|
||
|
|
fun toDomain(): TimeSlot = TimeSlot(
|
||
|
|
start = LocalTime.parse(start),
|
||
|
|
end = LocalTime.parse(end),
|
||
|
|
lessons = lessons.map { it.toDomain() }
|
||
|
|
)
|
||
|
|
|
||
|
|
companion object {
|
||
|
|
fun fromDomain(s: TimeSlot): SlotDto = SlotDto(
|
||
|
|
start = s.start.toString(),
|
||
|
|
end = s.end.toString(),
|
||
|
|
lessons = s.lessons.map { LessonDto.fromDomain(it) }
|
||
|
|
)
|
||
|
|
}
|
||
|
|
}
|