sort chirps
This commit is contained in:
16
main.go
16
main.go
@@ -16,6 +16,7 @@ import (
|
||||
"net/http"
|
||||
"os"
|
||||
"regexp"
|
||||
"slices"
|
||||
"sync/atomic"
|
||||
"time"
|
||||
)
|
||||
@@ -84,6 +85,9 @@ func getAllChirpsHandler(cfg *apiConfig) http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
q := r.URL.Query().Get("author_id")
|
||||
sort := r.URL.Query().Get("sort")
|
||||
|
||||
fmt.Println(sort)
|
||||
|
||||
var chirps []database.Chirp
|
||||
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)
|
||||
if err != nil {
|
||||
httpResponse.SomethingWentWrong(w)
|
||||
|
||||
Reference in New Issue
Block a user