- package Friends
-
- import (
- "encoding/json"
- "net/http"
- "net/url"
- "strconv"
- "time"
-
- "git.tovijaeschke.xyz/tovi/Envelope/Backend/Api/Auth"
- "git.tovijaeschke.xyz/tovi/Envelope/Backend/Database"
- )
-
- // FriendRequestList gets friend request list
- func FriendRequestList(w http.ResponseWriter, r *http.Request) {
- var (
- userSession Database.Session
- friends Database.FriendRequestList
- query url.Values
- acceptedAtString []string
- acceptedAt time.Time
- page int
- ok bool
- returnJSON []byte
- err error
- )
-
- query = r.URL.Query()
-
- page, err = strconv.Atoi(query.Get("page"))
- if err != nil {
- page = 0
- }
-
- acceptedAtString, ok = query["updated_at"]
- if ok {
- acceptedAt, err = time.Parse(time.RFC3339, acceptedAtString[0])
- if err != nil {
- http.Error(w, "Invalid Data", http.StatusBadGateway)
- return
- }
- }
-
- userSession, _ = Auth.CheckCookie(r)
-
- friends, err = Database.GetFriendRequestsByUserID(userSession.UserID.String(), page, acceptedAt)
- if err != nil {
- http.Error(w, "Error", http.StatusInternalServerError)
- return
- }
-
- returnJSON, err = json.MarshalIndent(friends, "", " ")
- if err != nil {
- http.Error(w, "Error", http.StatusInternalServerError)
- return
- }
-
- w.WriteHeader(http.StatusOK)
- w.Write(returnJSON)
- }
|