All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.me.aartikov.replica.devtools.dto.ReplicaDto.kt Maven / Gradle / Ivy

There is a newer version: 1.3.1-alpha1
Show newest version
package me.aartikov.replica.devtools.dto

import kotlinx.datetime.Instant
import kotlinx.serialization.Serializable

@Serializable
data class ReplicaDto(
    val id: Long,
    val name: String,
    val state: ReplicaStateDto
)

@Serializable
data class ReplicaStateDto(
    val loading: Boolean,
    val hasData: Boolean,
    val hasError: Boolean,
    val dataIsFresh: Boolean,
    val observerCount: Int,
    val activeObserverCount: Int,
    val observingTime: ObservingTimeDto
)

@Serializable
sealed class ObservingTimeDto {

    @Serializable
    object Never : ObservingTimeDto()

    @Serializable
    data class TimeInPast(val time: Instant) : ObservingTimeDto()

    @Serializable
    object Now : ObservingTimeDto()
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy