package org.zaine.management.data.api

data class LoginRequest(val username: String, val password: String)
data class LoginResponse(val token: String)

data class CalendarEventDto(
    val id: Long,
    val externalId: String?,
    val title: String,
    val description: String?,
    val location: String?,
    val startsAt: String,
    val endsAt: String,
    val allDay: Boolean,
    val source: String
)

data class TodayStatusDto(
    val date: String,
    val morningDone: Boolean,
    val eveningDone: Boolean,
    val sleepHours: Double?,
    val morningEnergyLevel: Int?,
    val morningMoodLevel: Int?,
    val eveningMoodLevel: Int?,
    val stressLevel: Int?,
    val fajr: Boolean?,
    val quran: Boolean?,
    val exercise: Boolean?,
    val duties: Boolean?,
    val zikr: Boolean?,
    val salah: Boolean?,
    val reflection: String?,
    val morningCompletedAt: String?,
    val eveningCompletedAt: String?
)

data class MorningCheckinRequest(
    val date: String? = null,
    val sleepHours: Double,
    val energyLevel: Int? = null,
    val mood: Int? = null,
    val fajr: Boolean,
    val quran: Boolean,
    val exercise: Boolean,
    val note: String?
)

data class EveningCheckinRequest(
    val date: String? = null,
    val mood: Int? = null,
    val stressLevel: Int? = null,
    val duties: Boolean,
    val zikr: Boolean,
    val salah: Boolean,
    val reflection: String?,
    val bestThingToday: String? = null
)

data class WirdEntryDto(
    val id: Long,
    val wirdType: String,
    val date: String,
    val value: Double,
    val notes: String?,
    val createdAt: String?
)

data class WirdEntryRequest(
    val wirdType: String,
    val date: String,
    val value: Double,
    val notes: String?
)
