edc_web_ui/models/
policy_definition.rs1use 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}