[package]
name = "robotech"
version = "0.11.1"
edition = "2024"
authors = ["zbz"]
keywords = ["crud", "microservice", "service", "RESTful"]
description = "Backend service implementation for the RoboTech platform, providing RESTful APIs and business logic for web applications."
categories = ["web-programming::http-server"]
license = "MIT"
homepage = "https://github.com/rusthing/robotech-rs"
repository = "https://github.com/rusthing/robotech-rs"
readme = "README.md"

[features]
base = ["dep:log", "dep:tracing-log", "dep:tracing-core", "dep:tracing-subscriber", "dep:tracing-appender", "dep:chrono", "dep:serde", "dep:serde_json", "dep:utoipa"]
api = ["base", "dep:reqwest"]
svr = ["base", "dep:wheel-rs", "dep:config", "dep:thiserror", "dep:validator"]
web = ["svr", "dep:actix-web"]
crud = ["svr", "dep:sea-orm", "dep:regex", "dep:once_cell"]

[dependencies]
log = { version = "0.4.28", optional = true }
tracing-log = { version = "0.2.0", optional = true }
tracing-core = { version = "0.1.35", optional = true }
tracing-subscriber = { version = "0.3.20", features = ["env-filter", "json", "chrono", "tracing-log"], optional = true }
tracing-appender = { version = "0.2.4", optional = true }
config = { version = "0.15.19", optional = true }
chrono = { version = "0.4.42", optional = true }
regex = { version = "1.12.2", optional = true }
serde = { version = "1.0.228", optional = true }
serde_json = { version = "1.0.145", optional = true }
actix-web = { version = "4.12.1", optional = true }
sea-orm = { version = "1.1.19", optional = true }
thiserror = { version = "2.0.17", optional = true }
once_cell = { version = "1.21.3", optional = true }
validator = { version = "0.20.0", optional = true }
reqwest = { version = "0.12.24", features = ["multipart", "json", "stream"], optional = true }
utoipa = { version = "5.4.0", optional = true }
async-trait = "0.1.89"
wheel-rs = { version = "0.4.1", optional = true }
[patch.crates-io]
wheel-rs = { path = "../wheel-rs", optional = true }

