/** * Traccar * Traccar GPS tracking server API documentation. To use the API you need to have a server instance. For testing purposes you can use one of free [demo servers](https://www.traccar.org/demo-server/). For production use you can install your own server or get a [subscription service](https://www.traccar.org/product/tracking-server/). * * OpenAPI spec version: 4.14 * Contact: support@traccar.org * * NOTE: This class is auto generated by the swagger code generator program. * https://github.com/swagger-api/swagger-codegen.git * Do not edit the class manually. */ package mx.trackermap.TrackerMap.client.apis import mx.trackermap.TrackerMap.client.models.Device import mx.trackermap.TrackerMap.client.models.DeviceAccumulators import mx.trackermap.TrackerMap.client.infrastructure.* class DevicesApi(basePath: kotlin.String = "https://demo.traccar.org/api") : ApiClient(basePath) { /** * Fetch a list of Devices * Without any params, returns a list of the user's devices * @param all Can only be used by admins or managers to fetch all entities (optional) * @param userId Standard users can use this only with their own _userId_ (optional) * @param id To fetch one or more devices. Multiple params can be passed like `id=31&id=42` (optional) * @param uniqueId To fetch one or more devices. Multiple params can be passed like `uniqueId=333331&uniqieId=44442` (optional) * @return kotlin.Array */ @Suppress("UNCHECKED_CAST") suspend fun devicesGet(all: kotlin.Boolean? = null, userId: kotlin.Int? = null, id: kotlin.Int? = null, uniqueId: kotlin.String? = null): kotlin.Array { val query: MutableMap> = mutableMapOf() all?.let { query["all"] = listOf("$it") } userId?.let { query["userId"] = listOf("$it") } id?.let { query["id"] = listOf("$it") } uniqueId?.let { query["uniqueId"] = listOf("$it") } val localVariableQuery: MultiValueMap = query val localVariableConfig = RequestConfig( RequestMethod.GET, "/devices", query = localVariableQuery ) val response = request>( localVariableConfig ) return when (response.responseType) { ResponseType.Success -> (response as Success<*>).data as kotlin.Array ResponseType.Informational -> TODO() ResponseType.Redirection -> TODO() ResponseType.ClientError -> throw ClientException((response as ClientError<*>).body as? String ?: "Client error") ResponseType.ServerError -> throw ServerException((response as ServerError<*>).message ?: "Server error") } } /** * Update total distance and hours of the Device * * @param body * @param id * @return void */ suspend fun devicesIdAccumulatorsPut(body: DeviceAccumulators, id: kotlin.Int): Unit { val localVariableBody: kotlin.Any? = body val localVariableConfig = RequestConfig( RequestMethod.PUT, "/devices/{id}/accumulators".replace("{" + "id" + "}", "$id") ) val response = request( localVariableConfig, localVariableBody ) return when (response.responseType) { ResponseType.Success -> Unit ResponseType.Informational -> TODO() ResponseType.Redirection -> TODO() ResponseType.ClientError -> throw ClientException((response as ClientError<*>).body as? String ?: "Client error") ResponseType.ServerError -> throw ServerException((response as ServerError<*>).message ?: "Server error") } } /** * Delete a Device * * @param id * @return void */ suspend fun devicesIdDelete(id: kotlin.Int): Unit { val localVariableConfig = RequestConfig( RequestMethod.DELETE, "/devices/{id}".replace("{" + "id" + "}", "$id") ) val response = request( localVariableConfig ) return when (response.responseType) { ResponseType.Success -> Unit ResponseType.Informational -> TODO() ResponseType.Redirection -> TODO() ResponseType.ClientError -> throw ClientException((response as ClientError<*>).body as? String ?: "Client error") ResponseType.ServerError -> throw ServerException((response as ServerError<*>).message ?: "Server error") } } /** * Update a Device * * @param body * @param id * @return Device */ @Suppress("UNCHECKED_CAST") suspend fun devicesIdPut(body: Device, id: kotlin.Int): Device { val localVariableBody: kotlin.Any? = body val localVariableConfig = RequestConfig( RequestMethod.PUT, "/devices/{id}".replace("{" + "id" + "}", "$id") ) val response = request( localVariableConfig, localVariableBody ) return when (response.responseType) { ResponseType.Success -> (response as Success<*>).data as Device ResponseType.Informational -> TODO() ResponseType.Redirection -> TODO() ResponseType.ClientError -> throw ClientException((response as ClientError<*>).body as? String ?: "Client error") ResponseType.ServerError -> throw ServerException((response as ServerError<*>).message ?: "Server error") } } /** * Create a Device * * @param body * @return Device */ @Suppress("UNCHECKED_CAST") suspend fun devicesPost(body: Device): Device { val localVariableBody: kotlin.Any? = body val localVariableConfig = RequestConfig( RequestMethod.POST, "/devices" ) val response = request( localVariableConfig, localVariableBody ) return when (response.responseType) { ResponseType.Success -> (response as Success<*>).data as Device ResponseType.Informational -> TODO() ResponseType.Redirection -> TODO() ResponseType.ClientError -> throw ClientException((response as ClientError<*>).body as? String ?: "Client error") ResponseType.ServerError -> throw ServerException((response as ServerError<*>).message ?: "Server error") } } }