mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
* chore: check workspace id before write to disk * chore: update logs * chore: update logs * chore: update ci * chore: bump client api
290 lines
6.3 KiB
Rust
290 lines
6.3 KiB
Rust
use serde_repr::*;
|
|
use thiserror::Error;
|
|
|
|
use flowy_derive::ProtoBuf_Enum;
|
|
|
|
#[derive(
|
|
Debug, Default, Clone, PartialEq, Eq, Error, Serialize_repr, Deserialize_repr, ProtoBuf_Enum,
|
|
)]
|
|
#[repr(u8)]
|
|
pub enum ErrorCode {
|
|
#[default]
|
|
#[error("Internal error")]
|
|
Internal = 0,
|
|
|
|
#[error("Unauthorized user")]
|
|
UserUnauthorized = 2,
|
|
|
|
#[error("Record not found")]
|
|
RecordNotFound = 3,
|
|
|
|
#[error("User id is empty")]
|
|
UserIdIsEmpty = 4,
|
|
|
|
#[error("Workspace name can not be empty or whitespace")]
|
|
WorkspaceNameInvalid = 5,
|
|
|
|
#[error("Workspace desc is invalid")]
|
|
WorkspaceDescTooLong = 8,
|
|
|
|
#[error("Workspace description too long")]
|
|
WorkspaceNameTooLong = 9,
|
|
|
|
#[error("Can't load the workspace data")]
|
|
WorkspaceInitializeError = 6,
|
|
|
|
#[error("View name can not be empty or whitespace")]
|
|
ViewNameInvalid = 12,
|
|
|
|
#[error("Thumbnail of the view is invalid")]
|
|
ViewThumbnailInvalid = 13,
|
|
|
|
#[error("View id can not be empty or whitespace")]
|
|
ViewIdIsInvalid = 14,
|
|
|
|
#[error("View data is invalid")]
|
|
ViewDataInvalid = 16,
|
|
|
|
#[error("View name too long")]
|
|
ViewNameTooLong = 17,
|
|
|
|
#[error("Email can not be empty or whitespace")]
|
|
EmailIsEmpty = 19,
|
|
|
|
#[error("Email format is not valid")]
|
|
EmailFormatInvalid = 20,
|
|
|
|
#[error("Email already exists")]
|
|
EmailAlreadyExists = 21,
|
|
|
|
#[error("Password can not be empty or whitespace")]
|
|
PasswordIsEmpty = 22,
|
|
|
|
#[error("Password format too long")]
|
|
PasswordTooLong = 23,
|
|
|
|
#[error("Password contains forbidden characters.")]
|
|
PasswordContainsForbidCharacters = 24,
|
|
|
|
#[error(
|
|
"Password should contain a minimum of 6 characters with 1 special 1 letter and 1 numeric"
|
|
)]
|
|
PasswordFormatInvalid = 25,
|
|
|
|
#[error("Password not match")]
|
|
PasswordNotMatch = 26,
|
|
|
|
#[error("User name is too long")]
|
|
UserNameTooLong = 27,
|
|
|
|
#[error("User name contain forbidden characters")]
|
|
UserNameContainForbiddenCharacters = 28,
|
|
|
|
#[error("User name can not be empty or whitespace")]
|
|
UserNameIsEmpty = 29,
|
|
|
|
#[error("user id is empty or whitespace")]
|
|
UserIdInvalid = 30,
|
|
|
|
#[error("Text is too long")]
|
|
TextTooLong = 32,
|
|
|
|
#[error("Database id is empty")]
|
|
DatabaseIdIsEmpty = 33,
|
|
|
|
#[error("Grid view id is empty")]
|
|
DatabaseViewIdIsEmpty = 34,
|
|
|
|
#[error("Grid block id is empty")]
|
|
BlockIdIsEmpty = 35,
|
|
|
|
#[error("Row id is empty")]
|
|
RowIdIsEmpty = 36,
|
|
|
|
#[error("Select option id is empty")]
|
|
OptionIdIsEmpty = 37,
|
|
|
|
#[error("Field id is empty")]
|
|
FieldIdIsEmpty = 38,
|
|
|
|
#[error("Field doesn't exist")]
|
|
FieldDoesNotExist = 39,
|
|
|
|
#[error("The name of the option should not be empty")]
|
|
SelectOptionNameIsEmpty = 40,
|
|
|
|
#[error("Field not exists")]
|
|
FieldNotExists = 41,
|
|
|
|
#[error("The operation in this field is invalid")]
|
|
FieldInvalidOperation = 42,
|
|
|
|
#[error("Filter id is empty")]
|
|
FilterIdIsEmpty = 43,
|
|
|
|
#[error("Field is not exist")]
|
|
FieldRecordNotFound = 44,
|
|
|
|
#[error("Field's type-option data should not be empty")]
|
|
TypeOptionDataIsEmpty = 45,
|
|
|
|
#[error("Group id is empty")]
|
|
GroupIdIsEmpty = 46,
|
|
|
|
#[error("Invalid date time format")]
|
|
InvalidDateTimeFormat = 48,
|
|
|
|
#[error("Invalid params")]
|
|
InvalidParams = 49,
|
|
|
|
#[error("Serde")]
|
|
Serde = 50,
|
|
|
|
#[error("Protobuf serde")]
|
|
ProtobufSerde = 51,
|
|
|
|
#[error("Out of bounds")]
|
|
OutOfBounds = 52,
|
|
|
|
#[error("Sort id is empty")]
|
|
SortIdIsEmpty = 53,
|
|
|
|
#[error("Connect refused")]
|
|
ConnectRefused = 54,
|
|
|
|
#[error("Connection timeout")]
|
|
ConnectTimeout = 55,
|
|
|
|
#[error("Connection closed")]
|
|
ConnectClose = 56,
|
|
|
|
#[error("Connection canceled")]
|
|
ConnectCancel = 57,
|
|
|
|
#[error("Sql error")]
|
|
SqlError = 58,
|
|
|
|
#[error("Http error")]
|
|
HttpError = 59,
|
|
|
|
#[error("The content should not be empty")]
|
|
UnexpectedEmpty = 60,
|
|
|
|
#[error("Only the date type can be used in calendar")]
|
|
UnexpectedCalendarFieldType = 61,
|
|
|
|
#[error("Document Data Invalid")]
|
|
DocumentDataInvalid = 62,
|
|
|
|
#[error("Unsupported auth type")]
|
|
UnsupportedAuthType = 63,
|
|
|
|
#[error("Invalid auth configuration")]
|
|
InvalidAuthConfig = 64,
|
|
|
|
#[error("Missing auth field")]
|
|
MissingAuthField = 65,
|
|
|
|
#[error("Rocksdb IO error")]
|
|
RocksdbIOError = 66,
|
|
|
|
#[error("Document id is empty")]
|
|
DocumentIdIsEmpty = 67,
|
|
|
|
#[error("Apply actions is empty")]
|
|
ApplyActionsIsEmpty = 68,
|
|
|
|
#[error("Connect postgres database failed")]
|
|
PgConnectError = 69,
|
|
|
|
#[error("Postgres database error")]
|
|
PgDatabaseError = 70,
|
|
|
|
#[error("Postgres transaction error")]
|
|
PgTransactionError = 71,
|
|
|
|
#[error("Enable data sync")]
|
|
DataSyncRequired = 72,
|
|
|
|
#[error("Conflict")]
|
|
Conflict = 73,
|
|
|
|
#[error("Invalid decryption secret")]
|
|
InvalidEncryptSecret = 74,
|
|
|
|
#[error("It appears that the collaboration object's data has not been fully synchronized")]
|
|
CollabDataNotSync = 75,
|
|
|
|
#[error("It appears that the workspace data has not been fully synchronized")]
|
|
WorkspaceDataNotSync = 76,
|
|
|
|
#[error("Excess storage limited")]
|
|
ExcessStorageLimited = 77,
|
|
|
|
#[error("Parse url failed")]
|
|
InvalidURL = 78,
|
|
|
|
#[error("Require Email Confirmation, Sign in after email confirmation")]
|
|
AwaitingEmailConfirmation = 79,
|
|
|
|
#[error("Text id is empty")]
|
|
TextIdIsEmpty = 80,
|
|
|
|
#[error("Record already exists")]
|
|
RecordAlreadyExists = 81,
|
|
|
|
#[error("Missing payload")]
|
|
MissingPayload = 82,
|
|
|
|
#[error("Permission denied")]
|
|
NotEnoughPermissions = 83,
|
|
|
|
#[error("Internal server error")]
|
|
InternalServerError = 84,
|
|
|
|
#[error("Not support yet")]
|
|
NotSupportYet = 85,
|
|
|
|
#[error("rocksdb corruption")]
|
|
RocksdbCorruption = 86,
|
|
|
|
#[error("rocksdb internal error")]
|
|
RocksdbInternal = 87,
|
|
|
|
#[error("Local version not support")]
|
|
LocalVersionNotSupport = 88,
|
|
|
|
#[error("AppFlowy data folder import error")]
|
|
AppFlowyDataFolderImportError = 89,
|
|
|
|
#[error("Cloud request payload too large")]
|
|
CloudRequestPayloadTooLarge = 90,
|
|
|
|
#[error("Workspace limit exceeded")]
|
|
WorkspaceLimitExceeded = 91,
|
|
|
|
#[error("Workspace member limit exceeded")]
|
|
WorkspaceMemberLimitExceeded = 92,
|
|
|
|
#[error("IndexWriter failed to commit")]
|
|
IndexWriterFailedCommit = 93,
|
|
|
|
#[error("Failed to open Index directory")]
|
|
FailedToOpenIndexDir = 94,
|
|
|
|
#[error("Failed to parse query")]
|
|
FailedToParseQuery = 95,
|
|
|
|
#[error("FolderIndexManager or its dependencies are unavailable")]
|
|
FolderIndexManagerUnavailable = 96,
|
|
|
|
#[error("Workspace data not match")]
|
|
WorkspaceDataNotMatch = 97,
|
|
}
|
|
|
|
impl ErrorCode {
|
|
pub fn value(&self) -> i32 {
|
|
self.clone() as i32
|
|
}
|
|
}
|