aft/bash_permissions/
mod.rs1pub mod arity;
8pub mod scan;
9
10use crate::context::AppContext;
11use serde::{Deserialize, Serialize};
12
13#[derive(Debug, Clone, Serialize, Deserialize)]
14pub struct PermissionAsk {
15 pub kind: PermissionKind,
16 pub patterns: Vec<String>,
17 pub always: Vec<String>,
18}
19
20#[derive(Debug, Clone, Serialize, Deserialize)]
21pub enum PermissionKind {
22 #[serde(rename = "external_directory")]
23 ExternalDirectory,
24 #[serde(rename = "bash")]
25 Bash,
26}
27
28pub fn scan(command: &str, ctx: &AppContext) -> Vec<PermissionAsk> {
30 scan::scan(command, ctx)
31}