use serde::{Deserialize, Serialize};
#[derive(
Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, Default,
)]
pub enum InternalErrorCode {
#[serde(rename = "no_internal_error")]
#[default]
NoInternalError,
#[serde(rename = "internal_error")]
InternalError,
#[serde(rename = "deadline_exceeded")]
DeadlineExceeded,
#[serde(rename = "already_exists")]
AlreadyExists,
#[serde(rename = "resource_exhausted")]
ResourceExhausted,
#[serde(rename = "failed_precondition")]
FailedPrecondition,
#[serde(rename = "aborted")]
Aborted,
#[serde(rename = "out_of_range")]
OutOfRange,
#[serde(rename = "unavailable")]
Unavailable,
#[serde(rename = "data_loss")]
DataLoss,
}
impl std::fmt::Display for InternalErrorCode {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::NoInternalError => write!(f, "no_internal_error"),
Self::InternalError => write!(f, "internal_error"),
Self::DeadlineExceeded => write!(f, "deadline_exceeded"),
Self::AlreadyExists => write!(f, "already_exists"),
Self::ResourceExhausted => write!(f, "resource_exhausted"),
Self::FailedPrecondition => write!(f, "failed_precondition"),
Self::Aborted => write!(f, "aborted"),
Self::OutOfRange => write!(f, "out_of_range"),
Self::Unavailable => write!(f, "unavailable"),
Self::DataLoss => write!(f, "data_loss"),
}
}
}