Start new style messsage api and convert report spam to WebSocket.

This commit is contained in:
Cody Henthorne
2025-03-12 12:52:04 -04:00
committed by Greyson Parrelli
parent f61109391a
commit d2006853c7
11 changed files with 75 additions and 24 deletions

View File

@@ -171,10 +171,6 @@ public class SignalServiceAccountManager {
this.pushServiceSocket.pingStorageService();
}
public void reportSpam(ServiceId serviceId, String serverGuid, String reportingToken) throws IOException {
this.pushServiceSocket.reportSpam(serviceId, serverGuid, reportingToken);
}
/**
* @return The avatar URL path, if one was written.
*/

View File

@@ -0,0 +1,32 @@
/*
* Copyright 2025 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.whispersystems.signalservice.api.message
import org.whispersystems.signalservice.api.NetworkResult
import org.whispersystems.signalservice.api.push.ServiceId
import org.whispersystems.signalservice.api.websocket.SignalWebSocket
import org.whispersystems.signalservice.internal.post
import org.whispersystems.signalservice.internal.websocket.WebSocketRequestMessage
/**
* Collection of endpoints for operating on messages.
*/
class MessageApi(
private val authWebSocket: SignalWebSocket.AuthenticatedWebSocket,
private val unauthWebSocket: SignalWebSocket.UnauthenticatedWebSocket
) {
/**
* Report a message sender and message id as spam.
*
* POST /v1/messages/report/[serviceId]/[serverGuid]
* - 200: Success
*/
fun reportSpam(serviceId: ServiceId, serverGuid: String, reportingToken: String?): NetworkResult<Unit> {
val request = WebSocketRequestMessage.post("/v1/messages/report/$serviceId/$serverGuid", SpamTokenMessage(reportingToken))
return NetworkResult.fromWebSocketRequest(authWebSocket, request)
}
}

View File

@@ -0,0 +1,10 @@
/*
* Copyright 2025 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.whispersystems.signalservice.api.message
import com.fasterxml.jackson.annotation.JsonProperty
data class SpamTokenMessage(@JsonProperty val token: String?)

View File

@@ -253,8 +253,6 @@ public class PushServiceSocket {
private static final String SVR2_AUTH = "/v2/backup/auth";
private static final String SVR3_AUTH = "/v3/backup/auth";
private static final String REPORT_SPAM = "/v1/messages/report/%s/%s";
private static final String BACKUP_AUTH_CHECK_V2 = "/v2/backup/auth/check";
private static final String BACKUP_AUTH_CHECK_V3 = "/v3/backup/auth/check";
@@ -2521,12 +2519,6 @@ public class PushServiceSocket {
}
}
public void reportSpam(ServiceId serviceId, String serverGuid, String reportingToken)
throws NonSuccessfulResponseCodeException, MalformedResponseException, PushNetworkException
{
makeServiceRequest(String.format(REPORT_SPAM, serviceId.toString(), serverGuid), "POST", JsonUtil.toJson(new SpamTokenMessage(reportingToken)));
}
/**
* Handler for Google Play Billing purchase token linking
*/

View File

@@ -1,5 +0,0 @@
package org.whispersystems.signalservice.internal.push
import com.fasterxml.jackson.annotation.JsonProperty
data class SpamTokenMessage(@JsonProperty val token: String?)