use serde::{self, Deserialize, Serialize};
#[derive(Serialize, Deserialize, Debug)]
pub struct ParamsGradesItem {
#[serde(rename = "studentid")]
pub r#studentid: Option<i64>,
#[serde(rename = "grade")]
pub r#grade: Option<f64>,
#[serde(rename = "str_feedback")]
pub r#str_feedback: Option<String>,
}
pub type r#ParamsGrades = Vec<ParamsGradesItem>;
#[derive(Serialize, Deserialize, Debug)]
pub struct ParamsItemdetails {
#[serde(rename = "itemname")]
pub r#itemname: Option<String>,
#[serde(rename = "idnumber")]
pub r#idnumber: Option<i64>,
#[serde(rename = "gradetype")]
pub r#gradetype: Option<i64>,
#[serde(rename = "grademax")]
pub r#grademax: Option<f64>,
#[serde(rename = "grademin")]
pub r#grademin: Option<f64>,
#[serde(rename = "scaleid")]
pub r#scaleid: Option<i64>,
#[serde(rename = "multfactor")]
pub r#multfactor: Option<f64>,
#[serde(rename = "plusfactor")]
pub r#plusfactor: Option<f64>,
#[serde(rename = "deleted")]
pub r#deleted: Option<bool>,
#[serde(rename = "hidden")]
pub r#hidden: Option<bool>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct Params {
#[serde(rename = "source")]
pub r#source: Option<String>,
#[serde(rename = "courseid")]
pub r#courseid: Option<i64>,
#[serde(rename = "component")]
pub r#component: Option<String>,
#[serde(rename = "activityid")]
pub r#activityid: Option<i64>,
#[serde(rename = "itemnumber")]
pub r#itemnumber: Option<i64>,
#[serde(rename = "grades")]
pub r#grades: Option<r#ParamsGrades>,
#[serde(rename = "itemdetails")]
pub r#itemdetails: Option<ParamsItemdetails>,
}