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) }