aboutsummaryrefslogtreecommitdiff
path: root/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/CommandsController.kt
diff options
context:
space:
mode:
Diffstat (limited to 'shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/CommandsController.kt')
-rw-r--r--shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/CommandsController.kt29
1 files changed, 29 insertions, 0 deletions
diff --git a/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/CommandsController.kt b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/CommandsController.kt
new file mode 100644
index 0000000..b710763
--- /dev/null
+++ b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/CommandsController.kt
@@ -0,0 +1,29 @@
+package mx.trackermap.TrackerMap.controllers
+
+import mx.trackermap.TrackerMap.client.apis.CommandsApi
+import mx.trackermap.TrackerMap.client.models.Command
+import mx.trackermap.TrackerMap.client.models.Device
+
+class CommandsController(
+ val commandsApi: CommandsApi,
+ val sessionController: SessionController)
+{
+ var commands = emptyArray<Command>()
+ val deviceCommands = mutableMapOf<Int, Array<Command>>()
+
+ suspend fun getAllCommands () {
+ sessionController.user?.id?.let {
+ commands = commandsApi.commandsGet(userId = it)
+ }
+ }
+
+ suspend fun getDeviceCommands (device: Device) {
+ device.id?.let {
+ deviceCommands[it] = commandsApi.commandsSendGet (deviceId = device.id)
+ }
+ }
+
+ suspend fun sendCommand (command: Command) {
+ commandsApi.commandsSendPost(command)
+ }
+} \ No newline at end of file