[package]
name = "mas-handlers"
version.workspace = true
authors.workspace = true
edition.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
publish = false

[lints]
workspace = true

[dependencies]
# Async runtime
tokio.workspace = true
tokio-util.workspace = true
futures-util.workspace = true
async-trait.workspace = true

# Logging and tracing
tracing.workspace = true
opentelemetry.workspace = true
opentelemetry-semantic-conventions.workspace = true

# Error management
thiserror.workspace = true
anyhow.workspace = true
sentry.workspace = true

# Web server
hyper.workspace = true
tower.workspace = true
tower-http.workspace = true
axum.workspace = true
axum-macros = "0.5.0"
axum-extra.workspace = true
rustls.workspace = true

aide.workspace = true
async-graphql.workspace = true
schemars.workspace = true

# HTTP client
reqwest.workspace = true

# Emails
lettre.workspace = true

# Database access
sqlx.workspace = true

# Various structure (de)serialization
serde.workspace = true
serde_with = { version = "3.12.0", features = ["hex", "chrono"] }
serde_json.workspace = true
serde_urlencoded = "0.7.1"

# Password hashing
argon2 = { version = "0.5.3", features = ["password-hash", "std"] }
bcrypt = { version = "0.17.0", default-features = true }
pbkdf2 = { version = "0.12.2", features = [
    "password-hash",
    "std",
    "simple",
    "parallel",
] }
zeroize = "1.8.1"

# Various data types and utilities
base64ct.workspace = true
camino.workspace = true
chrono.workspace = true
elliptic-curve.workspace = true
hex.workspace = true
governor.workspace = true
icu_normalizer = "1.5.0"
indexmap.workspace = true
pkcs8.workspace = true
psl = "2.1.114"
sha2.workspace = true
time = "0.3.41"
url.workspace = true
mime = "0.3.17"
minijinja.workspace = true
minijinja-contrib.workspace = true
rand.workspace = true
rand_chacha.workspace = true
headers.workspace = true
ulid.workspace = true

mas-axum-utils.workspace = true
mas-config.workspace = true
mas-context.workspace = true
mas-data-model.workspace = true
mas-http.workspace = true
mas-i18n.workspace = true
mas-iana.workspace = true
mas-jose.workspace = true
mas-keystore.workspace = true
mas-matrix.workspace = true
mas-oidc-client.workspace = true
mas-policy.workspace = true
mas-router.workspace = true
mas-storage.workspace = true
mas-storage-pg.workspace = true
mas-templates.workspace = true
oauth2-types.workspace = true
zxcvbn = "3.1.0"

[dev-dependencies]
insta.workspace = true
tracing-subscriber.workspace = true
cookie_store = { version = "0.21.1", default-features = false, features = [
    "serde_json",
] }
sqlx.workspace = true
wiremock.workspace = true
