Skip to content

Commit

Permalink
[receiver] provide message hash as id for received messages
Browse files Browse the repository at this point in the history
  • Loading branch information
capcom6 committed Jan 2, 2025
1 parent bb0fc53 commit 33ea82b
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 23 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ class MessagesReceiver : BroadcastReceiver(), KoinComponent {
receiverSvc.process(
context,
InboxMessage(
id = null,
address = firstMessage.displayOriginatingAddress,
body = text,
date = Date(firstMessage.timestampMillis),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ import me.capcom.smsgateway.helpers.SubscriptionsHelper
import me.capcom.smsgateway.modules.logs.LogsService
import me.capcom.smsgateway.modules.logs.db.LogEntry
import me.capcom.smsgateway.modules.receiver.data.InboxMessage
import me.capcom.smsgateway.modules.receiver.events.MessageReceivedEvent
import me.capcom.smsgateway.modules.webhooks.WebHooksService
import me.capcom.smsgateway.modules.webhooks.domain.WebHookEvent
import me.capcom.smsgateway.modules.webhooks.payload.SmsEventPayload
import org.koin.core.component.KoinComponent
import org.koin.core.component.inject
import java.util.Date
Expand Down Expand Up @@ -47,7 +47,8 @@ class ReceiverService : KoinComponent {
mapOf("message" to message)
)

val event = MessageReceivedEvent(
val event = SmsEventPayload.SmsReceived(
messageId = message.hashCode().toUInt().toString(16),
message = message.body,
phoneNumber = message.address,
simNumber = message.subscriptionId?.let {
Expand Down Expand Up @@ -109,7 +110,6 @@ class ReceiverService : KoinComponent {
while (cursor.moveToNext()) {
messages.add(
InboxMessage(
id = cursor.getLong(0),
address = cursor.getString(1),
date = Date(cursor.getLong(2)),
body = cursor.getString(3),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,27 @@ package me.capcom.smsgateway.modules.receiver.data
import java.util.Date

data class InboxMessage(
val id: Long?,
val address: String,
val body: String,
val date: Date,
val subscriptionId: Int?
)
) {
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (other !is InboxMessage) return false

if (address != other.address) return false
if (body != other.body) return false
if (date != other.date) return false
if (subscriptionId != other.subscriptionId) return false
return true
}

override fun hashCode(): Int {
var result = address.hashCode()
result = 31 * result + body.hashCode()
result = 31 * result + date.hashCode()
result = 31 * result + (subscriptionId ?: 0)
return result
}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,12 @@ sealed class SmsEventPayload(
val failedAt: Date,
val reason: String,
) : SmsEventPayload(messageId, phoneNumber, simNumber)

class SmsReceived(
messageId: String,
phoneNumber: String,
simNumber: Int?,
val message: String,
val receivedAt: Date,
) : SmsEventPayload(messageId, phoneNumber, simNumber)
}

0 comments on commit 33ea82b

Please sign in to comment.