[package]
name = "eternaltwin_rest"
version = "0.13.0"
authors = ["Charles Samborski <demurgos@demurgos.net>"]
description = "HTTP REST interface for Eternal-Twin"
documentation = "https://gitlab.com/eternaltwin/eternaltwin"
homepage = "https://gitlab.com/eternaltwin/eternaltwin"
repository = "https://gitlab.com/eternaltwin/eternaltwin"
readme = "./README.md"
keywords = ["etwin"]
license.workspace = true
edition.workspace = true
rust-version.workspace = true

[dependencies]
axum = { version = "0.6.10", features = ["headers"] }
axum-extra = { version = "0.7.0", features = ["cookie"] }
async-trait = "0.1.66"
cookie = "0.17.0"
eternaltwin_auth_store = { version = "0.13.0", path = "../auth_store" }
eternaltwin_config = { version = "0.13.0", path = "../config" }
eternaltwin_core = { version = "0.13.0", path = "../core" }
eternaltwin_dinoparc_store = { version = "0.13.0", path = "../dinoparc_store" }
eternaltwin_email_formatter = { version = "0.13.0", path = "../email_formatter" }
eternaltwin_forum_store = { version = "0.13.0", path = "../forum_store" }
eternaltwin_hammerfest_store = { version = "0.13.0", path = "../hammerfest_store" }
eternaltwin_job_store = { version = "0.13.0", path = "../job_store" }
eternaltwin_link_store = { version = "0.13.0", path = "../link_store" }
eternaltwin_log = { version = "0.13.0", path = "../log" }
eternaltwin_mailer = { version = "0.13.0", path = "../mailer" }
eternaltwin_oauth_provider_store = { version = "0.13.0", path = "../oauth_provider_store" }
eternaltwin_oauth_client = { version = "0.13.0", path = "../oauth_client" }
eternaltwin_password = { version = "0.13.0", path = "../password" }
eternaltwin_serde_tools = { version = "0.13.0", path = "../serde_tools" }
eternaltwin_services = { version = "0.13.0", path = "../services" }
eternaltwin_twinoid_store = { version = "0.13.0", path = "../twinoid_store" }
eternaltwin_user_store = { version = "0.13.0", path = "../user_store" }
headers = "0.3.8"
mime = "0.3.16"
serde = { version = "1.0.155", features = ["derive"] }
serde_json = "1.0.94"
serde_urlencoded = "0.7.1"
sqlx = { version = "0.6.2", default-features = false, features = ["postgres", "runtime-tokio-rustls"] }
thiserror = "1.0.39"
tokio = { version = "1.26.0", features = ["full"] }
url = "2.3.1"

[dev-dependencies]
cookie_store = "0.19.0"
eternaltwin_token_store = { version = "0.13.0", path = "../token_store" }
hyper = "0.14.25"
tower = "0.4.13"

# TODO: Remove this workaround for serde support in `declare_*` macros
[features]
default = ["serde"]
serde = []
