# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "cts-common"
version = "0.37.0"
authors = [
    "Dan Draper <dan@cipherstash.com>",
    "Drew Thomas <drew@cipherstash.com>",
    "Fiona McCawley <fiona@cipherstash.com>",
    "James Sadler <james@cipherstash.com>",
    "Kate Andrews <kate@cipherstash.com>",
    "Lindsay Holmwood <lindsay@cipherstash.com>",
    "Paul Hawkins <paul@cipherstash.com>",
    "Robin Howard <robin@cipherstash.com>",
    "Toby Hede <toby@cipherstash.com>",
    "Yuji Yokoo <yuji@cipherstash.com>",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Common types and traits used across the CipherStash ecosystem"
homepage = "https://cipherstash.com"
documentation = "https://docs.rs/cts-common"
readme = false
keywords = [
    "cryptography",
    "security",
    "databases",
    "encryption",
    "sql",
]
categories = [
    "cryptography",
    "database",
]
license-file = "LICENSE"
repository = "https://github.com/cipherstash/cipherstash-suite"

[features]
cached = [
    "dep:cached",
    "dep:chrono",
]
default = [
    "server",
    "test_utils",
]
server = [
    "dep:axum",
    "dep:axum-extra",
    "dep:http",
    "dep:diesel",
    "dep:pq-sys",
    "dep:openssl-sys",
]
test_utils = [
    "dep:fake",
    "dep:rand",
]

[lib]
name = "cts_common"
path = "src/lib.rs"

[dependencies.arrayvec]
version = "0.7.6"
features = ["serde"]

[dependencies.axum]
version = "0.8.4"
optional = true

[dependencies.axum-extra]
version = "0.10.1"
features = ["typed-routing"]
optional = true

[dependencies.base32]
version = "0.5.1"

[dependencies.cached]
version = "0.54.0"
optional = true

[dependencies.chrono]
version = "0.4.42"
features = [
    "clock",
    "serde",
    "std",
]
optional = true
default-features = false

[dependencies.derive_more]
version = "2.0.1"
features = ["display"]

[dependencies.diesel]
version = "2.2.0"
features = [
    "uuid",
    "chrono",
]
optional = true

[dependencies.either]
version = "1.15.0"
features = ["serde"]

[dependencies.fake]
version = "3.1.0"
features = ["derive"]
optional = true

[dependencies.http]
version = "1.0.0"
optional = true

[dependencies.miette]
version = "7.5.0"
features = ["fancy"]

[dependencies.nom]
version = "8.0.0"

[dependencies.openssl-sys]
version = "0.9.100"
features = ["vendored"]
optional = true

[dependencies.pq-sys]
version = "0.7.3"
features = ["bundled"]
optional = true

[dependencies.rand]
version = "0.8.0"
optional = true

[dependencies.regex]
version = "1.11.1"

[dependencies.serde]
version = "1.0"
features = [
    "derive",
    "derive",
]

[dependencies.serde_json]
version = "1.0.132"

[dependencies.thiserror]
version = "1.0.56"

[dependencies.tracing]
version = "0.1"
features = ["log"]

[dependencies.url]
version = "2.5.4"
features = ["serde"]

[dependencies.utoipa]
version = "5.4.0"
features = [
    "url",
    "uuid",
]

[dependencies.uuid]
version = "1.8"
features = [
    "v4",
    "v5",
    "serde",
]

[dependencies.vitaminc]
version = "0.2.0-pre"
features = [
    "random",
    "protected",
    "encrypt",
    "random",
]

[dev-dependencies.anyhow]
version = "1.0.79"

[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom]
version = "0.4"
features = ["wasm_js"]

[target.'cfg(target_arch = "wasm32")'.dependencies.uuid]
version = "1.8"
features = [
    "v4",
    "v5",
    "serde",
    "js",
]
