[package]
edition = "2024"
name = "toolu-orm-connection"
version = "0.2.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Connection pooling and driver adapters (libsql, rusqlite, Postgres) for toolu-orm"
readme = "README.md"
license = "MIT"
repository = "https://github.com/Falconiere/toolu-orm"
resolver = "2"
[features]
default = []
libsql = [
"dep:libsql",
"toolu-orm-core/libsql",
]
postgres = [
"dep:tokio-postgres",
"dep:deadpool-postgres",
"dep:postgres-types",
"dep:tokio-postgres-rustls",
"dep:rustls",
"dep:rustls-native-certs",
"toolu-orm-core/postgres",
]
rusqlite = [
"dep:rusqlite",
"toolu-orm-core/rusqlite",
]
[lib]
name = "toolu_orm_connection"
path = "src/lib.rs"
[[test]]
name = "error_test"
path = "tests/error_test.rs"
[[test]]
name = "from_row_derive_live_test"
path = "tests/from_row_derive_live_test.rs"
[[test]]
name = "fts5_rusqlite_test"
path = "tests/fts5_rusqlite_test.rs"
[[test]]
name = "postgres_config_test"
path = "tests/postgres_config_test.rs"
[[test]]
name = "postgres_live_pool_test"
path = "tests/postgres_live_pool_test.rs"
[[test]]
name = "postgres_live_queries_test"
path = "tests/postgres_live_queries_test.rs"
[[test]]
name = "postgres_live_transaction_test"
path = "tests/postgres_live_transaction_test.rs"
[[test]]
name = "rusqlite_blocking_concurrency_test"
path = "tests/rusqlite_blocking_concurrency_test.rs"
[[test]]
name = "rusqlite_blocking_test"
path = "tests/rusqlite_blocking_test.rs"
[[test]]
name = "rusqlite_impl_test"
path = "tests/rusqlite_impl_test.rs"
[[test]]
name = "trait_def_test"
path = "tests/trait_def_test.rs"
[dependencies.async-trait]
version = "0.1"
[dependencies.deadpool-postgres]
version = "0.14"
optional = true
[dependencies.libsql]
version = "0.9"
features = [
"core",
"remote",
"replication",
"sync",
"tls",
]
optional = true
default-features = false
[dependencies.postgres-types]
version = "0.2"
features = [
"with-uuid-1",
"with-serde_json-1",
]
optional = true
[dependencies.rusqlite]
version = "0.32"
features = ["bundled"]
optional = true
[dependencies.rustls]
version = "0.23"
features = ["ring"]
optional = true
default-features = false
[dependencies.rustls-native-certs]
version = "0.8"
optional = true
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"sync",
"time",
"process",
"net",
"io-util",
"fs",
"signal",
"macros",
"rt",
"time",
]
[dependencies.tokio-postgres]
version = "0.7"
features = [
"with-uuid-1",
"with-serde_json-1",
]
optional = true
[dependencies.tokio-postgres-rustls]
version = "0.13"
optional = true
[dependencies.toolu-orm-core]
version = "0.2.0"
features = []
default-features = false
[dependencies.tracing]
version = "0.1"
[dev-dependencies.libsql]
version = "0.9"
features = [
"core",
"remote",
"tls",
"core",
]
default-features = false
[dev-dependencies.tokio-postgres]
version = "0.7"
features = [
"with-uuid-1",
"with-serde_json-1",
]
[lints.clippy]
cast_possible_truncation = "deny"
cast_possible_wrap = "deny"
cast_sign_loss = "deny"
checked_conversions = "deny"
clone_on_ref_ptr = "deny"
cloned_instead_of_copied = "deny"
cognitive_complexity = "deny"
disallowed_methods = "deny"
expect_used = "deny"
flat_map_option = "deny"
fn_params_excessive_bools = "deny"
if_not_else = "warn"
implicit_clone = "deny"
indexing_slicing = "deny"
large_types_passed_by_value = "deny"
lossy_float_literal = "deny"
manual_let_else = "deny"
map_err_ignore = "deny"
match_same_arms = "warn"
missing_docs_in_private_items = "allow"
missing_errors_doc = "warn"
missing_panics_doc = "warn"
module_name_repetitions = "allow"
needless_pass_by_value = "deny"
panic = "deny"
redundant_clone = "deny"
redundant_else = "warn"
result_large_err = "deny"
similar_names = "warn"
single_match_else = "deny"
str_to_string = "deny"
struct_excessive_bools = "deny"
todo = "deny"
too_many_arguments = "deny"
too_many_lines = "deny"
trivially_copy_pass_by_ref = "deny"
unimplemented = "deny"
unnecessary_wraps = "deny"
unreachable = "deny"
unwrap_used = "deny"
verbose_file_reads = "deny"
wildcard_enum_match_arm = "deny"
[lints.rust]
deprecated = "deny"
unsafe_code = "deny"
unused_imports = "deny"
unused_must_use = "deny"
[lints.rust.rust_2018_idioms]
level = "warn"
priority = -1