ft_sys/
lib.rs

1//! This crate is part of [ft-sdk](https://docs.rs/ft-sdk/) and provides the
2//! system-level functionality. This crate should not be used directly, and
3//! `ft-sdk` should be used.
4#![deny(unused_extern_crates)]
5
6extern crate self as ft_sys;
7
8mod crypto;
9#[cfg(any(feature = "sqlite", feature = "postgres"))]
10mod db_error;
11#[cfg(feature = "postgres")]
12mod diesel_pg;
13#[cfg(feature = "sqlite")]
14mod diesel_sqlite;
15pub mod email;
16pub mod env;
17pub mod http;
18pub mod memory;
19
20pub use crypto::{decrypt, encrypt};
21#[cfg(feature = "postgres")]
22pub use diesel_pg::PgConnection;
23#[cfg(feature = "sqlite")]
24pub use diesel_sqlite::SqliteConnection;
25pub use ft_sys_shared::{DecryptionError, UserData};
26
27#[cfg(feature = "sqlite")]
28pub use diesel_sqlite::Sqlite;
29
30pub use env::now;
31
32#[derive(Debug, thiserror::Error)]
33pub enum ConnectionError {
34    #[error("generic error {0}")]
35    Generic(String),
36}