use serde::{Deserialize, Serialize};
use utoipa::ToSchema;
use uuid::Uuid;
#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
pub struct Syllabus {
#[serde(default = "Uuid::new_v4")]
pub id: Uuid,
pub name: String,
#[serde(default)]
pub description: Option<String>,
#[serde(default)]
pub position: Option<u32>,
#[serde(default)]
pub teaches: Vec<String>,
#[serde(default)]
pub time_required: Option<String>,
#[serde(default)]
pub resources: Vec<String>,
#[serde(default)]
pub sub_sections: Vec<Syllabus>,
}