[package]
name = "prax-mssql"
version.workspace = true
edition = "2024"
rust-version = "1.85"
authors = ["Joseph Quinn <quinn.josephr@protonmail.com>"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/quinnjr/prax"
description = "Microsoft SQL Server database driver for Prax ORM"
documentation = "https://docs.rs/prax-mssql"
keywords = ["orm", "mssql", "sqlserver", "database", "async"]
categories = ["database", "asynchronous"]

[dependencies]
# Internal crates
prax-query.workspace = true
prax-schema.workspace = true

# Async runtime
tokio = { workspace = true, features = ["full"] }
tokio-util = { version = "0.7", features = ["compat"] }
futures = { workspace = true }
async-trait = { workspace = true }

# SQL Server driver (tiberius)
tiberius = { version = "0.12", default-features = false, features = ["rustls", "chrono", "tds73"] }
bb8 = "0.9"
bb8-tiberius = "0.16"

# Serialization
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
rust_decimal = { workspace = true }

# Error handling
thiserror = { workspace = true }

# Date/time
chrono = { workspace = true, features = ["serde"] }

# UUID
uuid = { workspace = true, features = ["v4", "serde"] }

# Logging
tracing = { workspace = true }

# URL parsing
url = { workspace = true }

# String utilities
smol_str = { workspace = true }

[dev-dependencies]
tokio-test = "0.4"
pretty_assertions = { workspace = true }

[features]
default = ["rustls"]
rustls = ["tiberius/rustls"]
