use serde::{self, Deserialize, Serialize};
#[derive(Serialize, Deserialize, Debug)]
pub struct ParamsPlugindataAssignfeedbackcommentsEditor {
#[serde(rename = "text")]
pub r#text: Option<String>,
#[serde(rename = "format")]
pub r#format: Option<i64>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct ParamsPlugindata {
#[serde(rename = "assignfeedbackcomments_editor")]
pub r#assignfeedbackcomments_editor: Option<ParamsPlugindataAssignfeedbackcommentsEditor>,
#[serde(rename = "files_filemanager")]
pub r#files_filemanager: Option<i64>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct ParamsAdvancedgradingdataGuideCriteriaItemFillingsItem {
#[serde(rename = "criterionid")]
pub r#criterionid: Option<i64>,
#[serde(rename = "levelid")]
pub r#levelid: Option<i64>,
#[serde(rename = "remark")]
pub r#remark: Option<String>,
#[serde(rename = "remarkformat")]
pub r#remarkformat: Option<i64>,
#[serde(rename = "score")]
pub r#score: Option<f64>,
}
pub type r#ParamsAdvancedgradingdataGuideCriteriaItemFillings =
Vec<ParamsAdvancedgradingdataGuideCriteriaItemFillingsItem>;
#[derive(Serialize, Deserialize, Debug)]
pub struct ParamsAdvancedgradingdataGuideCriteriaItem {
#[serde(rename = "criterionid")]
pub r#criterionid: Option<i64>,
#[serde(rename = "fillings")]
pub r#fillings: Option<r#ParamsAdvancedgradingdataGuideCriteriaItemFillings>,
}
pub type r#ParamsAdvancedgradingdataGuideCriteria = Vec<ParamsAdvancedgradingdataGuideCriteriaItem>;
#[derive(Serialize, Deserialize, Debug)]
pub struct ParamsAdvancedgradingdataGuide {
#[serde(rename = "criteria")]
pub r#criteria: Option<r#ParamsAdvancedgradingdataGuideCriteria>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct ParamsAdvancedgradingdataRubricCriteriaItemFillingsItem {
#[serde(rename = "criterionid")]
pub r#criterionid: Option<i64>,
#[serde(rename = "levelid")]
pub r#levelid: Option<i64>,
#[serde(rename = "remark")]
pub r#remark: Option<String>,
#[serde(rename = "remarkformat")]
pub r#remarkformat: Option<i64>,
}
pub type r#ParamsAdvancedgradingdataRubricCriteriaItemFillings =
Vec<ParamsAdvancedgradingdataRubricCriteriaItemFillingsItem>;
#[derive(Serialize, Deserialize, Debug)]
pub struct ParamsAdvancedgradingdataRubricCriteriaItem {
#[serde(rename = "criterionid")]
pub r#criterionid: Option<i64>,
#[serde(rename = "fillings")]
pub r#fillings: Option<r#ParamsAdvancedgradingdataRubricCriteriaItemFillings>,
}
pub type r#ParamsAdvancedgradingdataRubricCriteria =
Vec<ParamsAdvancedgradingdataRubricCriteriaItem>;
#[derive(Serialize, Deserialize, Debug)]
pub struct ParamsAdvancedgradingdataRubric {
#[serde(rename = "criteria")]
pub r#criteria: Option<r#ParamsAdvancedgradingdataRubricCriteria>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct ParamsAdvancedgradingdata {
#[serde(rename = "guide")]
pub r#guide: Option<ParamsAdvancedgradingdataGuide>,
#[serde(rename = "rubric")]
pub r#rubric: Option<ParamsAdvancedgradingdataRubric>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct Params {
#[serde(rename = "assignmentid")]
pub r#assignmentid: Option<i64>,
#[serde(rename = "userid")]
pub r#userid: Option<i64>,
#[serde(rename = "grade")]
pub r#grade: Option<f64>,
#[serde(rename = "attemptnumber")]
pub r#attemptnumber: Option<i64>,
#[serde(rename = "addattempt")]
pub r#addattempt: Option<bool>,
#[serde(rename = "workflowstate")]
pub r#workflowstate: Option<String>,
#[serde(rename = "applytoall")]
pub r#applytoall: Option<bool>,
#[serde(rename = "plugindata")]
pub r#plugindata: Option<ParamsPlugindata>,
#[serde(rename = "advancedgradingdata")]
pub r#advancedgradingdata: Option<ParamsAdvancedgradingdata>,
}