use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GetConfigurationResponse {
#[serde(rename = "policy_decision_point")]
pub policy_decision_point: String,
#[serde(rename = "access_evaluation_endpoint")]
pub access_evaluation_endpoint: String,
#[serde(
rename = "access_evaluations_endpoint",
skip_serializing_if = "Option::is_none"
)]
pub access_evaluations_endpoint: Option<String>,
#[serde(
rename = "search_subject_endpoint",
skip_serializing_if = "Option::is_none"
)]
pub search_subject_endpoint: Option<String>,
#[serde(
rename = "search_resource_endpoint",
skip_serializing_if = "Option::is_none"
)]
pub search_resource_endpoint: Option<String>,
#[serde(
rename = "search_action_endpoint",
skip_serializing_if = "Option::is_none"
)]
pub search_action_endpoint: Option<String>,
#[serde(rename = "capabilities", skip_serializing_if = "Option::is_none")]
pub capabilities: Option<Vec<String>>,
#[serde(rename = "signed_metadata", skip_serializing_if = "Option::is_none")]
pub signed_metadata: Option<String>,
}
impl GetConfigurationResponse {
pub fn new(
policy_decision_point: String,
access_evaluation_endpoint: String,
) -> GetConfigurationResponse {
GetConfigurationResponse {
policy_decision_point,
access_evaluation_endpoint,
access_evaluations_endpoint: None,
search_subject_endpoint: None,
search_resource_endpoint: None,
search_action_endpoint: None,
capabilities: None,
signed_metadata: None,
}
}
}