package de.tsschulz.timeclock.data.api

import kotlinx.serialization.Serializable

@Serializable
data class HolidayStateDto(
    val id: String,
    val name: String,
)

@Serializable
data class HolidayDto(
    val id: String,
    val date: String,
    val hours: Double = 8.0,
    val description: String,
    val states: List<String> = emptyList(),
    val isFederal: Boolean = true,
)

@Serializable
data class HolidaysResponse(
    val future: List<HolidayDto> = emptyList(),
    val past: List<HolidayDto> = emptyList(),
)

@Serializable
data class HolidayCreateRequest(
    val date: String,
    val hours: Double,
    val description: String,
    val stateIds: List<String> = emptyList(),
)

@Serializable
data class RoleUserDto(
    val id: String,
    val fullName: String,
    val role: Int = 0,
    val roleString: String = "user",
    val stateName: String? = null,
)

@Serializable
data class RoleUpdateRequest(
    val role: Int,
)
