[package]
name = "force"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
description = "Production-ready Salesforce Platform API client with REST and Bulk API 2.0 support"
keywords = ["salesforce", "api", "rest", "bulk", "crm"]
categories = ["api-bindings", "web-programming"]
documentation = "https://docs.rs/force"
homepage = "https://github.com/madmax983/force-rs"
readme = "../../README.md"
[lints]
workspace = true
[dependencies]
tokio = { workspace = true }
reqwest = { workspace = true, features = ["stream"] }
serde = { workspace = true }
serde_json = { workspace = true }
chrono = { workspace = true }
thiserror = { workspace = true }
secrecy = { workspace = true }
base64 = { workspace = true }
url.workspace = true
tracing = { workspace = true }
futures = { workspace = true }
async-trait = { workspace = true }
bytes = { workspace = true }
percent-encoding = { workspace = true }
jsonwebtoken = { workspace = true, optional = true }
csv = { workspace = true, optional = true }
wiremock = { workspace = true, optional = true }
[dev-dependencies]
loom = "0.7"
tokio-test = "0.4"
anyhow = { workspace = true }
wiremock = { workspace = true }
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
proptest = "1.5"
[features]
default = ["rest"]
files = ["rest"]
rest = []
tooling = []
bulk = ["dep:csv"]
composite = ["rest"]
composite_graph = ["composite"]
schema = ["rest"]
data_utility = ["composite"]
jwt = ["dep:jsonwebtoken"]
username_password = []
mock = ["dep:wiremock"]
ui = []
graphql = []
data_cloud = []
apex_rest = []
cpq = ["apex_rest"]
consent = []
full = ["rest", "files", "bulk", "composite", "tooling", "jwt", "ui", "graphql", "data_cloud", "apex_rest", "consent"]
all = ["full", "schema", "data_utility", "composite_graph", "cpq"]
[[example]]
name = "query_plan"
required-features = ["rest"]
[[example]]
name = "data_dictionary"
required-features = ["schema"]
[[example]]
name = "generate_struct"
required-features = ["schema"]
[[example]]
name = "soql_mass_op"
required-features = ["composite"]
[[example]]
name = "tooling"
required-features = ["tooling"]
[[example]]
name = "ui_api"
required-features = ["ui"]
[[example]]
name = "graphql"
required-features = ["graphql"]