[package] name = "syntaxis-api" version.workspace = true edition.workspace = true rust-version.workspace = true authors.workspace = true license.workspace = true repository.workspace = true description = "REST API for syntaxis management" [[bin]] name = "syntaxis-api" path = "src/main.rs" [package.metadata.syntaxis] use_wrapper = true install_mode = "cargo|bin" config_src = "configs/api" [dependencies] syntaxis-core = { path = "../syntaxis" } shared-api-lib = { path = "../../../shared/rust-api/shared-api-lib", features = ["metrics", "auth", "rate-limit", "websocket", "tls"] } # Web framework (core dependencies maintained for project-specific needs) axum = { workspace = true } tokio = { workspace = true } tower = { workspace = true } tower-http = { workspace = true } async-trait = { workspace = true } # TLS support tokio-rustls = { workspace = true } rustls = { workspace = true } rustls-pemfile = { workspace = true } # Serialization serde = { workspace = true } serde_json = { workspace = true } toml = { workspace = true } uuid = { workspace = true } # Authentication jsonwebtoken = { workspace = true } # CLI argument parsing clap = { workspace = true } # Futures futures = { workspace = true } # Error handling thiserror = { workspace = true } anyhow = { workspace = true } # Logging/Tracing (kept for project-specific configuration) tracing = { workspace = true } tracing-subscriber = { workspace = true } # Date/time chrono = { workspace = true } # Caching moka = { workspace = true } # Database (with rustls feature for this crate) sqlx = { workspace = true } sqlx-sqlite = { workspace = true } # Password hashing argon2 = "0.5" rand = { workspace = true } rand_core = { workspace = true } [dev-dependencies] tokio-test = { workspace = true }