feat: add thiserror derive to ErrorCode

This commit is contained in:
Iñigo Iparragirre 2022-12-20 10:59:38 +01:00
parent bf88f9f95b
commit 9005850ac8
No known key found for this signature in database
GPG Key ID: 51F62D827AFD3ED1

View File

@ -1,142 +1,142 @@
use crate::protobuf::ErrorCode as ProtoBufErrorCode;
use derive_more::Display;
use flowy_derive::ProtoBuf_Enum;
use protobuf::ProtobufEnum;
use thiserror::Error;
use std::convert::{TryFrom, TryInto};
#[derive(Debug, Clone, ProtoBuf_Enum, Display, PartialEq, Eq)]
#[derive(Debug, Clone, ProtoBuf_Enum, PartialEq, Eq, Error)]
pub enum ErrorCode {
#[display(fmt = "Internal error")]
#[error("Internal error")]
Internal = 0,
#[display(fmt = "UserUnauthorized")]
#[error("UserUnauthorized")]
UserUnauthorized = 2,
#[display(fmt = "RecordNotFound")]
#[error("RecordNotFound")]
RecordNotFound = 3,
#[display(fmt = "User id is empty")]
#[error("User id is empty")]
UserIdIsEmpty = 4,
#[display(fmt = "Workspace name can not be empty or whitespace")]
#[error("Workspace name can not be empty or whitespace")]
WorkspaceNameInvalid = 100,
#[display(fmt = "Workspace id can not be empty or whitespace")]
#[error("Workspace id can not be empty or whitespace")]
WorkspaceIdInvalid = 101,
#[display(fmt = "Color style of the App is invalid")]
#[error("Color style of the App is invalid")]
AppColorStyleInvalid = 102,
#[display(fmt = "Workspace desc is invalid")]
#[error("Workspace desc is invalid")]
WorkspaceDescTooLong = 103,
#[display(fmt = "Workspace description too long")]
#[error("Workspace description too long")]
WorkspaceNameTooLong = 104,
#[display(fmt = "App id can not be empty or whitespace")]
#[error("App id can not be empty or whitespace")]
AppIdInvalid = 110,
#[display(fmt = "App name can not be empty or whitespace")]
#[error("App name can not be empty or whitespace")]
AppNameInvalid = 111,
#[display(fmt = "View name can not be empty or whitespace")]
#[error("View name can not be empty or whitespace")]
ViewNameInvalid = 120,
#[display(fmt = "Thumbnail of the view is invalid")]
#[error("Thumbnail of the view is invalid")]
ViewThumbnailInvalid = 121,
#[display(fmt = "View id can not be empty or whitespace")]
#[error("View id can not be empty or whitespace")]
ViewIdInvalid = 122,
#[display(fmt = "View desc too long")]
#[error("View desc too long")]
ViewDescTooLong = 123,
#[display(fmt = "View data is invalid")]
#[error("View data is invalid")]
ViewDataInvalid = 124,
#[display(fmt = "View name too long")]
#[error("View name too long")]
ViewNameTooLong = 125,
#[display(fmt = "Connection error")]
#[error("Connection error")]
ConnectError = 200,
#[display(fmt = "Email can not be empty or whitespace")]
#[error("Email can not be empty or whitespace")]
EmailIsEmpty = 300,
#[display(fmt = "Email format is not valid")]
#[error("Email format is not valid")]
EmailFormatInvalid = 301,
#[display(fmt = "Email already exists")]
#[error("Email already exists")]
EmailAlreadyExists = 302,
#[display(fmt = "Password can not be empty or whitespace")]
#[error("Password can not be empty or whitespace")]
PasswordIsEmpty = 303,
#[display(fmt = "Password format too long")]
#[error("Password format too long")]
PasswordTooLong = 304,
#[display(fmt = "Password contains forbidden characters.")]
#[error("Password contains forbidden characters.")]
PasswordContainsForbidCharacters = 305,
#[display(fmt = "Password should contain a minimum of 6 characters with 1 special 1 letter and 1 numeric")]
#[error("Password should contain a minimum of 6 characters with 1 special 1 letter and 1 numeric")]
PasswordFormatInvalid = 306,
#[display(fmt = "Password not match")]
#[error("Password not match")]
PasswordNotMatch = 307,
#[display(fmt = "User name is too long")]
#[error("User name is too long")]
UserNameTooLong = 308,
#[display(fmt = "User name contain forbidden characters")]
#[error("User name contain forbidden characters")]
UserNameContainForbiddenCharacters = 309,
#[display(fmt = "User name can not be empty or whitespace")]
#[error("User name can not be empty or whitespace")]
UserNameIsEmpty = 310,
#[display(fmt = "user id is empty or whitespace")]
#[error("user id is empty or whitespace")]
UserIdInvalid = 311,
#[display(fmt = "User not exist")]
#[error("User not exist")]
UserNotExist = 312,
#[display(fmt = "Text is too long")]
#[error("Text is too long")]
TextTooLong = 400,
#[display(fmt = "Grid id is empty")]
#[error("Grid id is empty")]
GridIdIsEmpty = 410,
#[display(fmt = "Grid view id is empty")]
#[error("Grid view id is empty")]
GridViewIdIsEmpty = 411,
#[display(fmt = "Grid block id is empty")]
#[error("Grid block id is empty")]
BlockIdIsEmpty = 420,
#[display(fmt = "Row id is empty")]
#[error("Row id is empty")]
RowIdIsEmpty = 430,
#[display(fmt = "Select option id is empty")]
#[error("Select option id is empty")]
OptionIdIsEmpty = 431,
#[display(fmt = "Field id is empty")]
#[error("Field id is empty")]
FieldIdIsEmpty = 440,
#[display(fmt = "Field doesn't exist")]
#[error("Field doesn't exist")]
FieldDoesNotExist = 441,
#[display(fmt = "The name of the option should not be empty")]
#[error("The name of the option should not be empty")]
SelectOptionNameIsEmpty = 442,
#[display(fmt = "Field not exists")]
#[error("Field not exists")]
FieldNotExists = 443,
#[display(fmt = "The operation in this field is invalid")]
#[error("The operation in this field is invalid")]
FieldInvalidOperation = 444,
#[display(fmt = "Filter id is empty")]
#[error("Filter id is empty")]
FilterIdIsEmpty = 445,
#[display(fmt = "Field is not exist")]
FieldRecordNotFound = 446,
#[display(fmt = "Field's type-option data should not be empty")]
#[error("Field's type-option data should not be empty")]
TypeOptionDataIsEmpty = 450,
#[display(fmt = "Group id is empty")]
#[error("Group id is empty")]
GroupIdIsEmpty = 460,
#[display(fmt = "Invalid date time format")]
#[error("Invalid date time format")]
InvalidDateTimeFormat = 500,
#[display(fmt = "The input string is empty or contains invalid characters")]
#[error("The input string is empty or contains invalid characters")]
UnexpectedEmptyString = 999,
#[display(fmt = "Invalid data")]
#[error("Invalid data")]
InvalidData = 1000,
#[display(fmt = "Serde")]
#[error("Serde")]
Serde = 1001,
#[display(fmt = "Protobuf serde")]
#[error("Protobuf serde")]
ProtobufSerde = 1002,
#[display(fmt = "Out of bounds")]
#[error("Out of bounds")]
OutOfBounds = 10001,
}