testlib/dto/
eval_criteria_request.rsuse std::collections::BTreeMap;
use serde::{Deserialize, Serialize};
use uuid::Uuid;
use crate::jsonb::eval_criteria::EvalCriteria;
#[derive(Serialize, Deserialize, Debug, Clone)]
#[serde(rename_all = "camelCase")]
pub struct EvalCriteriaRequest {
pub id: Option<Uuid>,
pub comment: Option<String>,
pub grading_system_type: Option<String>,
pub values: Option<BTreeMap<String, f64>>,
}
impl EvalCriteriaRequest {
pub fn to_eval_criteria(&self) -> EvalCriteria {
EvalCriteria {
id: Option::from(if self.id.is_none() {
Uuid::new_v4()
} else {
self.id.unwrap()
}),
comment: self.comment.clone(),
grading_system_type: self.grading_system_type.clone(),
values: self.values.clone(),
}
}
}