[package]
name = "flowy-server"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[lib]
crate-type = ["cdylib", "rlib"]


[dependencies]
tracing.workspace = true
futures.workspace = true
futures-util = "0.3.26"
reqwest = { version = "0.11.20", features = ["native-tls-vendored", "multipart", "blocking"] }
hyper = "0.14"
serde.workspace = true
serde_json.workspace = true
thiserror = "1.0"
tokio = { workspace = true, features = ["sync"] }
lazy_static = "1.4.0"
bytes = { workspace = true, features = ["serde"] }
tokio-retry = "0.3"
anyhow.workspace = true
arc-swap.workspace = true
dashmap.workspace = true
uuid.workspace = true
chrono = { workspace = true, default-features = false, features = ["clock", "serde"] }
collab = { workspace = true }
collab-plugins = { workspace = true }
collab-document = { workspace = true }
collab-entity = { workspace = true }
collab-folder = { workspace = true }
collab-database = { workspace = true }
collab-user = { workspace = true }
hex = "0.4.3"
postgrest = "1.0"
lib-infra = { workspace = true }
flowy-user-pub = { workspace = true }
flowy-folder-pub = { workspace = true }
flowy-database-pub = { workspace = true }
flowy-document-pub = { workspace = true }
flowy-error = { workspace = true, features = ["impl_from_serde", "impl_from_reqwest", "impl_from_url", "impl_from_appflowy_cloud"] }
flowy-server-pub = { workspace = true }
flowy-search-pub = { workspace = true }
flowy-storage = { workspace = true }
flowy-storage-pub = { workspace = true }
flowy-ai-pub = { workspace = true }
mime_guess = "2.0"
url = "2.4"
tokio-util = "0.7"
tokio-stream = { workspace = true, features = ["sync"] }
lib-dispatch = { workspace = true }
yrs.workspace = true
rand = "0.8.5"
semver = "1.0.23"

[dependencies.client-api]
workspace = true
features = [
  "collab-sync",
  "test_util",
  "enable_brotli",
  # Uncomment the following line to enable verbose logging for sync
  # "sync_verbose_log",
]

[dev-dependencies]
uuid.workspace = true
tracing-subscriber = { version = "0.3.3", features = ["env-filter"] }
dotenv = "0.15.0"
assert-json-diff = "2.0.2"
serde_json.workspace = true

[features]
enable_supabase = ["collab-plugins/postgres_plugin"]
