user_request.rs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. use crate::{config::HEADER_TOKEN, errors::ServerError, request::HttpRequestBuilder};
  2. use flowy_user_infra::entities::prelude::*;
  3. pub(crate) fn request_builder() -> HttpRequestBuilder {
  4. HttpRequestBuilder::new().middleware(crate::middleware::BACKEND_API_MIDDLEWARE.clone())
  5. }
  6. pub async fn user_sign_up_request(params: SignUpParams, url: &str) -> Result<SignUpResponse, ServerError> {
  7. let response = request_builder()
  8. .post(&url.to_owned())
  9. .protobuf(params)?
  10. .response()
  11. .await?;
  12. Ok(response)
  13. }
  14. pub async fn user_sign_in_request(params: SignInParams, url: &str) -> Result<SignInResponse, ServerError> {
  15. let response = request_builder()
  16. .post(&url.to_owned())
  17. .protobuf(params)?
  18. .response()
  19. .await?;
  20. Ok(response)
  21. }
  22. pub async fn user_sign_out_request(token: &str, url: &str) -> Result<(), ServerError> {
  23. let _ = request_builder()
  24. .delete(&url.to_owned())
  25. .header(HEADER_TOKEN, token)
  26. .send()
  27. .await?;
  28. Ok(())
  29. }
  30. pub async fn get_user_profile_request(token: &str, url: &str) -> Result<UserProfile, ServerError> {
  31. let user_profile = request_builder()
  32. .get(&url.to_owned())
  33. .header(HEADER_TOKEN, token)
  34. .response()
  35. .await?;
  36. Ok(user_profile)
  37. }
  38. pub async fn update_user_profile_request(token: &str, params: UpdateUserParams, url: &str) -> Result<(), ServerError> {
  39. let _ = request_builder()
  40. .patch(&url.to_owned())
  41. .header(HEADER_TOKEN, token)
  42. .protobuf(params)?
  43. .send()
  44. .await?;
  45. Ok(())
  46. }