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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
/**
* 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.Geofence
import mx.trackermap.TrackerMap.client.infrastructure.*
class GeofencesApi(basePath: String = "https://demo.traccar.org/api") : ApiClient(basePath) {
/**
* Fetch a list of Geofences
* Without params, it returns a list of Geofences the user has access to
* @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 deviceId Standard users can use this only with _deviceId_s, they have access to (optional)
* @param groupId Standard users can use this only with _groupId_s, they have access to (optional)
* @param refresh (optional)
* @return kotlin.Array<Geofence>
*/
@Suppress("UNCHECKED_CAST")
suspend fun geofencesGet(all: Boolean? = null, userId: Int? = null, deviceId: Int? = null, groupId: Int? = null, refresh: Boolean? = null): Array<Geofence> {
val query: MutableMap<String, List<String>> = mutableMapOf()
all?.let { query["all"] = listOf("$it") }
userId?.let { query["userId"] = listOf("$it") }
deviceId?.let { query["userId"] = listOf("$it") }
groupId?.let { query["groupId"] = listOf("$it") }
refresh?.let { query["refresh"] = listOf("$it") }
val localVariableQuery: MultiValueMap = query
val localVariableConfig = RequestConfig(
RequestMethod.GET,
"/geofences", query = localVariableQuery
)
val response = request<Array<Geofence>>(
localVariableConfig
)
return when (response.responseType) {
ResponseType.Success -> (response as Success<*>).data as Array<Geofence>
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 Geofence
*
* @param id
* @return void
*/
suspend fun geofencesIdDelete(id: Int) {
val localVariableConfig = RequestConfig(
RequestMethod.DELETE,
"/geofences/{id}".replace("{" + "id" + "}", "$id")
)
val response = request<Any?>(
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 Geofence
*
* @param body
* @param id
* @return Geofence
*/
@Suppress("UNCHECKED_CAST")
suspend fun geofencesIdPut(body: Geofence, id: Int): Geofence {
val localVariableBody: Any = body
val localVariableConfig = RequestConfig(
RequestMethod.PUT,
"/geofences/{id}".replace("{" + "id" + "}", "$id")
)
val response = request<Geofence>(
localVariableConfig, localVariableBody
)
return when (response.responseType) {
ResponseType.Success -> (response as Success<*>).data as Geofence
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 Geofence
*
* @param body
* @return Geofence
*/
@Suppress("UNCHECKED_CAST")
suspend fun geofencesPost(body: Geofence): Geofence {
val localVariableBody: Any = body
val localVariableConfig = RequestConfig(
RequestMethod.POST,
"/geofences"
)
val response = request<Geofence>(
localVariableConfig, localVariableBody
)
return when (response.responseType) {
ResponseType.Success -> (response as Success<*>).data as Geofence
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")
}
}
}
|