feat: centralise session token
Signed-off-by: Infi <wingit@geist.ga>
This commit is contained in:
parent
dc9de08bc5
commit
6a09467028
|
|
@ -83,6 +83,15 @@ val RevoltHttp = HttpClient(OkHttp) {
|
|||
|
||||
install(Logging) { level = LogLevel.INFO }
|
||||
|
||||
engine {
|
||||
addInterceptor { chain ->
|
||||
val request = chain.request().newBuilder()
|
||||
.header(RevoltAPI.TOKEN_HEADER_NAME, RevoltAPI.sessionToken)
|
||||
.build()
|
||||
chain.proceed(request)
|
||||
}
|
||||
}
|
||||
|
||||
defaultRequest {
|
||||
url(REVOLT_BASE)
|
||||
header("User-Agent", buildUserAgent())
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package chat.revolt.api.routes.channel
|
||||
|
||||
import chat.revolt.api.RevoltAPI
|
||||
import chat.revolt.api.RevoltError
|
||||
import chat.revolt.api.RevoltHttp
|
||||
import chat.revolt.api.RevoltJson
|
||||
|
|
@ -30,8 +29,6 @@ suspend fun fetchMessagesFromChannel(
|
|||
sort: String? = null
|
||||
): MessagesInChannel {
|
||||
val response = RevoltHttp.get("/channels/$channelId/messages") {
|
||||
headers.append(RevoltAPI.TOKEN_HEADER_NAME, RevoltAPI.sessionToken)
|
||||
|
||||
parameter("limit", limit)
|
||||
parameter("include_users", includeUsers)
|
||||
|
||||
|
|
@ -88,8 +85,6 @@ suspend fun sendMessage(
|
|||
attachments: List<String>? = null,
|
||||
): String {
|
||||
val response = RevoltHttp.post("/channels/$channelId/messages") {
|
||||
headers.append(RevoltAPI.TOKEN_HEADER_NAME, RevoltAPI.sessionToken)
|
||||
|
||||
contentType(ContentType.Application.Json)
|
||||
setBody(
|
||||
SendMessageBody(
|
||||
|
|
@ -111,8 +106,6 @@ suspend fun editMessage(
|
|||
newContent: String? = null,
|
||||
) {
|
||||
val response = RevoltHttp.patch("/channels/$channelId/messages/$messageId") {
|
||||
headers.append(RevoltAPI.TOKEN_HEADER_NAME, RevoltAPI.sessionToken)
|
||||
|
||||
contentType(ContentType.Application.Json)
|
||||
setBody(
|
||||
EditMessageBody(
|
||||
|
|
@ -131,15 +124,11 @@ suspend fun editMessage(
|
|||
}
|
||||
|
||||
suspend fun ackChannel(channelId: String, messageId: String = ULID.makeNext()) {
|
||||
RevoltHttp.put("/channels/$channelId/ack/$messageId") {
|
||||
headers.append(RevoltAPI.TOKEN_HEADER_NAME, RevoltAPI.sessionToken)
|
||||
}
|
||||
RevoltHttp.put("/channels/$channelId/ack/$messageId")
|
||||
}
|
||||
|
||||
suspend fun fetchSingleChannel(channelId: String): Channel {
|
||||
val response = RevoltHttp.get("/channels/$channelId") {
|
||||
headers.append(RevoltAPI.TOKEN_HEADER_NAME, RevoltAPI.sessionToken)
|
||||
}
|
||||
val response = RevoltHttp.get("/channels/$channelId")
|
||||
.bodyAsText()
|
||||
|
||||
return RevoltJson.decodeFromString(
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package chat.revolt.api.routes.invites
|
||||
|
||||
import chat.revolt.api.RevoltAPI
|
||||
import chat.revolt.api.RevoltError
|
||||
import chat.revolt.api.RevoltHttp
|
||||
import chat.revolt.api.RevoltJson
|
||||
|
|
@ -13,9 +12,7 @@ import io.ktor.client.statement.bodyAsText
|
|||
import kotlinx.serialization.SerializationException
|
||||
|
||||
suspend fun fetchInviteByCode(code: String): RsResult<Invite, RevoltError> {
|
||||
val response = RevoltHttp.get("/invites/$code") {
|
||||
headers.append(RevoltAPI.TOKEN_HEADER_NAME, RevoltAPI.sessionToken)
|
||||
}
|
||||
val response = RevoltHttp.get("/invites/$code")
|
||||
.bodyAsText()
|
||||
|
||||
try {
|
||||
|
|
@ -30,9 +27,7 @@ suspend fun fetchInviteByCode(code: String): RsResult<Invite, RevoltError> {
|
|||
}
|
||||
|
||||
suspend fun joinInviteByCode(code: String): RsResult<InviteJoined, RevoltError> {
|
||||
val response = RevoltHttp.post("/invites/$code") {
|
||||
headers.append(RevoltAPI.TOKEN_HEADER_NAME, RevoltAPI.sessionToken)
|
||||
}
|
||||
val response = RevoltHttp.post("/invites/$code")
|
||||
.bodyAsText()
|
||||
|
||||
try {
|
||||
|
|
|
|||
|
|
@ -1,12 +1,19 @@
|
|||
package chat.revolt.api.routes.safety
|
||||
|
||||
import chat.revolt.api.RevoltAPI
|
||||
import chat.revolt.api.RevoltError
|
||||
import chat.revolt.api.RevoltHttp
|
||||
import chat.revolt.api.RevoltJson
|
||||
import chat.revolt.api.schemas.*
|
||||
import io.ktor.client.request.*
|
||||
import io.ktor.client.statement.*
|
||||
import chat.revolt.api.schemas.ContentReportReason
|
||||
import chat.revolt.api.schemas.FullMessageReport
|
||||
import chat.revolt.api.schemas.FullServerReport
|
||||
import chat.revolt.api.schemas.FullUserReport
|
||||
import chat.revolt.api.schemas.MessageReport
|
||||
import chat.revolt.api.schemas.ServerReport
|
||||
import chat.revolt.api.schemas.UserReport
|
||||
import chat.revolt.api.schemas.UserReportReason
|
||||
import io.ktor.client.request.post
|
||||
import io.ktor.client.request.setBody
|
||||
import io.ktor.client.statement.bodyAsText
|
||||
import kotlinx.serialization.SerializationException
|
||||
|
||||
suspend fun putMessageReport(
|
||||
|
|
@ -24,7 +31,6 @@ suspend fun putMessageReport(
|
|||
)
|
||||
|
||||
val response = RevoltHttp.post("/safety/report") {
|
||||
headers.append(RevoltAPI.TOKEN_HEADER_NAME, RevoltAPI.sessionToken)
|
||||
setBody(
|
||||
RevoltJson.encodeToString(
|
||||
FullMessageReport.serializer(),
|
||||
|
|
@ -57,7 +63,6 @@ suspend fun putServerReport(
|
|||
)
|
||||
|
||||
val response = RevoltHttp.post("/safety/report") {
|
||||
headers.append(RevoltAPI.TOKEN_HEADER_NAME, RevoltAPI.sessionToken)
|
||||
setBody(
|
||||
RevoltJson.encodeToString(
|
||||
FullServerReport.serializer(),
|
||||
|
|
@ -90,7 +95,6 @@ suspend fun putUserReport(
|
|||
)
|
||||
|
||||
val response = RevoltHttp.post("/safety/report") {
|
||||
headers.append(RevoltAPI.TOKEN_HEADER_NAME, RevoltAPI.sessionToken)
|
||||
setBody(
|
||||
RevoltJson.encodeToString(
|
||||
FullUserReport.serializer(),
|
||||
|
|
|
|||
|
|
@ -21,9 +21,7 @@ data class FetchMembersResponse(
|
|||
)
|
||||
|
||||
suspend fun ackServer(serverId: String) {
|
||||
RevoltHttp.put("/servers/$serverId/ack") {
|
||||
headers.append(RevoltAPI.TOKEN_HEADER_NAME, RevoltAPI.sessionToken)
|
||||
}
|
||||
RevoltHttp.put("/servers/$serverId/ack")
|
||||
}
|
||||
|
||||
suspend fun fetchMembers(
|
||||
|
|
@ -32,8 +30,6 @@ suspend fun fetchMembers(
|
|||
pure: Boolean = false
|
||||
): FetchMembersResponse {
|
||||
val response = RevoltHttp.get("/servers/$serverId/members") {
|
||||
headers.append(RevoltAPI.TOKEN_HEADER_NAME, RevoltAPI.sessionToken)
|
||||
|
||||
parameter("exclude_offline", !includeOffline)
|
||||
}
|
||||
|
||||
|
|
@ -67,9 +63,7 @@ suspend fun fetchMembers(
|
|||
}
|
||||
|
||||
suspend fun fetchMember(serverId: String, userId: String, pure: Boolean = false): Member {
|
||||
val response = RevoltHttp.get("/servers/$serverId/members/$userId") {
|
||||
headers.append(RevoltAPI.TOKEN_HEADER_NAME, RevoltAPI.sessionToken)
|
||||
}
|
||||
val response = RevoltHttp.get("/servers/$serverId/members/$userId")
|
||||
|
||||
try {
|
||||
val error = RevoltJson.decodeFromString(RevoltError.serializer(), response.bodyAsText())
|
||||
|
|
@ -91,8 +85,6 @@ suspend fun fetchMember(serverId: String, userId: String, pure: Boolean = false)
|
|||
|
||||
suspend fun leaveOrDeleteServer(serverId: String, leaveSilently: Boolean = false) {
|
||||
RevoltHttp.delete("/servers/$serverId") {
|
||||
headers.append(RevoltAPI.TOKEN_HEADER_NAME, RevoltAPI.sessionToken)
|
||||
|
||||
parameter("leave_silently", leaveSilently)
|
||||
}
|
||||
}
|
||||
|
|
@ -56,8 +56,6 @@ suspend fun getKeys(vararg keys: String): Map<String, SyncedSetting> {
|
|||
|
||||
suspend fun setKey(key: String, value: String) {
|
||||
RevoltHttp.post("/sync/settings/set") {
|
||||
headers.append(RevoltAPI.TOKEN_HEADER_NAME, RevoltAPI.sessionToken)
|
||||
|
||||
parameter("timestamp", System.currentTimeMillis())
|
||||
|
||||
// format: {"key": "value"}
|
||||
|
|
|
|||
|
|
@ -1,17 +1,14 @@
|
|||
package chat.revolt.api.routes.sync
|
||||
|
||||
import chat.revolt.api.RevoltAPI
|
||||
import chat.revolt.api.RevoltHttp
|
||||
import chat.revolt.api.RevoltJson
|
||||
import chat.revolt.api.schemas.ChannelUnreadResponse
|
||||
import io.ktor.client.request.*
|
||||
import io.ktor.client.statement.*
|
||||
import io.ktor.client.request.get
|
||||
import io.ktor.client.statement.bodyAsText
|
||||
import kotlinx.serialization.builtins.ListSerializer
|
||||
|
||||
suspend fun syncUnreads(): List<ChannelUnreadResponse> {
|
||||
val response = RevoltHttp.get("/sync/unreads") {
|
||||
headers.append(RevoltAPI.TOKEN_HEADER_NAME, RevoltAPI.sessionToken)
|
||||
}
|
||||
val response = RevoltHttp.get("/sync/unreads")
|
||||
.bodyAsText()
|
||||
|
||||
return RevoltJson.decodeFromString(
|
||||
|
|
|
|||
|
|
@ -4,14 +4,14 @@ import chat.revolt.api.RevoltAPI
|
|||
import chat.revolt.api.RevoltError
|
||||
import chat.revolt.api.RevoltHttp
|
||||
import chat.revolt.api.RevoltJson
|
||||
import io.ktor.client.request.*
|
||||
import io.ktor.client.statement.*
|
||||
import io.ktor.client.request.delete
|
||||
import io.ktor.client.request.put
|
||||
import io.ktor.client.statement.bodyAsText
|
||||
import kotlinx.serialization.SerializationException
|
||||
import kotlin.collections.set
|
||||
|
||||
suspend fun blockUser(userId: String) {
|
||||
val response = RevoltHttp.put("/users/$userId/block") {
|
||||
headers.append(RevoltAPI.TOKEN_HEADER_NAME, RevoltAPI.sessionToken)
|
||||
}
|
||||
val response = RevoltHttp.put("/users/$userId/block")
|
||||
.bodyAsText()
|
||||
|
||||
try {
|
||||
|
|
@ -26,9 +26,7 @@ suspend fun blockUser(userId: String) {
|
|||
}
|
||||
|
||||
suspend fun unblockUser(userId: String) {
|
||||
val response = RevoltHttp.delete("/users/$userId/block") {
|
||||
headers.append(RevoltAPI.TOKEN_HEADER_NAME, RevoltAPI.sessionToken)
|
||||
}
|
||||
val response = RevoltHttp.delete("/users/$userId/block")
|
||||
.bodyAsText()
|
||||
|
||||
try {
|
||||
|
|
|
|||
|
|
@ -11,9 +11,7 @@ import io.ktor.client.statement.bodyAsText
|
|||
import kotlinx.serialization.SerializationException
|
||||
|
||||
suspend fun fetchSelf(): User {
|
||||
val response = RevoltHttp.get("/users/@me") {
|
||||
headers.append(RevoltAPI.TOKEN_HEADER_NAME, RevoltAPI.sessionToken)
|
||||
}
|
||||
val response = RevoltHttp.get("/users/@me")
|
||||
.bodyAsText()
|
||||
|
||||
try {
|
||||
|
|
@ -36,9 +34,7 @@ suspend fun fetchSelf(): User {
|
|||
}
|
||||
|
||||
suspend fun fetchUser(id: String): User {
|
||||
val res = RevoltHttp.get("/users/$id") {
|
||||
headers.append(RevoltAPI.TOKEN_HEADER_NAME, RevoltAPI.sessionToken)
|
||||
}
|
||||
val res = RevoltHttp.get("/users/$id")
|
||||
|
||||
if (res.status.value == 404) {
|
||||
return User.getPlaceholder(id)
|
||||
|
|
@ -73,9 +69,7 @@ suspend fun addUserIfUnknown(id: String) {
|
|||
}
|
||||
|
||||
suspend fun fetchUserProfile(id: String): Profile {
|
||||
val res = RevoltHttp.get("/users/$id/profile") {
|
||||
headers.append(RevoltAPI.TOKEN_HEADER_NAME, RevoltAPI.sessionToken)
|
||||
}
|
||||
val res = RevoltHttp.get("/users/$id/profile")
|
||||
|
||||
val response = res.bodyAsText()
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue