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.

47 lines
981 B

  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. )
  10. // FriendRequestList gets friend request list
  11. func FriendRequestList(w http.ResponseWriter, r *http.Request) {
  12. var (
  13. userSession Database.Session
  14. friends Database.FriendRequestList
  15. values url.Values
  16. returnJSON []byte
  17. page int
  18. err error
  19. )
  20. values = r.URL.Query()
  21. page, err = strconv.Atoi(values.Get("page"))
  22. if err != nil {
  23. page = 0
  24. }
  25. userSession, _ = Auth.CheckCookie(r)
  26. friends, err = Database.GetFriendRequestsByUserID(userSession.UserID.String(), page)
  27. if err != nil {
  28. http.Error(w, "Error", http.StatusInternalServerError)
  29. return
  30. }
  31. returnJSON, err = json.MarshalIndent(friends, "", " ")
  32. if err != nil {
  33. http.Error(w, "Error", http.StatusInternalServerError)
  34. return
  35. }
  36. w.WriteHeader(http.StatusOK)
  37. w.Write(returnJSON)
  38. }