eventlib/jsonb/
section.rsuse crate::dto::section_request::SectionRequest;
use serde::{Deserialize, Serialize};
use uuid::Uuid;
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
#[serde(rename_all = "camelCase")]
pub struct Section {
#[serde(skip_serializing_if = "Option::is_none")]
pub is_active: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub is_accessed: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(rename = "type")]
pub scenario_section_type: Option<String>, #[serde(skip_serializing_if = "Option::is_none")]
pub task: Option<Uuid>,
#[serde(skip_serializing_if = "Option::is_none")]
pub form_request: Option<Uuid>,
#[serde(skip_serializing_if = "Option::is_none")]
pub test: Option<Uuid>,
#[serde(skip_serializing_if = "Option::is_none")]
pub form: Option<Uuid>,
#[serde(skip_serializing_if = "Option::is_none")]
pub is_access_granted: Option<bool>,
}
impl Section {
pub fn from_section(section: &SectionRequest) -> Section {
Section {
is_active: section.is_active.clone(),
is_accessed: section.is_accessed.clone(),
scenario_section_type: section.scenario_section_type.clone(),
task: if section.task.is_some() {
if section.task.as_ref().unwrap().id.is_some() {
Some(section.task.as_ref().unwrap().id.unwrap())
} else {
None
}
} else {
None
},
form_request: if section.form_request.is_some() {
if section.form_request.as_ref().unwrap().id.is_some() {
Some(section.form_request.as_ref().unwrap().id.unwrap())
} else {
None
}
} else {
None
},
test: section.test.clone(),
form: section.form.clone(),
is_access_granted: if section.is_access_granted.is_some() {
section.is_access_granted
} else {
Some(true)
},
}
}
}