[package]
name = "shared-framework"
version = "0.0.15"
edition = "2024"
description = "Reusable building blocks for HTTP services — Hyper routing, SeaORM data layer, validation, OpenAPI docs, jobs, queues, cache."
license = "Apache-2.0"
repository = "https://github.com/moovable-tech/rust-framework"
[lib]
name = "shared_framework"
path = "lib.rs"
[dependencies]
tokio = { version = "1.38", features = ["full"] }
hyper = { version = "1.6", features = ["full"] }
hyper-util = { version = "0.1", features = ["full"] }
http-body-util = "0.1"
http = "1"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_urlencoded = "0.7"
uuid = { version = "1.8", features = ["v4", "serde"] }
chrono = { version = "0.4", features = ["serde"] }
sea-orm = { version = "2.0", features = ["sqlx-postgres", "runtime-tokio-rustls", "macros", "with-json", "with-chrono", "with-uuid", "debug-print"] }
dotenvy = "0.15"
thiserror = "2.0"
anyhow = "1.0"
tracing = "0.1.44"
tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt", "ansi"] }
base64 = "0.23.1"
regex = "1.10"
rand = "0.10.2"
hex = "0.4"
once_cell = "1.19"
async-trait = "0.1"
urlencoding = "2.1"
futures = "0.3"
argon2 = "0.6.0"
schemars = { version = "1.2.2", features = ["default"] }
password-hash = { version = "0.6", features = ["getrandom"] }
tokio-cron-scheduler = "0.15.1"
lapin = { version = "4.11.0", features = ["rustls"] }
redis = { version = "1.7.0", features = ["tokio-comp", "connection-manager"] }
reqwest = { version = "0.13.5", features = ["json", "rustls"], default-features = false }
basilisk-rust-client = { version = "0.1.1" }
url = "2.5.8"
[dev-dependencies]