add messages persistancy, channels does not persist

This commit is contained in:
cos
2026-05-07 10:27:39 +02:00
parent bcefea3cf5
commit 916463234f
5 changed files with 128 additions and 0 deletions
+29
View File
@@ -578,6 +578,35 @@ func HubChannelMessageGet(ctx context.Context, message *types.Message) error {
`, message.Id).Scan(&message.Sender, &message.Receiver, &message.CreatedAt, &message.Content, &message.AttachedFile)
}
func HubChannelGetMessagesBefore(ctx context.Context, before time.Time, channelId uuid.UUID, cap uint32) ([]*types.Message, error) {
rows, err := dbConn.Query(ctx, `
SELECT id, sender_id, receiver_id, created_at, content, attached_file
FROM (
SELECT id, sender_id, receiver_id, created_at, content, attached_file
FROM hub_channel_messages
WHERE receiver_id = $1
AND created_at < $2
ORDER BY created_at DESC
LIMIT $3
) sub
ORDER BY created_at ASC
`, channelId, before, cap)
if err != nil {
return nil, err
}
defer rows.Close()
messages := make([]*types.Message, 0, cap)
for rows.Next() {
msg := &types.Message{}
if err = rows.Scan(&msg.Id, &msg.Sender, &msg.Receiver, &msg.CreatedAt, &msg.Content, &msg.AttachedFile); err != nil {
return nil, err
}
messages = append(messages, msg)
}
return messages, rows.Err()
}
func HubUpdate(ctx context.Context, hub *types.Hub, updateList *types.HubUpdate) error {
setClauses := make([]string, 0, 6)
args := make([]any, 0, 7)