Files
website/storage/messages.go

39 lines
773 B
Go

package storage
import (
"database/sql"
"synlotto-website/models"
)
func GetMessageCount(db *sql.DB, userID int) (int, error) {
var count int
err := db.QueryRow(`
SELECT COUNT(*) FROM users_messages
WHERE user_id = ? AND is_read = FALSE
`, userID).Scan(&count)
return count, err
}
func GetRecentMessages(db *sql.DB, userID int, limit int) []models.Message {
rows, err := db.Query(`
SELECT id, title, message, is_read
FROM users_messages
WHERE user_id = ?
ORDER BY created_at DESC
LIMIT ?
`, userID, limit)
if err != nil {
return nil
}
defer rows.Close()
var messages []models.Message
for rows.Next() {
var m models.Message
rows.Scan(&m.ID, &m.Subject, &m.Message, &m.IsRead)
messages = append(messages, m)
}
return messages
}