Encrypted messaging app
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.0 KiB

  1. package Friends
  2. import (
  3. "encoding/json"
  4. "net/http"
  5. "net/url"
  6. "strconv"
  7. "git.tovijaeschke.xyz/tovi/Envelope/Backend/Api/Auth"
  8. "git.tovijaeschke.xyz/tovi/Envelope/Backend/Database"
  9. "git.tovijaeschke.xyz/tovi/Envelope/Backend/Models"
  10. )
  11. // FriendRequestList gets friend request list
  12. func FriendRequestList(w http.ResponseWriter, r *http.Request) {
  13. var (
  14. userSession Models.Session
  15. friends []Models.FriendRequest
  16. values url.Values
  17. returnJSON []byte
  18. page int
  19. err error
  20. )
  21. values = r.URL.Query()
  22. page, err = strconv.Atoi(values.Get("page"))
  23. if err != nil {
  24. page = 0
  25. }
  26. userSession, _ = Auth.CheckCookie(r)
  27. friends, err = Database.GetFriendRequestsByUserID(userSession.UserID.String(), page)
  28. if err != nil {
  29. http.Error(w, "Error", http.StatusInternalServerError)
  30. return
  31. }
  32. returnJSON, err = json.MarshalIndent(friends, "", " ")
  33. if err != nil {
  34. http.Error(w, "Error", http.StatusInternalServerError)
  35. return
  36. }
  37. w.WriteHeader(http.StatusOK)
  38. w.Write(returnJSON)
  39. }