tauri_plugin_sql/
error.rs

1// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
2// SPDX-License-Identifier: Apache-2.0
3// SPDX-License-Identifier: MIT
4
5use serde::{Serialize, Serializer};
6
7#[derive(Debug, thiserror::Error)]
8pub enum Error {
9    #[error(transparent)]
10    Sql(#[from] sqlx::Error),
11    #[error(transparent)]
12    Migration(#[from] sqlx::migrate::MigrateError),
13    #[error("invalid connection url: {0}")]
14    InvalidDbUrl(String),
15    #[error("database {0} not loaded")]
16    DatabaseNotLoaded(String),
17    #[error("unsupported datatype: {0}")]
18    UnsupportedDatatype(String),
19}
20
21impl Serialize for Error {
22    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
23    where
24        S: Serializer,
25    {
26        serializer.serialize_str(self.to_string().as_ref())
27    }
28}