From 2ee786f3512a8d631ac084596fd1716dd5a147c0 Mon Sep 17 00:00:00 2001 From: Nathan Date: Sun, 20 Apr 2025 19:29:56 +0800 Subject: [PATCH] chore: update logs --- .../folder_deps/folder_deps_chat_impl.rs | 8 +-- .../folder_deps/folder_deps_database_impl.rs | 4 +- .../flowy-core/src/user_state_callback.rs | 56 ++++++++++--------- .../flowy-server/src/af_cloud/impls/chat.rs | 4 +- .../af_cloud/impls/user/cloud_service_impl.rs | 31 ++-------- .../src/local_server/impls/chat.rs | 6 +- .../src/local_server/impls/user.rs | 2 +- .../flowy-server/src/local_server/util.rs | 6 +- frontend/rust-lib/flowy-user-pub/src/cloud.rs | 12 +--- .../user_manager/manager_user_workspace.rs | 4 +- 10 files changed, 55 insertions(+), 78 deletions(-) diff --git a/frontend/rust-lib/flowy-core/src/deps_resolve/folder_deps/folder_deps_chat_impl.rs b/frontend/rust-lib/flowy-core/src/deps_resolve/folder_deps/folder_deps_chat_impl.rs index fc7a861cb8..e2791827ee 100644 --- a/frontend/rust-lib/flowy-core/src/deps_resolve/folder_deps/folder_deps_chat_impl.rs +++ b/frontend/rust-lib/flowy-core/src/deps_resolve/folder_deps/folder_deps_chat_impl.rs @@ -31,7 +31,7 @@ impl FolderOperationHandler for ChatFolderOperation { } async fn duplicate_view(&self, _view_id: &Uuid) -> Result { - Err(FlowyError::not_support()) + Err(FlowyError::not_support().with_context("Duplicate view")) } async fn create_view_with_view_data( @@ -39,7 +39,7 @@ impl FolderOperationHandler for ChatFolderOperation { _user_id: i64, _params: CreateViewParams, ) -> Result, FlowyError> { - Err(FlowyError::not_support()) + Err(FlowyError::not_support().with_context("Can't create view")) } async fn create_default_view( @@ -65,7 +65,7 @@ impl FolderOperationHandler for ChatFolderOperation { _import_type: ImportType, _bytes: Vec, ) -> Result, FlowyError> { - Err(FlowyError::not_support()) + Err(FlowyError::not_support().with_context("import from data")) } async fn import_from_file_path( @@ -74,6 +74,6 @@ impl FolderOperationHandler for ChatFolderOperation { _name: &str, _path: String, ) -> Result<(), FlowyError> { - Err(FlowyError::not_support()) + Err(FlowyError::not_support().with_context("import file from path")) } } diff --git a/frontend/rust-lib/flowy-core/src/deps_resolve/folder_deps/folder_deps_database_impl.rs b/frontend/rust-lib/flowy-core/src/deps_resolve/folder_deps/folder_deps_database_impl.rs index d98e32f67d..edc40c6d5b 100644 --- a/frontend/rust-lib/flowy-core/src/deps_resolve/folder_deps/folder_deps_database_impl.rs +++ b/frontend/rust-lib/flowy-core/src/deps_resolve/folder_deps/folder_deps_database_impl.rs @@ -198,7 +198,9 @@ impl FolderOperationHandler for DatabaseFolderOperation { ViewLayoutPB::Calendar => DatabaseLayoutPB::Calendar, ViewLayoutPB::Grid => DatabaseLayoutPB::Grid, ViewLayoutPB::Document | ViewLayoutPB::Chat => { - return Err(FlowyError::not_support()); + return Err( + FlowyError::invalid_data().with_context("Can't handle document layout type"), + ); }, }; let name = params.name.to_string(); diff --git a/frontend/rust-lib/flowy-core/src/user_state_callback.rs b/frontend/rust-lib/flowy-core/src/user_state_callback.rs index 8db4e3f926..3be1bf15ed 100644 --- a/frontend/rust-lib/flowy-core/src/user_state_callback.rs +++ b/frontend/rust-lib/flowy-core/src/user_state_callback.rs @@ -53,35 +53,17 @@ impl UserStatusCallbackImpl { workspace_id: &Uuid, auth_type: &AuthType, ) -> FlowyResult { - let is_exist = self.is_object_exist_on_disk(user_id, workspace_id, workspace_id)?; - if is_exist { - Ok(FolderInitDataSource::LocalDisk { + if self.is_object_exist_on_disk(user_id, workspace_id, workspace_id)? { + return Ok(FolderInitDataSource::LocalDisk { create_if_not_exist: false, - }) - } else { - let data_source = match self - .folder_manager - .cloud_service - .get_folder_doc_state(workspace_id, user_id, CollabType::Folder, workspace_id) - .await - { - Ok(doc_state) => match auth_type { - AuthType::Local => FolderInitDataSource::LocalDisk { - create_if_not_exist: true, - }, - AuthType::AppFlowyCloud => FolderInitDataSource::Cloud(doc_state), - }, - Err(err) => match auth_type { - AuthType::Local => FolderInitDataSource::LocalDisk { - create_if_not_exist: true, - }, - AuthType::AppFlowyCloud => { - return Err(err); - }, - }, - }; - Ok(data_source) + }); } + let doc_state_result = self + .folder_manager + .cloud_service + .get_folder_doc_state(workspace_id, user_id, CollabType::Folder, workspace_id) + .await; + resolve_data_source(auth_type, doc_state_result) } fn is_object_exist_on_disk( @@ -296,3 +278,23 @@ impl UserStatusCallback for UserStatusCallbackImpl { } } } + +fn resolve_data_source( + auth_type: &AuthType, + doc_state_result: Result, FlowyError>, +) -> FlowyResult { + match doc_state_result { + Ok(doc_state) => Ok(match auth_type { + AuthType::Local => FolderInitDataSource::LocalDisk { + create_if_not_exist: true, + }, + AuthType::AppFlowyCloud => FolderInitDataSource::Cloud(doc_state), + }), + Err(err) => match auth_type { + AuthType::Local => Ok(FolderInitDataSource::LocalDisk { + create_if_not_exist: true, + }), + AuthType::AppFlowyCloud => Err(err), + }, + } +} diff --git a/frontend/rust-lib/flowy-server/src/af_cloud/impls/chat.rs b/frontend/rust-lib/flowy-server/src/af_cloud/impls/chat.rs index 14a26078f5..6086f7084b 100644 --- a/frontend/rust-lib/flowy-server/src/af_cloud/impls/chat.rs +++ b/frontend/rust-lib/flowy-server/src/af_cloud/impls/chat.rs @@ -217,10 +217,10 @@ where chat_id: &Uuid, metadata: Option>, ) -> Result<(), FlowyError> { - return Err( + Err( FlowyError::not_support() .with_context("indexing file with appflowy cloud is not suppotred yet"), - ); + ) } async fn get_chat_settings( diff --git a/frontend/rust-lib/flowy-server/src/af_cloud/impls/user/cloud_service_impl.rs b/frontend/rust-lib/flowy-server/src/af_cloud/impls/user/cloud_service_impl.rs index e0f81a62e4..d6260d9e09 100644 --- a/frontend/rust-lib/flowy-server/src/af_cloud/impls/user/cloud_service_impl.rs +++ b/frontend/rust-lib/flowy-server/src/af_cloud/impls/user/cloud_service_impl.rs @@ -13,8 +13,8 @@ use client_api::entity::workspace_dto::{ WorkspaceMemberInvitation, }; use client_api::entity::{ - AFRole, AFWorkspace, AFWorkspaceInvitation, AFWorkspaceSettings, AFWorkspaceSettingsChange, - AuthProvider, CollabParams, CreateCollabParams, GotrueTokenResponse, QueryWorkspaceMember, + AFWorkspace, AFWorkspaceInvitation, AFWorkspaceSettings, AFWorkspaceSettingsChange, AuthProvider, + CollabParams, CreateCollabParams, GotrueTokenResponse, QueryWorkspaceMember, }; use client_api::entity::{QueryCollab, QueryCollabParams}; use client_api::{Client, ClientConfiguration}; @@ -341,18 +341,6 @@ where Ok(members) } - async fn get_workspace_member( - &self, - workspace_id: Uuid, - uid: i64, - ) -> Result { - let try_get_client = self.server.try_get_client(); - let client = try_get_client?; - let query = QueryWorkspaceMember { workspace_id, uid }; - let member = client.get_workspace_member(query).await?; - Ok(from_af_workspace_member(member)) - } - #[instrument(level = "debug", skip_all)] async fn get_user_awareness_doc_state( &self, @@ -452,7 +440,7 @@ where Ok(payment_link) } - async fn get_workspace_member_info( + async fn get_workspace_member( &self, workspace_id: &Uuid, uid: i64, @@ -464,17 +452,8 @@ where uid, }; let member = client.get_workspace_member(params).await?; - let role = match member.role { - AFRole::Owner => Role::Owner, - AFRole::Member => Role::Member, - AFRole::Guest => Role::Guest, - }; - Ok(WorkspaceMember { - email: member.email, - role, - name: member.name, - avatar_url: member.avatar_url, - }) + + Ok(from_af_workspace_member(member)) } async fn get_workspace_subscriptions( diff --git a/frontend/rust-lib/flowy-server/src/local_server/impls/chat.rs b/frontend/rust-lib/flowy-server/src/local_server/impls/chat.rs index 3af87eb18e..845b6dec1c 100644 --- a/frontend/rust-lib/flowy-server/src/local_server/impls/chat.rs +++ b/frontend/rust-lib/flowy-server/src/local_server/impls/chat.rs @@ -8,7 +8,7 @@ use flowy_ai_pub::cloud::chat_dto::{ChatAuthor, ChatAuthorType}; use flowy_ai_pub::cloud::{ AIModel, AppErrorCode, AppResponseError, ChatCloudService, ChatMessage, ChatMessageType, ChatSettings, CompleteTextParams, MessageCursor, ModelList, RelatedQuestion, RepeatedChatMessage, - ResponseFormat, StreamAnswer, StreamComplete, UpdateChatParams, + ResponseFormat, StreamAnswer, StreamComplete, UpdateChatParams, DEFAULT_AI_MODEL_NAME, }; use flowy_ai_pub::persistence::{ deserialize_chat_metadata, deserialize_rag_ids, read_chat, @@ -313,11 +313,11 @@ impl ChatCloudService for LocalChatServiceImpl { } async fn get_available_models(&self, _workspace_id: &Uuid) -> Result { - Err(FlowyError::not_support().with_context("Chat is not supported in local server.")) + Ok(ModelList { models: vec![] }) } async fn get_workspace_default_model(&self, _workspace_id: &Uuid) -> Result { - Err(FlowyError::not_support().with_context("Chat is not supported in local server.")) + Ok(DEFAULT_AI_MODEL_NAME.to_string()) } } diff --git a/frontend/rust-lib/flowy-server/src/local_server/impls/user.rs b/frontend/rust-lib/flowy-server/src/local_server/impls/user.rs index bd6e930584..0023defb41 100644 --- a/frontend/rust-lib/flowy-server/src/local_server/impls/user.rs +++ b/frontend/rust-lib/flowy-server/src/local_server/impls/user.rs @@ -209,7 +209,7 @@ impl UserCloudService for LocalServerUserServiceImpl { Ok(()) } - async fn get_workspace_member_info( + async fn get_workspace_member( &self, workspace_id: &Uuid, uid: i64, diff --git a/frontend/rust-lib/flowy-server/src/local_server/util.rs b/frontend/rust-lib/flowy-server/src/local_server/util.rs index bd00212afb..378ccee6a2 100644 --- a/frontend/rust-lib/flowy-server/src/local_server/util.rs +++ b/frontend/rust-lib/flowy-server/src/local_server/util.rs @@ -32,9 +32,11 @@ pub async fn default_encode_collab_for_collab_type( // Ok::<_, FlowyError>(()) // })?; // Ok(data) - Err(FlowyError::not_support()) + Err(FlowyError::not_support().with_context("Can not create default folder")) + }, + CollabType::DatabaseRow => { + Err(FlowyError::not_support().with_context("Can not create default database row")) }, - CollabType::DatabaseRow => Err(FlowyError::not_support()), CollabType::UserAwareness => Ok(default_user_awareness_data(object_id)), CollabType::Unknown => { let collab = Collab::new_with_origin(CollabOrigin::Empty, object_id, vec![], false); diff --git a/frontend/rust-lib/flowy-user-pub/src/cloud.rs b/frontend/rust-lib/flowy-user-pub/src/cloud.rs index b15299b194..e58c626532 100644 --- a/frontend/rust-lib/flowy-user-pub/src/cloud.rs +++ b/frontend/rust-lib/flowy-user-pub/src/cloud.rs @@ -132,7 +132,7 @@ pub trait UserCloudService: Send + Sync + 'static { /// Delete an account and all the data associated with the account async fn delete_account(&self) -> Result<(), FlowyError> { - Err(FlowyError::not_support()) + Ok(()) } /// Generate a sign in url for the user with the given email @@ -234,14 +234,6 @@ pub trait UserCloudService: Send + Sync + 'static { Ok(vec![]) } - async fn get_workspace_member( - &self, - workspace_id: Uuid, - uid: i64, - ) -> Result { - Err(FlowyError::not_support()) - } - async fn get_user_awareness_doc_state( &self, uid: i64, @@ -281,7 +273,7 @@ pub trait UserCloudService: Send + Sync + 'static { Err(FlowyError::not_support()) } - async fn get_workspace_member_info( + async fn get_workspace_member( &self, workspace_id: &Uuid, uid: i64, diff --git a/frontend/rust-lib/flowy-user/src/user_manager/manager_user_workspace.rs b/frontend/rust-lib/flowy-user/src/user_manager/manager_user_workspace.rs index 34d0ece483..f74cf45ef7 100644 --- a/frontend/rust-lib/flowy-user/src/user_manager/manager_user_workspace.rs +++ b/frontend/rust-lib/flowy-user/src/user_manager/manager_user_workspace.rs @@ -377,7 +377,7 @@ impl UserManager { let member = self .cloud_service .get_user_service()? - .get_workspace_member(workspace_id, uid) + .get_workspace_member(&workspace_id, uid) .await?; Ok(member) } @@ -655,7 +655,7 @@ impl UserManager { let member = self .cloud_service .get_user_service()? - .get_workspace_member_info(workspace_id, uid) + .get_workspace_member(workspace_id, uid) .await?; let record = WorkspaceMemberTable {