Fix StoredMessages calls (now all api calls have at least been tested on a running server...)

This commit is contained in:
Matt Corallo 2014-01-08 15:28:39 -10:00
parent 648812a267
commit f9d7c1de57
3 changed files with 13 additions and 6 deletions

View File

@ -106,7 +106,7 @@ public class PushSender {
apnSender.sendMessage(account.getApnRegistrationId(), outgoingMessage); apnSender.sendMessage(account.getApnRegistrationId(), outgoingMessage);
} }
private void storeFetchedMessage(Account account, EncryptedOutgoingMessage outgoingMessage) { private void storeFetchedMessage(Account account, EncryptedOutgoingMessage outgoingMessage) throws IOException {
storedMessageManager.storeMessage(account, outgoingMessage); storedMessageManager.storeMessage(account, outgoingMessage);
} }
} }

View File

@ -18,13 +18,20 @@ package org.whispersystems.textsecuregcm.storage;
import org.whispersystems.textsecuregcm.entities.EncryptedOutgoingMessage; import org.whispersystems.textsecuregcm.entities.EncryptedOutgoingMessage;
import java.io.IOException;
import java.util.List;
public class StoredMessageManager { public class StoredMessageManager {
StoredMessages storedMessages; StoredMessages storedMessages;
public StoredMessageManager(StoredMessages storedMessages) { public StoredMessageManager(StoredMessages storedMessages) {
this.storedMessages = storedMessages; this.storedMessages = storedMessages;
} }
public void storeMessage(Account account, EncryptedOutgoingMessage outgoingMessage) { public void storeMessage(Account account, EncryptedOutgoingMessage outgoingMessage) throws IOException {
storedMessages.insert(account.getId(), outgoingMessage); storedMessages.insert(account.getId(), outgoingMessage.serialize());
}
public List<String> getStoredMessage(Account account) {
return storedMessages.getMessagesForAccountId(account.getId());
} }
} }

View File

@ -25,9 +25,9 @@ import java.util.List;
public interface StoredMessages { public interface StoredMessages {
@SqlUpdate("INSERT INTO stored_messages (destination_id, encrypted_message) VALUES :destination_id, :encrypted_message") @SqlUpdate("INSERT INTO stored_messages (destination_id, encrypted_message) VALUES (:destination_id, :encrypted_message)")
void insert(@Bind("destination_id") long destinationAccountId, @Bind("encrypted_message") EncryptedOutgoingMessage encryptedOutgoingMessage); void insert(@Bind("destination_id") long destinationAccountId, @Bind("encrypted_message") String encryptedOutgoingMessage);
@SqlQuery("SELECT encrypted_message FROM stored_messages WHERE destination_id = :account_id") @SqlQuery("SELECT encrypted_message FROM stored_messages WHERE destination_id = :account_id")
List<EncryptedOutgoingMessage> getMessagesForAccountId(@Bind("account_id") long accountId); List<String> getMessagesForAccountId(@Bind("account_id") long accountId);
} }