use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct EvaluationRequest {
#[serde(rename = "subject")]
pub subject: models::Subject,
#[serde(rename = "resource")]
pub resource: models::Resource,
#[serde(rename = "action")]
pub action: models::Action,
#[serde(rename = "context", skip_serializing_if = "Option::is_none")]
pub context: Option<serde_json::Value>,
}
impl EvaluationRequest {
pub fn new(
subject: models::Subject,
resource: models::Resource,
action: models::Action,
) -> EvaluationRequest {
EvaluationRequest {
subject,
resource,
action,
context: None,
}
}
}