2023-09-17 17:14:34 +08:00
|
|
|
use crate::{ErrorCode, FlowyError};
|
2024-12-19 14:13:53 +08:00
|
|
|
use client_api::error::{AppResponseError, ErrorCode as AppErrorCode};
|
2023-09-17 17:14:34 +08:00
|
|
|
|
2023-11-05 14:00:24 +08:00
|
|
|
impl From<AppResponseError> for FlowyError {
|
|
|
|
fn from(error: AppResponseError) -> Self {
|
2023-09-17 17:14:34 +08:00
|
|
|
let code = match error.code {
|
2023-11-05 14:00:24 +08:00
|
|
|
AppErrorCode::Ok => ErrorCode::Internal,
|
|
|
|
AppErrorCode::Unhandled => ErrorCode::Internal,
|
|
|
|
AppErrorCode::RecordNotFound => ErrorCode::RecordNotFound,
|
|
|
|
AppErrorCode::RecordAlreadyExists => ErrorCode::RecordAlreadyExists,
|
|
|
|
AppErrorCode::InvalidEmail => ErrorCode::EmailFormatInvalid,
|
|
|
|
AppErrorCode::InvalidPassword => ErrorCode::PasswordFormatInvalid,
|
|
|
|
AppErrorCode::OAuthError => ErrorCode::UserUnauthorized,
|
|
|
|
AppErrorCode::MissingPayload => ErrorCode::MissingPayload,
|
|
|
|
AppErrorCode::OpenError => ErrorCode::Internal,
|
|
|
|
AppErrorCode::InvalidUrl => ErrorCode::InvalidURL,
|
2024-08-07 16:48:09 +08:00
|
|
|
AppErrorCode::InvalidRequest => ErrorCode::InvalidRequest,
|
2023-11-05 14:00:24 +08:00
|
|
|
AppErrorCode::InvalidOAuthProvider => ErrorCode::InvalidAuthConfig,
|
|
|
|
AppErrorCode::NotLoggedIn => ErrorCode::UserUnauthorized,
|
|
|
|
AppErrorCode::NotEnoughPermissions => ErrorCode::NotEnoughPermissions,
|
2023-11-27 18:54:31 -08:00
|
|
|
AppErrorCode::NetworkError => ErrorCode::HttpError,
|
2024-08-08 12:07:00 +08:00
|
|
|
AppErrorCode::PayloadTooLarge => ErrorCode::PayloadTooLarge,
|
2024-06-12 17:08:55 +02:00
|
|
|
AppErrorCode::UserUnAuthorized => ErrorCode::UserUnauthorized,
|
|
|
|
AppErrorCode::WorkspaceLimitExceeded => ErrorCode::WorkspaceLimitExceeded,
|
|
|
|
AppErrorCode::WorkspaceMemberLimitExceeded => ErrorCode::WorkspaceMemberLimitExceeded,
|
2024-07-22 09:43:48 +02:00
|
|
|
AppErrorCode::AIResponseLimitExceeded => ErrorCode::AIResponseLimitExceeded,
|
|
|
|
AppErrorCode::FileStorageLimitExceeded => ErrorCode::FileStorageLimitExceeded,
|
2024-08-27 14:22:57 +08:00
|
|
|
AppErrorCode::SingleUploadLimitExceeded => ErrorCode::SingleUploadLimitExceeded,
|
2024-10-31 14:38:32 +08:00
|
|
|
AppErrorCode::CustomNamespaceDisabled => ErrorCode::CustomNamespaceRequirePlanUpgrade,
|
|
|
|
AppErrorCode::CustomNamespaceDisallowed => ErrorCode::CustomNamespaceNotAllowed,
|
|
|
|
AppErrorCode::PublishNamespaceAlreadyTaken => ErrorCode::CustomNamespaceAlreadyTaken,
|
|
|
|
AppErrorCode::CustomNamespaceTooShort => ErrorCode::CustomNamespaceTooShort,
|
|
|
|
AppErrorCode::CustomNamespaceTooLong => ErrorCode::CustomNamespaceTooLong,
|
|
|
|
AppErrorCode::CustomNamespaceReserved => ErrorCode::CustomNamespaceReserved,
|
|
|
|
AppErrorCode::PublishNameAlreadyExists => ErrorCode::PublishNameAlreadyExists,
|
|
|
|
AppErrorCode::PublishNameInvalidCharacter => ErrorCode::PublishNameInvalidCharacter,
|
|
|
|
AppErrorCode::PublishNameTooLong => ErrorCode::PublishNameTooLong,
|
|
|
|
AppErrorCode::CustomNamespaceInvalidCharacter => ErrorCode::CustomNamespaceInvalidCharacter,
|
2024-12-19 14:13:53 +08:00
|
|
|
AppErrorCode::AIServiceUnavailable => ErrorCode::AIServiceUnavailable,
|
2023-10-02 17:22:22 +08:00
|
|
|
_ => ErrorCode::Internal,
|
2023-09-17 17:14:34 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
FlowyError::new(code, error.message)
|
|
|
|
}
|
|
|
|
}
|