package ru.fincode.tsudesk.feature.schedule.data.remote.dto

import com.squareup.moshi.Json
import com.squareup.moshi.JsonClass
import ru.fincode.tsudesk.feature.schedule.data.remote.ScheduleApiContract.Query.FIELD_DATE
import ru.fincode.tsudesk.feature.schedule.data.remote.ScheduleApiContract.Query.FIELD_GROUPS
import ru.fincode.tsudesk.feature.schedule.data.remote.ScheduleApiContract.Query.FIELD_NAME
import ru.fincode.tsudesk.feature.schedule.data.remote.ScheduleApiContract.Query.FIELD_ROOM
import ru.fincode.tsudesk.feature.schedule.data.remote.ScheduleApiContract.Query.FIELD_TEACHER
import ru.fincode.tsudesk.feature.schedule.data.remote.ScheduleApiContract.Query.FIELD_TIME
import ru.fincode.tsudesk.feature.schedule.data.remote.ScheduleApiContract.Query.FIELD_TYPE
import ru.fincode.tsudesk.feature.schedule.data.remote.ScheduleApiContract.Query.FIELD_TYPE_NAME

@JsonClass(generateAdapter = false)
data class LessonDto(

    @Json(name = FIELD_DATE)
    val date: String,

    @Json(name = FIELD_TIME)
    val time: String,

    @Json(name = FIELD_NAME)
    val name: String,

    @Json(name = FIELD_TYPE_NAME)
    val typeName: String,

    @Json(name = FIELD_ROOM)
    val room: String,

    @Json(name = FIELD_TEACHER)
    val teacher: String,

    @Json(name = FIELD_GROUPS)
    val groups: List<GroupDto>,

    @Json(name = FIELD_TYPE)
    val type: String
)
