summaryrefslogtreecommitdiff
path: root/adapters/messaging/db.go
diff options
context:
space:
mode:
Diffstat (limited to 'adapters/messaging/db.go')
-rw-r--r--adapters/messaging/db.go29
1 files changed, 29 insertions, 0 deletions
diff --git a/adapters/messaging/db.go b/adapters/messaging/db.go
new file mode 100644
index 0000000..4cad3e2
--- /dev/null
+++ b/adapters/messaging/db.go
@@ -0,0 +1,29 @@
+package messaging
+
+import (
+ "database/sql"
+ "log"
+ "time"
+
+ "git.simponic.xyz/simponic/phoneof/database"
+)
+
+func PersistMessageContinuation(dbConn *sql.DB, frenId string, messageId string, sentAt time.Time, frenSent bool) Continuation {
+ return func(message Message) ContinuationChain {
+ log.Printf("persisting message %v %s %s %s %v", message, frenId, messageId, sentAt, frenSent)
+ return func(success Continuation, failure Continuation) ContinuationChain {
+ _, err := database.SaveMessage(dbConn, &database.Message{
+ Id: messageId,
+ FrenId: frenId,
+ Message: message.Message,
+ Time: sentAt,
+ FrenSent: frenSent,
+ })
+ if err != nil {
+ log.Printf("err when saving message %s", err)
+ return failure(message)
+ }
+ return success(message)
+ }
+ }
+}