[package]
name = "cinderblock-json-api"
description = "JSON REST API extension for cinderblock with Axum router, auto-registered endpoints, and OpenAPI support"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
readme.workspace = true
keywords.workspace = true
categories.workspace = true

[dependencies]
cinderblock-core.workspace = true
cinderblock-json-api-macros.workspace = true
axum = "0.8"
inventory = "0.3"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tracing = "0.1"
utoipa = { version = "5.4.0", features = ["uuid"] }
utoipa-swagger-ui = { version = "9.0.2", features = ["axum", "vendored"], optional = true }
uuid = { version = "1", features = ["v4", "serde"] }

[dev-dependencies]
assert2 = "0.3"
http-body-util = "0.1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tokio = { version = "1", features = ["full"] }
tower = { version = "0.5", features = ["util"] }
tracing-subscriber = "0.3"
uuid = { version = "1", features = ["v4", "serde"] }

[features]
swagger-ui = ["dep:utoipa-swagger-ui"]
