[package]
name = "docserver"
version = "0.1.2"
edition = "2021"
authors = ["Jesus Perez <jpl@jesusperez.proJ>"]
publish = false

#[registry]
#default = "inrepo"

#[package.metadata.docs.rs]
#all-features = true
#rustdoc-args = ["--html-in-header", "rusdoc/header.html"]

[dependencies]
log = { version = "0.4.22", features = ["max_level_trace","release_max_level_trace"], package = "log" }
axum = { version = "0.7.5" } # use wrks axum_6
axum-server = { version = "0.7.1", features = ["tls-rustls"] }
tokio = { version = "1.39.2", features = ["full"] }
tower = { version = "0.5.1", features = ["util", "filter"] }
tower-http = { version = "0.5.2", features = ["fs", "cors", "trace", "add-extension", "auth", "compression-full"] }
tower-cookies = "0.10.0"
tracing = "0.1.40"
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }

casbin = { version = "2.2.0", features = ["cached","explain","logging"], optional = true}
pasetoken-lib= {path = "./pasetoken", package = "pasetoken-lib" }
pasetors = { version = "0.7.0" }

serde = { version = "1.0.207", features = ["derive"] }
serde_derive = "1.0.207"
serde_json = "1.0.124"
toml = "0.8.19"

clap = { version = "4.5.15", features = ["derive"] }
git-version = "0.3.9"
once_cell = "1.19.0"

hyper = { version = "1.4.1", features = ["full"] }
tera = "1.20.0"
html-minifier = "5.0.0"
urlencoding = "2.1.3"
password-hash = { version = "0.5", features = ["alloc", "rand_core"] }
rand_core = { version = "0.6.4", features = ["getrandom"] }
argon2 = { version = "0.5",  default-features = false, features = ["alloc", "simple"]}
rand_chacha = "0.3.1"
async-trait = "0.1.81"
async-session = "3.0.0"
async-sqlx-session = { version = "0.4.0", features = ["sqlite"] }

forwarded-header-value = "0.1.1"
lettre = { version = "0.11.7", features = ["smtp-transport", "tokio1", "tokio1-native-tls", "builder"] }

chrono = { version = "0.4.38" }
encoding = "0.2.33"
uuid = { version = "1.4.1", features = ["v4", "serde"] }
rand = "0.8.5"
walkdir = "2.5.0"
binascii = "0.1.4"
anyhow = "1.0.86"

totp-rs = { version = "5.6.0", features = ["qr","otpauth"] }
base32  = "0.5.1"
zxcvbn = "3.1.0"

futures= "0.3.30"
# async-sqlx-session supported until 0.6.2  For 0.8.2 dependencie has to be fixed
sqlx = { version = "0.6.3", features = ["all-databases","runtime-tokio-native-tls"] }

openidconnect = { version = "3.3.1", default-features = true,  features = []  }
url = { version = "2.4", features = [] }
jsonwebtoken = "9.3.0"

[dev-dependencies]
async-std = { version = "1.12.0", features = ["default","attributes"] }

# [target.'cfg(target_arch = "wasm32")'.dependencies]
# getrandom = { version = "0.2", features = ["js"] }

[features]
default = ["casbin"]
#default = ["authstore"]
authstore = []
