package net.aiterp.git.ykonsole2.application.routes.ws import com.fasterxml.jackson.annotation.JsonInclude import net.aiterp.git.ykonsole2.application.routes.MilestoneDTO import net.aiterp.git.ykonsole2.application.routes.ValueDTO import net.aiterp.git.ykonsole2.application.routes.WorkoutDTO import net.aiterp.git.ykonsole2.domain.models.WorkoutState import net.aiterp.git.ykonsole2.domain.runtime.Event import java.time.Instant import java.time.temporal.ChronoUnit @JsonInclude(JsonInclude.Include.NON_NULL) data class SocketOutput( val sentAt: Instant = Instant.now().truncatedTo(ChronoUnit.SECONDS), val workout: WorkoutDTO? = null, val workoutStates: List? = null, val milestone: MilestoneDTO? = null, val oldMilestones: List? = null, val event: EventDTO? = null, val error: Error? = null, ) { data class EventDTO(val name: String) data class Error(val message: String) }