systemprompt_security/authz/types/
rule.rs1use serde::{Deserialize, Serialize};
2use systemprompt_identifiers::RuleId;
3
4use super::kinds::{Access, EntityKind, RuleType};
5
6#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, sqlx::FromRow)]
7pub struct AccessRule {
8 pub id: RuleId,
9 pub rule_type: RuleType,
10 pub rule_value: String,
11 pub access: Access,
12 #[serde(default, skip_serializing_if = "Option::is_none")]
13 pub justification: Option<String>,
14}
15
16#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
26pub struct EntityRow {
27 pub kind: EntityKind,
28 pub id: String,
29 pub default_included: bool,
30 pub source: String,
31}