server_api_mock.rs 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. use crate::{
  2. entities::{
  3. app::{App, AppIdentifier, CreateAppParams, DeleteAppParams, RepeatedApp, UpdateAppParams},
  4. view::{CreateViewParams, DeleteViewParams, QueryViewParams, RepeatedView, UpdateViewParams, View},
  5. workspace::{
  6. CreateWorkspaceParams,
  7. DeleteWorkspaceParams,
  8. QueryWorkspaceParams,
  9. RepeatedWorkspace,
  10. UpdateWorkspaceParams,
  11. Workspace,
  12. },
  13. },
  14. errors::WorkspaceError,
  15. services::server::WorkspaceServerAPI,
  16. };
  17. use flowy_infra::{future::ResultFuture, timestamp, uuid};
  18. pub struct WorkspaceServerMock {}
  19. impl WorkspaceServerAPI for WorkspaceServerMock {
  20. fn create_workspace(&self, _token: &str, params: CreateWorkspaceParams) -> ResultFuture<Workspace, WorkspaceError> {
  21. let time = timestamp();
  22. let workspace = Workspace {
  23. id: uuid(),
  24. name: params.name,
  25. desc: params.desc,
  26. apps: RepeatedApp::default(),
  27. modified_time: time,
  28. create_time: time,
  29. };
  30. ResultFuture::new(async { Ok(workspace) })
  31. }
  32. fn read_workspace(
  33. &self,
  34. _token: &str,
  35. _params: QueryWorkspaceParams,
  36. ) -> ResultFuture<RepeatedWorkspace, WorkspaceError> {
  37. ResultFuture::new(async {
  38. let repeated_workspace = RepeatedWorkspace { items: vec![] };
  39. Ok(repeated_workspace)
  40. })
  41. }
  42. fn update_workspace(&self, _token: &str, _params: UpdateWorkspaceParams) -> ResultFuture<(), WorkspaceError> {
  43. ResultFuture::new(async { Ok(()) })
  44. }
  45. fn delete_workspace(&self, _token: &str, _params: DeleteWorkspaceParams) -> ResultFuture<(), WorkspaceError> {
  46. ResultFuture::new(async { Ok(()) })
  47. }
  48. fn create_view(&self, _token: &str, params: CreateViewParams) -> ResultFuture<View, WorkspaceError> {
  49. let time = timestamp();
  50. let view = View {
  51. id: uuid(),
  52. belong_to_id: params.belong_to_id,
  53. name: params.name,
  54. desc: params.desc,
  55. view_type: params.view_type,
  56. version: 0,
  57. belongings: RepeatedView::default(),
  58. modified_time: time,
  59. create_time: time,
  60. };
  61. ResultFuture::new(async { Ok(view) })
  62. }
  63. fn read_view(&self, _token: &str, _params: QueryViewParams) -> ResultFuture<Option<View>, WorkspaceError> {
  64. ResultFuture::new(async { Ok(None) })
  65. }
  66. fn delete_view(&self, _token: &str, _params: DeleteViewParams) -> ResultFuture<(), WorkspaceError> {
  67. ResultFuture::new(async { Ok(()) })
  68. }
  69. fn update_view(&self, _token: &str, _params: UpdateViewParams) -> ResultFuture<(), WorkspaceError> {
  70. ResultFuture::new(async { Ok(()) })
  71. }
  72. fn create_app(&self, _token: &str, params: CreateAppParams) -> ResultFuture<App, WorkspaceError> {
  73. let time = timestamp();
  74. let app = App {
  75. id: uuid(),
  76. workspace_id: params.workspace_id,
  77. name: params.name,
  78. desc: params.desc,
  79. belongings: RepeatedView::default(),
  80. version: 0,
  81. modified_time: time,
  82. create_time: time,
  83. };
  84. ResultFuture::new(async { Ok(app) })
  85. }
  86. fn read_app(&self, _token: &str, _params: AppIdentifier) -> ResultFuture<Option<App>, WorkspaceError> {
  87. ResultFuture::new(async { Ok(None) })
  88. }
  89. fn update_app(&self, _token: &str, _params: UpdateAppParams) -> ResultFuture<(), WorkspaceError> {
  90. ResultFuture::new(async { Ok(()) })
  91. }
  92. fn delete_app(&self, _token: &str, _params: DeleteAppParams) -> ResultFuture<(), WorkspaceError> {
  93. ResultFuture::new(async { Ok(()) })
  94. }
  95. }