sort chirps

This commit is contained in:
2025-03-13 23:01:18 +02:00
parent 66be0a2b40
commit 0e5c409621

16
main.go
View File

@@ -16,6 +16,7 @@ import (
"net/http" "net/http"
"os" "os"
"regexp" "regexp"
"slices"
"sync/atomic" "sync/atomic"
"time" "time"
) )
@@ -84,6 +85,9 @@ func getAllChirpsHandler(cfg *apiConfig) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) { return func(w http.ResponseWriter, r *http.Request) {
q := r.URL.Query().Get("author_id") q := r.URL.Query().Get("author_id")
sort := r.URL.Query().Get("sort")
fmt.Println(sort)
var chirps []database.Chirp var chirps []database.Chirp
var err error var err error
@@ -119,6 +123,18 @@ func getAllChirpsHandler(cfg *apiConfig) http.HandlerFunc {
}) })
} }
if sort == "desc" {
slices.SortFunc(data, func(a, b dataMaps.Chirp) int {
if b.CreatedAt.After(a.CreatedAt) {
return 1
}
if b.CreatedAt.Before(a.CreatedAt) {
return -1
}
return 0
})
}
jsonData, err := json.Marshal(data) jsonData, err := json.Marshal(data)
if err != nil { if err != nil {
httpResponse.SomethingWentWrong(w) httpResponse.SomethingWentWrong(w)