use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Practice {
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(rename = "name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub name: Option<Option<String>>,
#[serde(rename = "groupId", skip_serializing_if = "Option::is_none")]
pub group_id: Option<i32>,
#[serde(rename = "group", skip_serializing_if = "Option::is_none")]
pub group: Option<Box<models::Group>>,
#[serde(rename = "teacherId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub teacher_id: Option<Option<i32>>,
#[serde(rename = "teacher", skip_serializing_if = "Option::is_none")]
pub teacher: Option<Box<models::Teacher>>,
#[serde(rename = "cabinet", skip_serializing_if = "Option::is_none")]
pub cabinet: Option<i32>,
#[serde(rename = "startDate", skip_serializing_if = "Option::is_none")]
pub start_date: Option<String>,
#[serde(rename = "endDate", skip_serializing_if = "Option::is_none")]
pub end_date: Option<String>,
#[serde(rename = "startTime", skip_serializing_if = "Option::is_none")]
pub start_time: Option<String>,
#[serde(rename = "endTime", skip_serializing_if = "Option::is_none")]
pub end_time: Option<String>,
}
impl Practice {
pub fn new() -> Practice {
Practice {
id: None,
name: None,
group_id: None,
group: None,
teacher_id: None,
teacher: None,
cabinet: None,
start_date: None,
end_date: None,
start_time: None,
end_time: None,
}
}
}