use crate::local_queue::LocalQueueConfigError;
use graphile_worker_database::DbError;
use thiserror::Error;
#[derive(Error, Debug)]
pub enum WorkerBuildError {
#[error("Error occurred while connecting to the PostgreSQL database: {0}")]
ConnectError(#[from] DbError),
#[error("Error occurred while executing a query: {0}")]
QueryError(#[from] crate::errors::GraphileWorkerError),
#[error("Missing database configuration - must provide either database_url or database")]
MissingDatabaseUrl,
#[error("Error occurred while migrating the database schema: {0}")]
MigrationError(#[from] graphile_worker_migrations::MigrateError),
#[error("Invalid local queue configuration: {0}")]
LocalQueueConfig(#[from] LocalQueueConfigError),
}