diff --git a/src/main/java/org/whispersystems/textsecuregcm/push/PushSender.java b/src/main/java/org/whispersystems/textsecuregcm/push/PushSender.java index f0054baf2..07e6b34bd 100644 --- a/src/main/java/org/whispersystems/textsecuregcm/push/PushSender.java +++ b/src/main/java/org/whispersystems/textsecuregcm/push/PushSender.java @@ -106,7 +106,7 @@ public class PushSender { 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); } } diff --git a/src/main/java/org/whispersystems/textsecuregcm/storage/StoredMessageManager.java b/src/main/java/org/whispersystems/textsecuregcm/storage/StoredMessageManager.java index d9d563bac..b400dd914 100644 --- a/src/main/java/org/whispersystems/textsecuregcm/storage/StoredMessageManager.java +++ b/src/main/java/org/whispersystems/textsecuregcm/storage/StoredMessageManager.java @@ -18,13 +18,20 @@ package org.whispersystems.textsecuregcm.storage; import org.whispersystems.textsecuregcm.entities.EncryptedOutgoingMessage; +import java.io.IOException; +import java.util.List; + public class StoredMessageManager { StoredMessages storedMessages; public StoredMessageManager(StoredMessages storedMessages) { this.storedMessages = storedMessages; } - public void storeMessage(Account account, EncryptedOutgoingMessage outgoingMessage) { - storedMessages.insert(account.getId(), outgoingMessage); + public void storeMessage(Account account, EncryptedOutgoingMessage outgoingMessage) throws IOException { + storedMessages.insert(account.getId(), outgoingMessage.serialize()); + } + + public List getStoredMessage(Account account) { + return storedMessages.getMessagesForAccountId(account.getId()); } } diff --git a/src/main/java/org/whispersystems/textsecuregcm/storage/StoredMessages.java b/src/main/java/org/whispersystems/textsecuregcm/storage/StoredMessages.java index 361771b63..91946644b 100644 --- a/src/main/java/org/whispersystems/textsecuregcm/storage/StoredMessages.java +++ b/src/main/java/org/whispersystems/textsecuregcm/storage/StoredMessages.java @@ -25,9 +25,9 @@ import java.util.List; public interface StoredMessages { - @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); + @SqlUpdate("INSERT INTO stored_messages (destination_id, encrypted_message) VALUES (:destination_id, :encrypted_message)") + void insert(@Bind("destination_id") long destinationAccountId, @Bind("encrypted_message") String encryptedOutgoingMessage); @SqlQuery("SELECT encrypted_message FROM stored_messages WHERE destination_id = :account_id") - List getMessagesForAccountId(@Bind("account_id") long accountId); + List getMessagesForAccountId(@Bind("account_id") long accountId); }