[workspace] resolver = "3" [workspace.package] edition = "2024" version = "0.1.0" [workspace.dependencies] serde = { version = "1", features = ["derive"] } serde_json = "1" uuid = { version = "1", features = ["v4", "serde"] } time = { version = "0.3.47", features = ["local-offset", "parsing", "formatting", "macros"] } tokio = { version = "1", features = ["full"] } reqwest = { version = "0.12", default-features = false, features = ["json", "multipart", "rustls-tls"] } tracing = "0.1" toml = "0.8" [package] name = "doctate-server" version.workspace = true edition.workspace = true default-run = "doctate-server" [dependencies] doctate-common = { path = "../common" } axum = { version = "0.8", features = ["multipart"] } tokio.workspace = true reqwest.workspace = true tempfile = "3" askama = "0.12" tracing.workspace = true tracing-subscriber = { version = "0.3", features = ["env-filter"] } tracing-appender = "0.2" dotenvy = "0.15" uuid.workspace = true serde.workspace = true serde_json.workspace = true toml.workspace = true tower-http = { version = "0.6", features = ["limit", "trace", "set-header"] } tokio-stream = { version = "0.1", features = ["sync"] } futures-util = "0.3" rand = "0.8" bcrypt = "0.15" axum-extra = { version = "0.12", features = ["cookie", "form"] } time.workspace = true toml_edit = "0.25.11" rpassword = "7.4.0" pulldown-cmark = { version = "0.13", default-features = false, features = ["html"] } strsim = "0.11" spellbook = "0.4.0" subtle = "2" [dev-dependencies] tower = { version = "0.5", features = ["util"] } wiremock = "0.6" filetime = "0.2"