blob: 2e0d9246d272fd3a18e6837e7886e75a9e228b5b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
package mx.trackermap.TrackerMap.controllers
import mx.trackermap.TrackerMap.client.apis.DevicesApi
import mx.trackermap.TrackerMap.client.models.Device
class DeviceController(
private val devicesApi: DevicesApi,
private val sessionController: SessionController)
{
var devices = emptyArray<Device>()
suspend fun getDevices() {
devices = devicesApi.devicesGet(userId = sessionController.user?.id)
}
fun getDevice(id: Int) = devices.find { it.id == id }
suspend fun createDevice(device: Device) {
devices += devicesApi.devicesPost(device)
}
suspend fun updateDevice(id: Int, device: Device) {
devices = devices.map {
if (it.id == id)
devicesApi.devicesIdPut(id = id, body = device)
else it
}.toTypedArray()
}
suspend fun deleteDevice(id: Int) {
devicesApi.devicesIdDelete(id)
devices = devices.filter { it.id != id }.toTypedArray()
}
}
|