feat: support error for limit exceed (#4947)

This commit is contained in:
Zack
2024-03-21 13:38:48 +08:00
committed by GitHub
parent 96af517c65
commit 8c8be741b0
6 changed files with 53 additions and 35 deletions

View File

@ -1,7 +1,6 @@
use anyhow::Error;
use collab::core::collab::CollabDocState;
use collab_entity::{CollabObject, CollabType};
use flowy_error::{ErrorCode, FlowyError};
use flowy_error::{internal_error, ErrorCode, FlowyError};
use lib_infra::box_any::BoxAny;
use lib_infra::conditional_send_sync_trait;
use lib_infra::future::FutureResult;
@ -186,7 +185,7 @@ pub trait UserCloudService: Send + Sync + 'static {
&self,
user_email: String,
workspace_id: String,
) -> FutureResult<(), Error> {
) -> FutureResult<(), FlowyError> {
FutureResult::new(async { Ok(()) })
}
@ -194,7 +193,7 @@ pub trait UserCloudService: Send + Sync + 'static {
&self,
user_email: String,
workspace_id: String,
) -> FutureResult<(), Error> {
) -> FutureResult<(), FlowyError> {
FutureResult::new(async { Ok(()) })
}
@ -203,18 +202,18 @@ pub trait UserCloudService: Send + Sync + 'static {
user_email: String,
workspace_id: String,
role: Role,
) -> FutureResult<(), Error> {
) -> FutureResult<(), FlowyError> {
FutureResult::new(async { Ok(()) })
}
fn get_workspace_members(
&self,
workspace_id: String,
) -> FutureResult<Vec<WorkspaceMember>, Error> {
) -> FutureResult<Vec<WorkspaceMember>, FlowyError> {
FutureResult::new(async { Ok(vec![]) })
}
fn get_user_awareness_doc_state(&self, uid: i64) -> FutureResult<CollabDocState, Error>;
fn get_user_awareness_doc_state(&self, uid: i64) -> FutureResult<CollabDocState, FlowyError>;
fn receive_realtime_event(&self, _json: Value) {}
@ -222,7 +221,7 @@ pub trait UserCloudService: Send + Sync + 'static {
None
}
fn reset_workspace(&self, collab_object: CollabObject) -> FutureResult<(), Error>;
fn reset_workspace(&self, collab_object: CollabObject) -> FutureResult<(), FlowyError>;
fn create_collab_object(
&self,
@ -235,7 +234,7 @@ pub trait UserCloudService: Send + Sync + 'static {
&self,
workspace_id: &str,
objects: Vec<UserCollabParams>,
) -> FutureResult<(), Error>;
) -> FutureResult<(), FlowyError>;
}
pub type UserUpdateReceiver = tokio::sync::mpsc::Receiver<UserUpdate>;
@ -248,13 +247,12 @@ pub struct UserUpdate {
pub encryption_sign: String,
}
pub fn uuid_from_map(map: &HashMap<String, String>) -> Result<Uuid, Error> {
pub fn uuid_from_map(map: &HashMap<String, String>) -> Result<Uuid, FlowyError> {
let uuid = map
.get("uuid")
.ok_or_else(|| FlowyError::new(ErrorCode::MissingAuthField, "Missing uuid field"))?
.as_str();
let uuid = Uuid::from_str(uuid)?;
Ok(uuid)
Uuid::from_str(uuid).map_err(internal_error)
}
#[derive(Debug)]