diff --git a/app/src/main/java/ru/sweetbread/unn/core/network/endpoints.kt b/app/src/main/java/ru/sweetbread/unn/core/network/endpoints.kt index d3e3cfd..6aec1de 100644 --- a/app/src/main/java/ru/sweetbread/unn/core/network/endpoints.kt +++ b/app/src/main/java/ru/sweetbread/unn/core/network/endpoints.kt @@ -19,6 +19,7 @@ import ru.sweetbread.unn.api.Lecturer import ru.sweetbread.unn.api.LecturerRank import ru.sweetbread.unn.api.ScheduleUnit import ru.sweetbread.unn.core.SessionManager +import ru.sweetbread.unn.model.News import ru.sweetbread.unn.model.User import java.time.LocalDate import java.time.LocalDateTime @@ -185,6 +186,10 @@ class Bitrix( val r = client.get("$vuzapiURL/profile/current") return User(JSONObject(r.bodyAsText())) } + + suspend fun getNews(): ArrayList { + val r = client.get("$prtl2URL/news_.php") + } } //suspend fun getId(login: String): Int { diff --git a/app/src/main/java/ru/sweetbread/unn/model/News.kt b/app/src/main/java/ru/sweetbread/unn/model/News.kt new file mode 100644 index 0000000..c009cfa --- /dev/null +++ b/app/src/main/java/ru/sweetbread/unn/model/News.kt @@ -0,0 +1,54 @@ +package ru.sweetbread.unn.model + +import org.json.JSONArray +import org.json.JSONObject +import java.time.LocalDateTime +import java.time.format.DateTimeFormatter +import java.util.Locale + +class News ( + val id: Int, + val time: LocalDateTime, + val content: String, + val author: NewsAuthor, + val comments: ArrayList, + val important: Boolean, + val pinned: Boolean +) { + constructor(json: JSONObject) : this ( + json.getString("id").toInt(), + LocalDateTime.parse( + json.getString("time"), + DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss") + ), + json.getString("fulltext"), + NewsAuthor(json.getJSONObject("author")), + NewsComment.fromJsonArray(json.getJSONArray("comments")), + json.getBoolean("important"), + json.getBoolean("pinned") + ) + + companion object { + fun fromJsonArray(arr: JSONArray): ArrayList { + val out: ArrayList = arrayListOf() + for (i in 0 until arr.length()) { + out.add(News(arr.getJSONObject(i))) + } + return out + } + } +} + +class NewsAuthor() { + constructor(json: JSONObject) : this ( + + ) +} + +class NewsComment() { + companion object { + fun fromJsonArray(json: JSONArray): ArrayList { + + } + } +} \ No newline at end of file