aboutsummaryrefslogtreecommitdiff
path: root/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/apis/StatisticsApi.kt
blob: eb9dec4e510b03f22707b2346240eb64d7c954d3 (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
35
36
37
38
39
40
41
42
43
44
45
46
/**
 * 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.Statistics

import mx.trackermap.TrackerMap.client.infrastructure.*

class StatisticsApi(basePath: kotlin.String = "https://demo.traccar.org/api") : ApiClient(basePath) {

    /**
     * Fetch server Statistics
     * 
     * @param from in IS0 8601 format. eg. `1963-11-22T18:30:00Z` 
     * @param to in IS0 8601 format. eg. `1963-11-22T18:30:00Z` 
     * @return kotlin.Array<Statistics>
     */
    @Suppress("UNCHECKED_CAST")
    fun statisticsGet(from: java.time.LocalDateTime, to: java.time.LocalDateTime): kotlin.Array<Statistics> {
        val localVariableQuery: MultiValueMap = mapOf("from" to listOf("$from"), "to" to listOf("$to"))
        val localVariableConfig = RequestConfig(
                RequestMethod.GET,
                "/statistics", query = localVariableQuery
        )
        val response = request<kotlin.Array<Statistics>>(
                localVariableConfig
        )

        return when (response.responseType) {
            ResponseType.Success -> (response as Success<*>).data as kotlin.Array<Statistics>
            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")
        }
    }
}