1pub mod db;
2pub mod ntqq;
3mod protos;
4pub mod util;
5
6use snafu::prelude::*;
7
8#[derive(Debug, Snafu)]
9pub enum Error {
10 #[snafu(context(false))]
11 IO { source: std::io::Error },
12 #[snafu()]
13 Sqlite { source: rusqlite::Error, op: String },
14 Protobuf {
15 source: protobuf::Error,
16 raw: Vec<u8>,
17 },
18 #[snafu(whatever, display("{message}"))]
19 Whatever { message: String },
20}
21pub type Result<T> = std::result::Result<T, Error>;
22
23impl From<Error> for rusqlite::types::FromSqlError {
24 fn from(e: Error) -> Self {
25 rusqlite::types::FromSqlError::Other(Box::new(e))
26 }
27}