// Copyright 2025 - Nym Technologies SA // SPDX-License-Identifier: Apache-2.0 use nyxd_scraper_shared::helpers::MalformedDataError; use nyxd_scraper_shared::storage::NyxdScraperStorageError; use thiserror::Error; #[derive(Error, Debug)] pub enum SqliteScraperError { #[error("experienced internal database error: {0}")] InternalDatabaseError(#[from] sqlx::error::Error), #[error("failed to perform startup SQL migration: {0}")] StartupMigrationFailure(#[from] sqlx::migrate::MigrateError), #[error("failed to begin storage tx: {source}")] StorageTxBeginFailure { #[source] source: sqlx::error::Error, }, #[error("failed to commit storage tx: {source}")] StorageTxCommitFailure { #[source] source: sqlx::error::Error, }, #[error(transparent)] MalformedData(#[from] MalformedDataError), } impl From for NyxdScraperStorageError { fn from(err: SqliteScraperError) -> Self { NyxdScraperStorageError::new(err) } }