server_api_mock.rs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. use crate::{
  2. entities::{SignInParams, SignInResponse, SignUpParams, SignUpResponse, UpdateUserParams, UserDetail},
  3. errors::{ErrorBuilder, ErrorCode, UserError},
  4. };
  5. use crate::services::server::UserServerAPI;
  6. use flowy_infra::{future::ResultFuture, uuid};
  7. pub struct UserServerMock {}
  8. impl UserServerMock {}
  9. impl UserServerAPI for UserServerMock {
  10. fn sign_up(&self, params: SignUpParams) -> ResultFuture<SignUpResponse, UserError> {
  11. let uid = uuid();
  12. ResultFuture::new(async move {
  13. Ok(SignUpResponse {
  14. user_id: uid.clone(),
  15. name: params.name,
  16. email: params.email,
  17. token: uid,
  18. })
  19. })
  20. }
  21. fn sign_in(&self, params: SignInParams) -> ResultFuture<SignInResponse, UserError> {
  22. let user_id = uuid();
  23. ResultFuture::new(async {
  24. Ok(SignInResponse {
  25. uid: user_id.clone(),
  26. name: "fake name".to_owned(),
  27. email: params.email,
  28. token: user_id,
  29. })
  30. })
  31. }
  32. fn sign_out(&self, _token: &str) -> ResultFuture<(), UserError> { ResultFuture::new(async { Ok(()) }) }
  33. fn update_user(&self, _token: &str, _params: UpdateUserParams) -> ResultFuture<(), UserError> { ResultFuture::new(async { Ok(()) }) }
  34. fn get_user_detail(&self, _token: &str) -> ResultFuture<UserDetail, UserError> {
  35. ResultFuture::new(async { Err(ErrorBuilder::new(ErrorCode::Unknown).msg("mock data, ignore this error").build()) })
  36. }
  37. }