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

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

[lints]
workspace = true

[features]
full = [
  "diesel",
  "diesel-derive-newtype",
  "diesel-derive-enum",
  "diesel_migrations",
  "bcrypt",
  "lemmy_utils",
  "activitypub_federation",
  "regex",
  "once_cell",
  "serde_json",
  "diesel_ltree",
  "diesel-async",
  "deadpool",
  "ts-rs",
  "tokio",
  "tokio-postgres",
  "tokio-postgres-rustls",
  "rustls",
]

[dependencies]
chrono = { workspace = true }
serde = { workspace = true }
serde_with = { workspace = true }
url = { workspace = true }
strum = { workspace = true }
strum_macros = { workspace = true }
serde_json = { workspace = true, optional = true }
activitypub_federation = { workspace = true, optional = true }
lemmy_utils = { workspace = true, optional = true }
bcrypt = { workspace = true, optional = true }
diesel = { workspace = true, features = [
  "postgres",
  "chrono",
  "serde_json",
  "uuid",
], optional = true }
diesel-derive-newtype = { workspace = true, optional = true }
diesel-derive-enum = { workspace = true, optional = true }
diesel_migrations = { workspace = true, optional = true }
diesel-async = { workspace = true, features = [
  "postgres",
  "deadpool",
], optional = true }
regex = { workspace = true, optional = true }
once_cell = { workspace = true, optional = true }
diesel_ltree = { workspace = true, optional = true }
typed-builder = { workspace = true }
async-trait = { workspace = true }
tracing = { workspace = true }
deadpool = { version = "0.9.5", features = ["rt_tokio_1"], optional = true }
ts-rs = { workspace = true, optional = true }
futures-util = { workspace = true }
tokio = { workspace = true, optional = true }
tokio-postgres = { workspace = true, optional = true }
tokio-postgres-rustls = { workspace = true, optional = true }
rustls = { workspace = true, optional = true }
uuid = { workspace = true, features = ["v4"] }

[dev-dependencies]
serial_test = { workspace = true }

[package.metadata.cargo-machete]
ignored = ["strum"]
