[dependencies]
glob-match = "0.2.1"

[dependencies.argon2]
workspace = true

[dependencies.async-trait]
workspace = true

[dependencies.athena-auth-derive]
optional = true
workspace = true

[dependencies.aws-config]
workspace = true

[dependencies.aws-credential-types]
workspace = true

[dependencies.aws-sdk-s3]
workspace = true

[dependencies.axum]
optional = true
workspace = true

[dependencies.base64]
workspace = true

[dependencies.caching-matrix]
workspace = true

[dependencies.chrono]
workspace = true

[dependencies.cookie]
workspace = true

[dependencies.jsonwebtoken]
workspace = true

[dependencies.lettre]
default-features = false
features = [
    "tokio1",
    "smtp-transport",
    "builder",
    "tokio1-rustls",
    "ring",
    "webpki-roots",
]
optional = true
version = "0.11.21"

[dependencies.rand]
workspace = true

[dependencies.redis]
optional = true
workspace = true

[dependencies.serde]
workspace = true

[dependencies.serde_json]
workspace = true

[dependencies.sha2]
workspace = true

[dependencies.sqlx]
optional = true
workspace = true

[dependencies.thiserror]
workspace = true

[dependencies.tokio]
workspace = true

[dependencies.tracing]
workspace = true

[dependencies.url]
optional = true
workspace = true

[dependencies.uuid]
workspace = true

[dependencies.validator]
workspace = true

[dev-dependencies.tokio]
features = [
    "macros",
    "rt",
    "time",
]
workspace = true

[features]
axum = [
    "dep:axum",
    "dep:url",
]
default = []
derive = ["dep:athena-auth-derive"]
redis-cache = ["dep:redis"]
smtp = ["dep:lettre"]
sqlx-postgres = ["dep:sqlx"]

[package]
description = "Core abstractions for athena-auth: traits, types, config, error handling"
name = "athena-auth-core"
version = "1.13.0"

[package.edition]
workspace = true

[package.license]
workspace = true

[package.repository]
workspace = true

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.reqwest]
features = ["rustls-tls"]
workspace = true

[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom]
features = ["wasm_js"]
version = "0.4"

[target.'cfg(target_arch = "wasm32")'.dependencies.reqwest]
workspace = true
