pub struct SecurityConfig {
pub role_definitions: Vec<RoleDefinition>,
pub default_role: Option<String>,
pub additional: HashMap<String, Value>,
}Expand description
Security configuration from fraiseql.toml.
Contains role definitions and other security-related settings that are compiled into schema.compiled.json.
Fields§
§role_definitions: Vec<RoleDefinition>Role definitions mapping role names to their granted scopes.
default_role: Option<String>Default role when none is specified.
additional: HashMap<String, Value>Additional security settings (rate limiting, audit logging, etc.)
Implementations§
Source§impl SecurityConfig
impl SecurityConfig
Sourcepub fn add_role(&mut self, role: RoleDefinition)
pub fn add_role(&mut self, role: RoleDefinition)
Add a role definition.
Sourcepub fn find_role(&self, name: &str) -> Option<&RoleDefinition>
pub fn find_role(&self, name: &str) -> Option<&RoleDefinition>
Find a role definition by name.
Sourcepub fn get_role_scopes(&self, role_name: &str) -> Vec<String>
pub fn get_role_scopes(&self, role_name: &str) -> Vec<String>
Get all scopes granted to a role.
Sourcepub fn role_has_scope(&self, role_name: &str, scope: &str) -> bool
pub fn role_has_scope(&self, role_name: &str, scope: &str) -> bool
Check if a role has a specific scope.
Trait Implementations§
Source§impl Clone for SecurityConfig
impl Clone for SecurityConfig
Source§fn clone(&self) -> SecurityConfig
fn clone(&self) -> SecurityConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SecurityConfig
impl Debug for SecurityConfig
Source§impl Default for SecurityConfig
impl Default for SecurityConfig
Source§fn default() -> SecurityConfig
fn default() -> SecurityConfig
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for SecurityConfig
impl<'de> Deserialize<'de> for SecurityConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for SecurityConfig
impl PartialEq for SecurityConfig
Source§impl Serialize for SecurityConfig
impl Serialize for SecurityConfig
impl StructuralPartialEq for SecurityConfig
Auto Trait Implementations§
impl Freeze for SecurityConfig
impl RefUnwindSafe for SecurityConfig
impl Send for SecurityConfig
impl Sync for SecurityConfig
impl Unpin for SecurityConfig
impl UnsafeUnpin for SecurityConfig
impl UnwindSafe for SecurityConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more