#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum Code {
#[default]
Ok = 0,
Cancelled = 1,
Unknown = 2,
InvalidArgument = 3,
DeadlineExceeded = 4,
NotFound = 5,
AlreadyExists = 6,
PermissionDenied = 7,
ResourceExhausted = 8,
FailedPrecondition = 9,
Aborted = 10,
OutOfRange = 11,
Unimplemented = 12,
Internal = 13,
Unavailable = 14,
DataLoss = 15,
Unauthenticated = 16,
}
impl From<Code> for tonic::Code {
fn from(code: Code) -> Self {
match code {
Code::Ok => Self::Ok,
Code::Cancelled => Self::Cancelled,
Code::Unknown => Self::Unknown,
Code::InvalidArgument => Self::InvalidArgument,
Code::DeadlineExceeded => Self::DeadlineExceeded,
Code::NotFound => Self::NotFound,
Code::AlreadyExists => Self::AlreadyExists,
Code::PermissionDenied => Self::PermissionDenied,
Code::ResourceExhausted => Self::ResourceExhausted,
Code::FailedPrecondition => Self::FailedPrecondition,
Code::Aborted => Self::Aborted,
Code::OutOfRange => Self::OutOfRange,
Code::Unimplemented => Self::Unimplemented,
Code::Internal => Self::Internal,
Code::Unavailable => Self::Unavailable,
Code::DataLoss => Self::DataLoss,
Code::Unauthenticated => Self::Unauthenticated,
}
}
}
impl From<Code> for i32 {
fn from(code: Code) -> Self {
tonic::Code::from(code).into()
}
}