schema_registry_api/domain/
error.rs

1/// An API error
2#[derive(Debug, Clone, serde::Serialize, serde::Deserialize, thiserror::Error)]
3#[error("[{error_code}] {message}")]
4pub struct ApiError {
5    /// The error code
6    pub error_code: u32,
7
8    /// The message
9    pub message: String,
10}
11
12/// An Schema id error
13#[derive(Debug, Clone, serde::Serialize, serde::Deserialize, thiserror::Error)]
14#[error("Invalid schema id, expected a number, got {0}")]
15pub struct SchemaIdError(pub(crate) String);
16
17/// An Schema version error
18#[derive(Debug, Clone, serde::Serialize, serde::Deserialize, thiserror::Error)]
19#[error(
20    "Valid values for versionId are between [1,2^31-1] or the string latest (or -1). But got {0}"
21)]
22pub struct SchemaVersionError(pub(crate) String);
23
24/// An subject error
25#[derive(Debug, Clone, serde::Serialize, serde::Deserialize, thiserror::Error)]
26pub enum SubjectNameError {
27    /// Empty name
28    #[error("A subject could not be empty")]
29    EmptyName,
30
31    /// Invalid char
32    #[error("A subject could contains control char, got {0}")]
33    InvalidChar(String),
34}