courselib/jsonb/
module.rsuse chrono::NaiveDateTime;
use serde::{Deserialize, Serialize};
use uuid::Uuid;
use crate::jsonb::position::Position;
use crate::jsonb::requirement::Requirement;
use crate::jsonb::section::Section;
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
#[serde(rename_all = "camelCase")]
pub struct Module {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<Uuid>,
#[serde(skip_serializing_if = "Option::is_none")]
pub scenario_id: Option<Uuid>,
#[serde(skip_serializing_if = "Option::is_none")]
pub visibility: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub timestamp: Option<NaiveDateTime>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sections: Option<diesel_json::Json<Vec<Section>>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub requirements: Option<diesel_json::Json<Vec<Requirement>>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub position: Option<diesel_json::Json<Position>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub is_finish: Option<bool>,
}