diff --git a/app/src/main/java/org/hydev/wearsync/mi/MiFitnessModels.kt b/app/src/main/java/org/hydev/wearsync/mi/MiFitnessModels.kt index 0918edb..6094f78 100644 --- a/app/src/main/java/org/hydev/wearsync/mi/MiFitnessModels.kt +++ b/app/src/main/java/org/hydev/wearsync/mi/MiFitnessModels.kt @@ -2,8 +2,11 @@ package org.hydev.wearsync.mi +import com.influxdb.annotations.Column +import com.influxdb.annotations.Measurement import org.hydev.wearsync.reflectToString import org.jetbrains.exposed.sql.Table +import java.time.Instant import java.util.* object SleepSegment : Table("sleep_segment") { @@ -14,31 +17,40 @@ object SleepSegment : Table("sleep_segment") { val value = text("value") } +@Measurement(name = "mi-sleep-day") class SleepNight : SleepDaytime() { - val awake_count: Long = 0 - val sleep_awake_duration: Long = 0 - val sleep_deep_duration: Long = 0 - val sleep_light_duration: Long = 0 - val sleep_rem_duration: Long = 0 + @Column val awake_count: Long = 0 + @Column val sleep_awake_duration: Long = 0 + @Column val sleep_deep_duration: Long = 0 + @Column val sleep_light_duration: Long = 0 + @Column val sleep_rem_duration: Long = 0 override fun toString() = reflectToString() } +@Measurement(name = "mi-sleep-day") open class SleepDaytime { - var bedtime: Long = 0 - var wake_up_time: Long = 0 - var timezone: Long = 0 - var duration: Long = 0 + @Column lateinit var bedtime: Date + @Column lateinit var wake_up_time: Date + @Column lateinit var timezone: Date + @Column var duration: Long = 0 var items: List = listOf() - var date_time: Long = 0 + + @Column(timestamp = true) + lateinit var date_time: Instant override fun toString() = reflectToString() } +@Measurement(name = "mi-sleep-state") data class SleepState( - val end_time: Long, - val state: Long, - val start_time: Long + @Column(timestamp = true) + val start_time: Instant, + + val end_time: Instant, + + @Column + var state: Int, ) \ No newline at end of file