load more messages

This commit is contained in:
lowcarbdev
2026-04-30 23:43:28 -06:00
parent 250b9030ea
commit 3fef1925d6
3 changed files with 216 additions and 11 deletions
+21
View File
@@ -852,6 +852,27 @@ func GetActivityByAddress(userDB *sql.DB, address string, startDate, endDate *ti
return activities, nil
}
// CountActivityByAddress returns the total number of activity rows for a given address and date range
func CountActivityByAddress(userDB *sql.DB, address string, startDate, endDate *time.Time) (int, error) {
query := `SELECT COUNT(*) FROM messages WHERE 1=1`
args := []interface{}{}
if address != "" {
query += " AND address = ?"
args = append(args, address)
}
if startDate != nil {
query += " AND date >= ?"
args = append(args, startDate.Unix())
}
if endDate != nil {
query += " AND date <= ?"
args = append(args, endDate.Unix())
}
var count int
err := userDB.QueryRow(query, args...).Scan(&count)
return count, err
}
// GetMediaByAddress fetches only media items (images/videos) for a specific address
func GetMediaByAddress(userDB *sql.DB, address string, startDate, endDate *time.Time) ([]Message, error) {
query := `
+10 -1
View File
@@ -210,6 +210,12 @@ func HandleMessages(c echo.Context) error {
}
}
total, err := CountActivityByAddress(userDB, address, startDate, endDate)
if err != nil {
slog.Error("Error counting activity", "error", err)
total = 0
}
activities, err := GetActivityByAddress(userDB, address, startDate, endDate, limit, offset)
if err != nil {
slog.Error("Error getting activity", "error", err)
@@ -229,7 +235,10 @@ func HandleMessages(c echo.Context) error {
activities = filteredActivities
}
return c.JSON(http.StatusOK, activities)
return c.JSON(http.StatusOK, map[string]interface{}{
"items": activities,
"total": total,
})
}
messages, err := GetMessages(userDB, address, startDate, endDate)