
Some checks are pending
iOS UniFFI Build / build-ios (push) Waiting to run
Add church management API library with cross-platform support for iOS, Android, and WASM. Features include event management, bulletin handling, contact forms, and authentication.
114 lines
2.2 KiB
TOML
114 lines
2.2 KiB
TOML
[package]
|
|
name = "church-core"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "Shared Rust crate for church application APIs and data models"
|
|
authors = ["Benjamin Slingo <benjamin@example.com>"]
|
|
license = "MIT"
|
|
|
|
[dependencies]
|
|
# HTTP client (using rustls to avoid OpenSSL cross-compilation issues)
|
|
reqwest = { version = "0.11", features = ["json", "multipart", "stream", "rustls-tls"], default-features = false }
|
|
tokio = { version = "1.0", features = ["full"] }
|
|
|
|
# JSON handling
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
|
|
# Date/time handling
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
|
|
# Error handling
|
|
thiserror = "1.0"
|
|
anyhow = "1.0"
|
|
|
|
# Caching and utilities
|
|
moka = { version = "0.12", features = ["future"] }
|
|
async-trait = "0.1"
|
|
rand = "0.8"
|
|
urlencoding = "2.1"
|
|
|
|
# UUID generation
|
|
uuid = { version = "1.0", features = ["v4", "serde"] }
|
|
|
|
# Base64 encoding for image caching
|
|
base64 = "0.21"
|
|
|
|
# URL handling
|
|
url = "2.4"
|
|
|
|
# Regular expressions
|
|
regex = "1.10"
|
|
|
|
# System calls for iOS device detection
|
|
libc = "0.2"
|
|
|
|
# HTML processing
|
|
html2text = "0.12"
|
|
|
|
# UniFFI for mobile bindings
|
|
uniffi = { version = "0.27", features = ["tokio"] }
|
|
|
|
# Build dependencies
|
|
[build-dependencies]
|
|
uniffi = { version = "0.27", features = ["build"], optional = true }
|
|
uniffi_bindgen = { version = "0.27", features = ["clap"] }
|
|
|
|
# Bin dependencies
|
|
[dependencies.uniffi_bindgen_dep]
|
|
package = "uniffi_bindgen"
|
|
version = "0.27"
|
|
optional = true
|
|
|
|
# Testing dependencies
|
|
[dev-dependencies]
|
|
tokio-test = "0.4"
|
|
mockito = "0.31"
|
|
serde_json = "1.0"
|
|
tempfile = "3.8"
|
|
pretty_assertions = "1.4"
|
|
|
|
# Optional FFI support
|
|
[dependencies.wasm-bindgen]
|
|
version = "0.2"
|
|
optional = true
|
|
|
|
[dependencies.wasm-bindgen-futures]
|
|
version = "0.4"
|
|
optional = true
|
|
|
|
[dependencies.js-sys]
|
|
version = "0.3"
|
|
optional = true
|
|
|
|
[dependencies.web-sys]
|
|
version = "0.3"
|
|
optional = true
|
|
features = [
|
|
"console",
|
|
"Window",
|
|
"Document",
|
|
"Element",
|
|
"HtmlElement",
|
|
"Storage",
|
|
"Request",
|
|
"RequestInit",
|
|
"Response",
|
|
"Headers",
|
|
]
|
|
|
|
[features]
|
|
default = ["native"]
|
|
native = []
|
|
wasm = ["wasm-bindgen", "wasm-bindgen-futures", "js-sys", "web-sys"]
|
|
ffi = ["uniffi/tokio"]
|
|
uniffi = ["ffi", "uniffi/build"]
|
|
|
|
[lib]
|
|
crate-type = ["cdylib", "staticlib", "rlib"]
|
|
|
|
[[bin]]
|
|
name = "church-core-test"
|
|
path = "src/bin/test.rs"
|
|
|