[package]
name = "lemmy_diesel_utils"
version.workspace = true
edition.workspace = true
description.workspace = true
license.workspace = true
homepage.workspace = true
documentation.workspace = true
repository.workspace = true
rust-version.workspace = true

[lib]
name = "lemmy_diesel_utils"
path = "src/lib.rs"
doctest = false

[lints]
workspace = true

[features]
ts-rs = ["dep:ts-rs"]
full = [
  "diesel-async",
  "chrono",
  "diesel_migrations",
  "anyhow",
  "diesel_ltree",
  "tracing",
  "deadpool",
  "futures-util",
  "tokio",
  "tokio-postgres",
  "tokio-postgres-rustls",
  "rustls",
  "i-love-jesus",
  "lemmy_utils/full",
  "diesel",
  "activitypub_federation",
  "serde_urlencoded",
  "base64",
  "itertools",
]

[dependencies]
diesel = { workspace = true, optional = true }
chrono = { workspace = true, optional = true }
diesel_migrations = { workspace = true, optional = true }
anyhow = { workspace = true, optional = true }
serde = { workspace = true }
url = { workspace = true }
activitypub_federation = { workspace = true, optional = true }
diesel-derive-newtype = { workspace = true }
diesel-async = { workspace = true, features = [
  "deadpool",
  "postgres",
], optional = true }
diesel_ltree = { workspace = true, optional = true }
tracing = { workspace = true, optional = true }
deadpool = { version = "0.13.0", features = ["rt_tokio_1"], optional = true }
ts-rs = { workspace = true, optional = true }
futures-util = { workspace = true, optional = true }
tokio = { workspace = true, optional = true }
tokio-postgres = { workspace = true, optional = true }
tokio-postgres-rustls = { workspace = true, optional = true }
rustls = { workspace = true, optional = true }
i-love-jesus = { workspace = true, optional = true }
lemmy_utils = { workspace = true, features = ["full"], optional = true }
serde_urlencoded = { version = "0.7.1", optional = true }
base64 = { workspace = true, optional = true }
serde_with = { workspace = true }
itertools = { workspace = true, optional = true }

[dev-dependencies]
serial_test = { workspace = true }
diff = "0.1.13"
itertools = { workspace = true }
pathfinding = "4.15.0"
unified-diff = { workspace = true }
diesel_ltree = { workspace = true }
lemmy_db_schema_file = { workspace = true, features = ["full"] }
lemmy_utils = { workspace = true, features = ["full"] }
pretty_assertions = { workspace = true }
