role-system 1.1.1

A flexible and powerful role-based access control (RBAC) library for Rust applications
Documentation
[[bench]]
harness = false
name = "advanced_benchmarks"
path = "benches/advanced_benchmarks.rs"

[[bench]]
harness = false
name = "benchmark"
path = "benches/benchmark.rs"

[dependencies.async-trait]
optional = true
version = "0.1"

[dependencies.chrono]
features = ["serde"]
version = "0.4"

[dependencies.chrono-tz]
version = "0.10"

[dependencies.dashmap]
version = "6.1.0"

[dependencies.env_logger]
optional = true
version = "0.11.8"

[dependencies.log]
optional = true
version = "0.4"

[dependencies.num_cpus]
version = "1.16.0"

[dependencies.opentelemetry]
optional = true
version = "0.21"

[dependencies.opentelemetry-semantic-conventions]
optional = true
version = "0.13"

[dependencies.serde]
features = ["derive"]
optional = true
version = "1.0"

[dependencies.serde_json]
version = "1.0"

[dependencies.sqlx]
features = ["postgres", "sqlite", "runtime-tokio-rustls", "chrono", "uuid", "json"]
optional = true
version = "0.8"

[dependencies.thiserror]
version = "2.0.12"

[dependencies.tokio]
features = ["full"]
optional = true
version = "1.46"

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

[dev-dependencies.actix-web]
version = "4.4"

[dev-dependencies.axum]
version = "0.8.4"

[dev-dependencies.criterion]
version = "0.6.0"

[dev-dependencies.env_logger]
version = "0.11.8"

[dev-dependencies.mockall]
version = "0.13.1"

[dev-dependencies.proptest]
version = "1.0"

[dev-dependencies.quickcheck]
version = "1.0"

[dev-dependencies.quickcheck_macros]
version = "1.0"

[dev-dependencies.rand]
version = "0.8"

[dev-dependencies.rocket]
version = "0.5"

[dev-dependencies.tokio]
features = ["full"]
version = "1.0"

[dev-dependencies.tokio-test]
version = "0.4"

[[example]]
name = "basic_usage"
path = "examples/basic_usage.rs"

[[example]]
name = "enhanced_permissions"
path = "examples/enhanced_permissions.rs"

[[example]]
name = "hierarchy_access_demo"
path = "examples/hierarchy_access_demo.rs"

[[example]]
name = "test_serde_fix"
path = "examples/test_serde_fix.rs"

[[example]]
name = "v1_1_features"
path = "examples/v1_1_features.rs"

[features]
all = ["async", "persistence", "audit", "database", "telemetry"]
async = ["tokio", "async-trait"]
audit = ["log", "env_logger"]
database = ["sqlx", "async"]
default = ["async", "audit"]
persistence = ["serde"]
telemetry = ["opentelemetry", "opentelemetry-semantic-conventions"]

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

[package]
authors = ["Eric Evans <ciresnave@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["authentication", "web-programming"]
description = "A flexible and powerful role-based access control (RBAC) library for Rust applications"
edition = "2024"
exclude = ["src/error.rs.backup", "src/error_broken.rs", "src/error_fixed.rs", "src/error_new.rs", "*.backup", "TELEMETRY_*.md", "IMPLEMENTATION_SUMMARY.md", "PHASE1_COMPLETE.md", "TEST_COVERAGE_ANALYSIS.md", "examples/batch_test.rs", "examples/phase1_improvements.rs", "examples/telemetry_demo.rs"]
keywords = ["rbac", "authorization", "permissions", "roles", "access-control"]
license = "MIT OR Apache-2.0"
name = "role-system"
readme = "README.md"
repository = "https://github.com/ciresnave/role-system"
version = "1.1.1"

[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"

[[test]]
name = "permission_edge_cases"
path = "tests/permission_edge_cases.rs"

[[test]]
name = "security_tests"
path = "tests/security_tests.rs"