sort chirps
This commit is contained in:
16
main.go
16
main.go
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user