Files
ykonsole2/ykonsole-ktor/src/main/kotlin/net/aiterp/git/ykonsole2/application/routes/ws/SocketInput.kt
T
Stian Fredrik Aune fbba57769a
continuous-integration/drone/push Build is passing
react and stuff
2022-08-17 23:27:32 +02:00

24 lines
737 B
Kotlin

package net.aiterp.git.ykonsole2.application.routes.ws
import net.aiterp.git.ykonsole2.application.routes.ValueDTO
import net.aiterp.git.ykonsole2.domain.models.Device
import net.aiterp.git.ykonsole2.domain.runtime.*
data class SocketInput(
val start: Boolean = false,
val stop: Boolean = false,
val connect: Boolean = false,
val disconnect: Boolean = false,
val skip: Boolean = false,
val setValue: ValueDTO? = null,
) {
fun makeCommands(device: Device) = buildList {
if (start) add(StartCommand)
if (stop) add(StopCommand)
if (connect) add(ConnectCommand(device))
if (disconnect) add(DisconnectCommand)
if (skip) add(SkipCommand)
setValue?.toValues()?.forEach { add(SetValueCommand(it)) }
}
}