pgmq/
errors.rs

1//! Custom errors types for PGMQ
2use thiserror::Error;
3use url::ParseError;
4
5#[derive(Error, Debug)]
6pub enum PgmqError {
7    /// a json parsing error
8    #[error("json parsing error {0}")]
9    JsonParsingError(#[from] serde_json::error::Error),
10
11    /// a url parsing error
12    #[error("url parsing error {0}")]
13    UrlParsingError(#[from] ParseError),
14
15    /// a database error
16    #[error("database error {0}")]
17    DatabaseError(#[from] sqlx::Error),
18
19    /// a queue name error
20    /// queue names must be alphanumeric and start with a letter
21    #[error("invalid queue name: '{name}'")]
22    InvalidQueueName { name: String },
23}