/** * 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.Position import mx.trackermap.TrackerMap.client.infrastructure.* class PositionsApi : ApiClient() { /** * Fetches a list of Positions * We strongly recommend using [Traccar WebSocket API](https://www.traccar.org/traccar-api/) instead of periodically polling positions endpoint. Without any params, it returns a list of last known positions for all the user's Devices. _from_ and _to_ fields are not required with _id_. * @param deviceId _deviceId_ is optional, but requires the _from_ and _to_ parameters when used (optional) * @param from in IS0 8601 format. eg. `1963-11-22T18:30:00Z` (optional) * @param to in IS0 8601 format. eg. `1963-11-22T18:30:00Z` (optional) * @param id To fetch one or more positions. Multiple params can be passed like `id=31&id=42` (optional) * @return kotlin.Array */ @Suppress("UNCHECKED_CAST") suspend fun positionsGet(deviceId: Int? = null, from: LocalDateTimeAdapter? = null, to: LocalDateTimeAdapter? = null, id: Int? = null): Array { val query: MutableMap> = mutableMapOf() deviceId?.let { query["deviceId"] = listOf("$it") } from?.let { query["from"] = listOf("$it") } to?.let { query["to"] = listOf("$it") } id?.let { query["id"] = listOf("$it") } val localVariableQuery: MultiValueMap = query val localVariableConfig = RequestConfig( RequestMethod.GET, "/positions", query = localVariableQuery ) val response = request>( localVariableConfig ) return when (response.responseType) { ResponseType.Success -> (response as Success<*>).data as 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") } } }