feat: basic stop markers on route
This commit is contained in:
parent
6a5a9b4974
commit
67f18afc01
5 changed files with 108 additions and 6 deletions
|
|
@ -14,6 +14,8 @@ import kotlinx.serialization.Serializable
|
|||
import kotlinx.serialization.json.Json
|
||||
import moe.lava.banksia.Constants
|
||||
import moe.lava.banksia.api.ptv.structures.PtvRoute
|
||||
import moe.lava.banksia.api.ptv.structures.PtvRouteType
|
||||
import moe.lava.banksia.api.ptv.structures.PtvStop
|
||||
import moe.lava.banksia.log
|
||||
import okio.ByteString.Companion.encodeUtf8
|
||||
|
||||
|
|
@ -22,6 +24,9 @@ object Responses {
|
|||
data class PtvRouteResponse(val route: PtvRoute)
|
||||
@Serializable
|
||||
data class PtvRoutesResponse(val routes: List<PtvRoute>)
|
||||
|
||||
@Serializable
|
||||
data class PtvStopsResponse(val stops: List<PtvStop>)
|
||||
}
|
||||
|
||||
class PtvService {
|
||||
|
|
@ -61,4 +66,17 @@ class PtvService {
|
|||
val response: Responses.PtvRoutesResponse = client.get("routes").body()
|
||||
return response.routes
|
||||
}
|
||||
|
||||
suspend fun stopsByRoute(routeId: Int, routeType: PtvRouteType): List<PtvStop> {
|
||||
val response: Responses.PtvStopsResponse = client.get("stops/route") {
|
||||
url {
|
||||
appendPathSegments(
|
||||
routeId.toString(),
|
||||
"route_type",
|
||||
routeType.ordinal.toString()
|
||||
)
|
||||
}
|
||||
}.body()
|
||||
return response.stops
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,13 @@
|
|||
package moe.lava.banksia.api.ptv.structures
|
||||
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class PtvStop(
|
||||
@SerialName("stop_id") val stopId: Int,
|
||||
@SerialName("stop_name") val stopName: String,
|
||||
@SerialName("stop_latitude") val stopLatitude: Double?,
|
||||
@SerialName("stop_longitude") val stopLongitude: Double?,
|
||||
@SerialName("route_type") val routeType: PtvRouteType,
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue