[package]
name = "database"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
collab = { version = "0.1.0"}
collab-entity = { version = "0.1.0" }
validator = { version = "0.16", features = ["validator_derive", "derive"] }
database-entity.workspace = true
app-error = { workspace = true, features = ["sqlx_error", "validation_error", "s3_error"] }

tokio = { version = "1.26", features = ["sync"] }
async-trait = "0.1.73"
anyhow = "1.0.75"
serde.workspace = true
serde_json.workspace = true

sqlx = { version = "0.7", default-features = false, features = ["postgres", "chrono", "uuid", "macros", "runtime-tokio-rustls", "rust_decimal"] }
tracing = { version = "0.1.37" }
uuid = { version = "1.4.1", features = ["serde", "v4"] }
chrono = {version="0.4",features = ["serde"]}
redis = "0.23.3"
futures-util = "0.3.28"
bytes = "1.0"
rust-s3 = { version = "0.33.0", optional = true }
sha2 = "0.10.8"
base64 = "0.21.0"
rust_decimal = "1.32.0"

[features]
default = ["s3"]
s3 = ["rust-s3"]