[package] name = "spawn-access-control" version = "0.1.12" edition = "2021" description = "A Rust library for access control management with WebAssembly support, including role-based access control (RBAC), permissions, and audit logging." license = "MIT" repository = "https://github.com/nzengi/spawn-access-control" homepage = "https://github.com/nzengi/access-control" documentation = "https://docs.rs/access-control" readme = "README.md" keywords = ["WASM", "access-control", "blockchain", "WebAssembly", "Rust"] categories = ["cryptography", "web-programming"] [dependencies] serde = { version = "1.0", features = ["derive"] } tokio = { version = "1.0", features = ["full"], optional = true } moka = { version = "0.12", features = ["future"] } tracing = "0.1" metrics = "0.21" ring = "0.17" redis = { version = "0.23", optional = true } prometheus = { version = "0.13", optional = true } opentelemetry = { version = "0.20", optional = true } base64 = "0.21" time = "0.3" maxminddb = "0.23" smartcore = { version = "0.3", features = ["serde"] } rayon = "1.8" ndarray = "0.15" lettre = { version = "0.11", features = ["tokio1", "tokio1-native-tls"], optional = true } handlebars = "4.4" reqwest = { version = "0.11", features = ["json"] } sqlx = { version = "0.7", features = ["postgres", "runtime-tokio-native-tls", "chrono", "uuid", "json"] } uuid = { version = "1.5", features = ["v4", "serde"] } wasm-bindgen = { version = "0.2", optional = true } web-sys = { version = "0.3", features = ["Window", "Performance", "PerformanceTiming", "console"], optional = true } console_error_panic_hook = { version = "0.1", optional = true } serde-wasm-bindgen = { version = "0.6", optional = true } chrono = { version = "0.4", features = ["serde"] } thiserror = "1.0" async-trait = "0.1" futures = "0.3" serde_json = "1.0" mongodb = "2.8" bson = "2.8" rand = "0.8" clap = { version = "4.0", features = ["derive"] } csv = "1.2" [target.'cfg(not(target_arch = "wasm32"))'.dependencies] mio = "0.8" [target.'cfg(target_arch = "wasm32")'.dependencies] js-sys = "0.3" wasm-bindgen = "0.2" wasm-bindgen-futures = "0.4" [lib] crate-type = ["cdylib", "rlib"] [features] default = ["wasm", "moka/future", "async"] wasm = [ "wasm-bindgen", "web-sys", "console_error_panic_hook", "serde-wasm-bindgen" ] async = ["tokio", "lettre"] sync = ["moka/sync"] distributed = ["redis"] metrics = ["prometheus", "opentelemetry"] enterprise = ["metrics", "distributed", "async"] [dev-dependencies] criterion = "0.5" tokio-test = "0.4" rand = "0.8" [[bench]] name = "benchmarks" harness = false