Skip to main content

edc_web_ui/models/
policy_definition.rs

1use crate::models::PolicyKind;
2use edc_connector_client::types::policy::PolicyDefinition;
3
4#[derive(Clone, Debug, PartialEq)]
5pub struct PolicyDefinitionItem {
6  pub id: String,
7  pub kind: String,
8  pub assignee: Option<String>,
9  pub assigner: Option<String>,
10}
11
12impl From<PolicyDefinition> for PolicyDefinitionItem {
13  fn from(policy_definition: PolicyDefinition) -> Self {
14    PolicyDefinitionItem {
15      id: policy_definition.id().to_string(),
16      kind: PolicyKind::from(policy_definition.policy().kind()).to_string(),
17      assignee: policy_definition
18        .policy()
19        .assignee()
20        .map(|assignee| assignee.to_string()),
21      assigner: policy_definition
22        .policy()
23        .assigner()
24        .map(|assigner| assigner.to_string()),
25    }
26  }
27}