spawn-access-control 0.1.12

A Rust library for access control management with WebAssembly support, including role-based access control (RBAC), permissions, and audit logging.
Documentation
extern crate wasm_bindgen;

use wasm_bindgen::prelude::*;

#[wasm_bindgen]
pub struct WasmAccessControl {
    inner: crate::AccessControl,
}

#[wasm_bindgen]
impl WasmAccessControl {
    #[wasm_bindgen(constructor)]
    pub fn new() -> Self {
        Self {
            inner: crate::AccessControl::new()
        }
    }

    pub fn check_access(&self, resource_name: &str, role_name: &str) -> bool {
        let resource = crate::Resource::new(resource_name, vec![role_name.to_string()]);
        self.inner.has_access(&resource)
    }

    pub fn generate_token(&self) -> String {
        crate::AccessControl::generate_secure_token()
    }
}

#[wasm_bindgen]
pub fn init_panic_hook() {
    console_error_panic_hook::set_once();
}