[package]
name = "client-api"
version = "0.1.0"
edition = "2021"

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

[dependencies]
reqwest = { version = "0.11.20", default-features = false, features = ["json","multipart"] }
anyhow = "1.0.75"
serde_json.workspace = true
serde_repr = "0.1.16"
gotrue = { path = "../gotrue" }
gotrue-entity = { path = "../gotrue-entity" }
shared_entity = { path = "../shared-entity" }
database-entity.workspace = true
url = "2.4.1"
tokio-stream = { version = "0.1.14" }
parking_lot = "0.12.1"
mime = "0.3.17"
app-error = { workspace = true }

# ws
tracing = { version = "0.1" }
thiserror = "1.0.39"
serde.workspace = true
tokio-tungstenite = { version = "0.20.1", features = ["native-tls"] }
tokio = { version = "1.26", features = ["full"] }
futures-util = "0.3.26"
futures-core = "0.3.26"
tokio-retry = "0.3"
bytes = "1.0"
uuid = "1.4.1"
scraper = { version = "0.17.1", optional = true }

# collab sync
collab = { version = "0.1.0", optional = true }
collab-entity = { version = "0.1.0" }
yrs = { version = "0.16.5", optional = true }
lib0 = { version = "0.16.3", features = ["lib0-serde"], optional = true }
realtime-entity = { workspace = true, features = ["tungstenite"] }
mime_guess = "2.0.4"
async-trait = { version = "0.1.73" }
prost = "0.12.1"


[features]
collab-sync = ["collab", "yrs", "lib0"]
test_util = ["scraper"]


