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}