use signer_core::SignerError;
use sea_orm::DbErr;
use crate::{errors::DeltaError, MessageViewFromModelError};
#[derive(Debug, thiserror::Error)]
pub enum CrdtError {
#[error(transparent)]
SignerError(#[from] SignerError),
#[error(transparent)]
SerdeJsonError(#[from] serde_json::Error),
#[error(transparent)]
DbError(#[from] DbErr),
#[error(transparent)]
DeltaError(#[from] DeltaError),
#[error("无效的参数: {0}")]
InvalidParams(String),
#[error("事务开始失败: {0}")]
TransactionStartFailed(String),
#[error("io 错误: {0}")]
IoError(#[from] std::io::Error),
#[error("消息视图错误: {0}")]
MessageViewFromModelError(#[from] MessageViewFromModelError)
}