1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum UpsertError {
5 #[error("no values provided for upsert")]
6 EmptyValues,
7
8 #[error("no fields provided for upsert")]
9 EmptyFields,
10
11 #[error("no conflict fields provided for upsert")]
12 EmptyConflictFields,
13
14 #[error("version field '{0}' not found in fields list")]
15 VersionFieldNotFound(String),
16
17 #[error("field count mismatch: expected {expected}, got {actual}")]
18 FieldCountMismatch { expected: usize, actual: usize },
19
20 #[error("database error: {0}")]
21 Database(#[from] sqlx::Error),
22}
23
24pub type Result<T> = std::result::Result<T, UpsertError>;