[package] name = "convertx-api" version = "0.1.0" edition = "2021" authors = ["ConvertX Team"] description = "ConvertX API Server - REST & GraphQL file conversion API" license = "MIT" repository = "https://github.com/your-username/ConvertX-CN" [dependencies] # Web framework axum = { version = "0.7", features = ["multipart"] } tokio = { version = "1.0", features = ["full"] } tower = "0.4" tower-http = { version = "0.5", features = ["cors", "trace", "fs"] } # GraphQL async-graphql = { version = "7.0", features = ["uuid"] } async-graphql-axum = "7.0" # Authentication jsonwebtoken = "9.0" # Serialization serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" # Async utilities futures = "0.3" async-trait = "0.1" # UUID for job IDs uuid = { version = "1.0", features = ["v4", "serde"] } # File handling mime_guess = "2.0" tempfile = "3.0" # Logging tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } # Error handling thiserror = "1.0" anyhow = "1.0" # Time chrono = { version = "0.4", features = ["serde"] } # Base64 encoding base64 = "0.22" # Configuration dotenvy = "0.15" # Process execution (for calling converters) tokio-process = "0.2" [dev-dependencies] axum-test = "14.0" tokio-test = "0.4" reqwest = { version = "0.11", features = ["json", "multipart"] } pretty_assertions = "1.0"