wip
This commit is contained in:
@@ -14,43 +14,45 @@ import org.json.JSONObject
|
||||
import ru.risdeveau.pixeldragon.baseUrl
|
||||
import ru.risdeveau.pixeldragon.client
|
||||
import ru.risdeveau.pixeldragon.token
|
||||
import java.time.Instant
|
||||
|
||||
class Event (
|
||||
val id: String,
|
||||
val rid: String,
|
||||
val sender: String,
|
||||
val type: String,
|
||||
val content: JSONObject
|
||||
val content: JSONObject,
|
||||
val time: Instant,
|
||||
val sender: String
|
||||
) {
|
||||
constructor(json: JSONObject) : this(
|
||||
json.getString("event_id"),
|
||||
json.getString("room_id"),
|
||||
json.getString("sender"),
|
||||
json.getString("type"),
|
||||
json.getJSONObject("content")
|
||||
)
|
||||
// constructor(json: JSONObject) : this(
|
||||
// json.getString("event_id"),
|
||||
// json.getString("room_id"),
|
||||
// json.getString("sender"),
|
||||
// json.getString("type"),
|
||||
// json.getJSONObject("content")
|
||||
// )
|
||||
}
|
||||
|
||||
data class EventsAround (
|
||||
val base: Event,
|
||||
val before: List<Event>,
|
||||
val after: List<Event>
|
||||
)
|
||||
|
||||
suspend fun getEventsAround(room: String, event: String): EventsAround {
|
||||
val r = client.get("$baseUrl/rooms/$room/context/$event") {
|
||||
bearerAuth(token)
|
||||
parameter("limit", "50")
|
||||
}
|
||||
val json = JSONObject(r.bodyAsText())
|
||||
|
||||
return EventsAround(
|
||||
Event(json.getJSONObject("event")),
|
||||
if (json.has("events_before")) json.getJSONArray("events_before").let {
|
||||
List<Event>(it.length()) { i -> Event(it.getJSONObject(i))}.reversed()
|
||||
} else listOf(),
|
||||
if (json.has("events_after")) json.getJSONArray("events_after").let {
|
||||
List<Event>(it.length()) { i -> Event(it.getJSONObject(i))}
|
||||
} else listOf()
|
||||
)
|
||||
}
|
||||
//data class EventsAround (
|
||||
// val base: Event,
|
||||
// val before: List<Event>,
|
||||
// val after: List<Event>
|
||||
//)
|
||||
//
|
||||
//suspend fun getEventsAround(room: String, event: String): EventsAround {
|
||||
// val r = client.get("$baseUrl/rooms/$room/context/$event") {
|
||||
// bearerAuth(token)
|
||||
// parameter("limit", "50")
|
||||
// }
|
||||
// val json = JSONObject(r.bodyAsText())
|
||||
//
|
||||
// return EventsAround(
|
||||
// Event(json.getJSONObject("event")),
|
||||
// if (json.has("events_before")) json.getJSONArray("events_before").let {
|
||||
// List<Event>(it.length()) { i -> Event(it.getJSONObject(i))}.reversed()
|
||||
// } else listOf(),
|
||||
// if (json.has("events_after")) json.getJSONArray("events_after").let {
|
||||
// List<Event>(it.length()) { i -> Event(it.getJSONObject(i))}
|
||||
// } else listOf()
|
||||
// )
|
||||
//}
|
||||
Reference in New Issue
Block a user