pub enum RepositoryError {
NotFound,
AlreadyExists(String),
ValidationError(String),
DatabaseError(String),
SerializationError(String),
Conflict(String),
InternalError(String),
Violations(Vec<Violation>),
}Expand description
Repository error types
Variants§
NotFound
AlreadyExists(String)
ValidationError(String)
DatabaseError(String)
SerializationError(String)
Conflict(String)
InternalError(String)
Violations(Vec<Violation>)
The database refused the write through a constraint that stands for a rule: a foreign key, a CHECK, a generated unique index or an exclusion. One violation, coded as the application-side check is.
Implementations§
Source§impl RepositoryError
impl RepositoryError
Sourcepub fn from_source(e: impl Into<Error>) -> Self
pub fn from_source(e: impl Into<Error>) -> Self
The repository error for a failure an inner layer reported as any error type.
A backbone_orm::QueryParamError inside it (a list parameter the request got wrong)
becomes one invalid_query violation on that parameter. A database error inside it
(however wrapped in context) converts as a sqlx::Error does, so a constraint the database
refused with stays a violation; anything else keeps its sentence as a database error.
Sourcepub fn from_batch_source(e: impl Into<Error>) -> Self
pub fn from_batch_source(e: impl Into<Error>) -> Self
from_source for a batch write: when the failure is a
backbone_orm::BatchItemError, the error is placed on the item that failed (see
at_batch_index).
Sourcepub fn at_batch_index(self, index: usize) -> Self
pub fn at_batch_index(self, index: usize) -> Self
Place this error on item index of a batch: a violation’s path gains the index as its
first segment (3/name, or 3 for a whole-record rule), and any other error’s sentence
names the item.
Trait Implementations§
Source§impl Debug for RepositoryError
impl Debug for RepositoryError
Source§impl Display for RepositoryError
impl Display for RepositoryError
Source§impl Error for RepositoryError
impl Error for RepositoryError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<Error> for RepositoryError
impl From<Error> for RepositoryError
Source§impl From<RepositoryError> for AdapterError
impl From<RepositoryError> for AdapterError
Source§fn from(source: RepositoryError) -> Self
fn from(source: RepositoryError) -> Self
Source§impl From<RepositoryError> for ServiceError
impl From<RepositoryError> for ServiceError
Source§fn from(source: RepositoryError) -> Self
fn from(source: RepositoryError) -> Self
Auto Trait Implementations§
impl Freeze for RepositoryError
impl RefUnwindSafe for RepositoryError
impl Send for RepositoryError
impl Sync for RepositoryError
impl Unpin for RepositoryError
impl UnsafeUnpin for RepositoryError
impl UnwindSafe for RepositoryError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more