[package]
name = "arcly-http-data"
version = "0.9.0"
edition = "2021"
rust-version = "1.85"
description = "Multi-tenant data layer (SQLx/SeaORM/Diesel facade, tenancy, migrations, transactional outbox) for arcly-http."
license = "MIT"
repository = "https://gitlab.com/arcly/arcly-http/arcly-http"
[dependencies]
arcly-http-core = { path = "../arcly-http-core", version = "0.9.0" }
arcly-http-messaging = { path = "../arcly-http-messaging", version = "0.9.0" }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
futures = "0.3"
bytes = "1.6"
tokio = { version = "1.38", features = ["rt-multi-thread", "macros", "sync", "time"] }
tracing = "0.1"
metrics = "0.23"
sqlx = { version = "0.8", optional = true, default-features = false, features = ["any", "runtime-tokio"] }
sea-orm = { version = "1", optional = true, default-features = false, features = ["runtime-tokio-rustls"] }
diesel = { version = "2", optional = true, default-features = false, features = ["r2d2"] }
r2d2 = { version = "0.8", optional = true }
[features]
default = []
db-sqlx = ["dep:sqlx"]
db-seaorm = ["dep:sea-orm"]
db-diesel = ["dep:diesel", "dep:r2d2"]
db-sqlx-postgres = ["db-sqlx", "sqlx/postgres"]
db-sqlx-mysql = ["db-sqlx", "sqlx/mysql"]
db-sqlx-sqlite = ["db-sqlx", "sqlx/sqlite"]
db-seaorm-postgres = ["db-seaorm", "sea-orm/sqlx-postgres"]
db-seaorm-sqlite = ["db-seaorm", "sea-orm/sqlx-sqlite"]
db-diesel-postgres = ["db-diesel", "diesel/postgres"]
db-diesel-sqlite = ["db-diesel", "diesel/sqlite", "diesel/returning_clauses_for_sqlite_3_35"]