summaryrefslogtreecommitdiff
path: root/internal/server/api/api.go
diff options
context:
space:
mode:
authorKyren223 <Kyren223@proton.me>2024-11-02 20:12:18 +0200
committerKyren223 <Kyren223@proton.me>2024-11-02 20:12:18 +0200
commita637ea9c335c385985a23510a4174d837fb51faf (patch)
tree211dac907d4cfcf67d4d994fd6dae7928d90e240 /internal/server/api/api.go
parent996840205417820e3928b724b20bfed152048fda (diff)
feat: client can now send messages and the server saves thme in DB
Diffstat (limited to 'internal/server/api/api.go')
-rw-r--r--internal/server/api/api.go9
1 files changed, 8 insertions, 1 deletions
diff --git a/internal/server/api/api.go b/internal/server/api/api.go
index 8f9e6c6..3d4d274 100644
--- a/internal/server/api/api.go
+++ b/internal/server/api/api.go
@@ -15,7 +15,7 @@ func SendMessage(ctx context.Context, request *packet.SendMessage) packet.Payloa
sess, ok := session.FromContext(ctx)
assert.Assert(ok, "context in process packet should always have a session")
- if (request.ReceiverID != nil) != (request.FrequencyID != nil) {
+ if (request.ReceiverID != nil) == (request.FrequencyID != nil) {
return &packet.ErrorMessage{Error: "either receiver id or frequency id must exist"}
}
@@ -43,4 +43,11 @@ func SendMessage(ctx context.Context, request *packet.SendMessage) packet.Payloa
}
func GetMessages(ctx context.Context, request *packet.GetMessagesRange) packet.Payload {
+ queries := data.New(db)
+ messages, err := queries.ListMessages(ctx)
+ if err != nil {
+ log.Println("database error when retrieving messages:", err)
+ return &packet.ErrorMessage{Error: "internal server error"}
+ }
+ return &packet.Messages{Messages: messages}
}