pub struct PermissionRequest {
pub id: String,
pub target: GrantTarget,
pub required_level: PermissionLevel,
pub description: String,
pub reason: Option<String>,
pub tool_name: Option<String>,
}Expand description
A request for permission to perform an operation.
Permission requests are generated by tools when they need access to resources. The request specifies:
- What target is being accessed
- What level of access is needed
- A human-readable description of the operation
Fields§
§id: StringUnique identifier for this request.
target: GrantTargetThe target being accessed.
required_level: PermissionLevelThe required permission level.
description: StringHuman-readable description of the operation.
reason: Option<String>Optional reason explaining why this access is needed.
tool_name: Option<String>The tool that generated this request.
Implementations§
Source§impl PermissionRequest
impl PermissionRequest
Sourcepub fn new(
id: impl Into<String>,
target: GrantTarget,
required_level: PermissionLevel,
description: impl Into<String>,
) -> Self
pub fn new( id: impl Into<String>, target: GrantTarget, required_level: PermissionLevel, description: impl Into<String>, ) -> Self
Creates a new permission request.
Sourcepub fn with_reason(self, reason: impl Into<String>) -> Self
pub fn with_reason(self, reason: impl Into<String>) -> Self
Sets the reason for this request.
Sourcepub fn with_tool(self, tool_name: impl Into<String>) -> Self
pub fn with_tool(self, tool_name: impl Into<String>) -> Self
Sets the tool name for this request.
Sourcepub fn file_read(id: impl Into<String>, path: impl Into<PathBuf>) -> Self
pub fn file_read(id: impl Into<String>, path: impl Into<PathBuf>) -> Self
Creates a file read request.
Sourcepub fn file_write(id: impl Into<String>, path: impl Into<PathBuf>) -> Self
pub fn file_write(id: impl Into<String>, path: impl Into<PathBuf>) -> Self
Creates a file write request.
Sourcepub fn directory_read(
id: impl Into<String>,
path: impl Into<PathBuf>,
recursive: bool,
) -> Self
pub fn directory_read( id: impl Into<String>, path: impl Into<PathBuf>, recursive: bool, ) -> Self
Creates a directory read request.
Sourcepub fn command_execute(
id: impl Into<String>,
command: impl Into<String>,
) -> Self
pub fn command_execute( id: impl Into<String>, command: impl Into<String>, ) -> Self
Creates a command execution request.
Sourcepub fn network_access(
id: impl Into<String>,
domain: impl Into<String>,
level: PermissionLevel,
) -> Self
pub fn network_access( id: impl Into<String>, domain: impl Into<String>, level: PermissionLevel, ) -> Self
Creates a network request.
Trait Implementations§
Source§impl Clone for PermissionRequest
impl Clone for PermissionRequest
Source§fn clone(&self) -> PermissionRequest
fn clone(&self) -> PermissionRequest
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 PermissionRequest
impl Debug for PermissionRequest
Source§impl<'de> Deserialize<'de> for PermissionRequest
impl<'de> Deserialize<'de> for PermissionRequest
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 Display for PermissionRequest
impl Display for PermissionRequest
Source§impl PartialEq for PermissionRequest
impl PartialEq for PermissionRequest
Source§impl Serialize for PermissionRequest
impl Serialize for PermissionRequest
impl Eq for PermissionRequest
impl StructuralPartialEq for PermissionRequest
Auto Trait Implementations§
impl Freeze for PermissionRequest
impl RefUnwindSafe for PermissionRequest
impl Send for PermissionRequest
impl Sync for PermissionRequest
impl Unpin for PermissionRequest
impl UnwindSafe for PermissionRequest
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.