Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
41 lines
1.1 KiB
Kotlin
41 lines
1.1 KiB
Kotlin
package com.example.shiftalarm
|
|
|
|
import androidx.room.Entity
|
|
import androidx.room.PrimaryKey
|
|
|
|
@Entity(tableName = "shift_overrides", primaryKeys = ["factory", "team", "date"])
|
|
data class ShiftOverride(
|
|
val factory: String,
|
|
val team: String,
|
|
val date: String, // YYYY-MM-DD
|
|
val shift: String
|
|
)
|
|
|
|
@Entity(tableName = "daily_memos")
|
|
data class DailyMemo(
|
|
@PrimaryKey
|
|
val date: String, // YYYY-MM-DD
|
|
val content: String
|
|
)
|
|
|
|
@Entity(tableName = "custom_alarms")
|
|
data class CustomAlarm(
|
|
@PrimaryKey(autoGenerate = true)
|
|
val id: Int = 0,
|
|
val time: String, // HH:MM
|
|
val shiftType: String, // 주간, 석간, 야간 ... 기타
|
|
val isEnabled: Boolean = true,
|
|
val soundUri: String? = null,
|
|
val snoozeInterval: Int = 5,
|
|
val snoozeRepeat: Int = 3
|
|
)
|
|
|
|
@Entity(tableName = "annual_leave")
|
|
data class AnnualLeave(
|
|
@PrimaryKey
|
|
val id: Int = 1, // Single row for app-wide annual leave
|
|
val totalDays: Float, // 총 연차 (1~25)
|
|
val remainingDays: Float, // 남은 연차
|
|
val updatedAt: Long = System.currentTimeMillis()
|
|
)
|