Skip to content

Commit cfea2d7

Browse files
committed
[gateway] add order param for messages request
1 parent f9bfc0f commit cfea2d7

File tree

3 files changed

+23
-2
lines changed

3 files changed

+23
-2
lines changed

app/src/main/java/me/capcom/smsgateway/modules/gateway/GatewayApi.kt

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import io.ktor.client.plugins.contentnegotiation.ContentNegotiation
99
import io.ktor.client.request.HttpRequestBuilder
1010
import io.ktor.client.request.get
1111
import io.ktor.client.request.header
12+
import io.ktor.client.request.parameter
1213
import io.ktor.client.request.patch
1314
import io.ktor.client.request.post
1415
import io.ktor.client.request.setBody
@@ -83,8 +84,9 @@ class GatewayApi(
8384
}
8485
}
8586

86-
suspend fun getMessages(token: String): List<Message> {
87+
suspend fun getMessages(token: String, processingOrder: ProcessingOrder): List<Message> {
8788
return client.get("$baseUrl/message") {
89+
parameter("order", processingOrder)
8890
bearerAuth(token)
8991
}.body()
9092
}
@@ -218,4 +220,16 @@ class GatewayApi(
218220
val url: String,
219221
val event: WebHookEvent,
220222
)
223+
224+
enum class ProcessingOrder {
225+
@SerializedName("lifo")
226+
LIFO,
227+
228+
@SerializedName("fifo")
229+
FIFO;
230+
231+
override fun toString(): String {
232+
return this.name.lowercase()
233+
}
234+
}
221235
}

app/src/main/java/me/capcom/smsgateway/modules/gateway/GatewayService.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import me.capcom.smsgateway.modules.gateway.workers.WebhooksUpdateWorker
1717
import me.capcom.smsgateway.modules.logs.LogsService
1818
import me.capcom.smsgateway.modules.logs.db.LogEntry
1919
import me.capcom.smsgateway.modules.messages.MessagesService
20+
import me.capcom.smsgateway.modules.messages.MessagesSettings
2021
import me.capcom.smsgateway.modules.messages.data.SendParams
2122
import me.capcom.smsgateway.modules.messages.data.SendRequest
2223
import me.capcom.smsgateway.services.PushService
@@ -193,7 +194,11 @@ class GatewayService(
193194
internal suspend fun getNewMessages(context: Context) {
194195
if (!settings.enabled) return
195196
val settings = settings.registrationInfo ?: return
196-
val messages = api.getMessages(settings.token)
197+
val processingOrder = when (messagesService.processingOrder) {
198+
MessagesSettings.ProcessingOrder.LIFO -> GatewayApi.ProcessingOrder.LIFO
199+
MessagesSettings.ProcessingOrder.FIFO -> GatewayApi.ProcessingOrder.FIFO
200+
}
201+
val messages = api.getMessages(settings.token, processingOrder)
197202
for (message in messages) {
198203
try {
199204
processMessage(context, message)

app/src/main/java/me/capcom/smsgateway/modules/messages/MessagesService.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ class MessagesService(
5050
private val events: EventBus,
5151
private val logsService: LogsService,
5252
) {
53+
val processingOrder
54+
get() = settings.processingOrder
5355

5456
private val countryCode: String? =
5557
(context.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager).networkCountryIso

0 commit comments

Comments
 (0)