use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ChartContent {
#[serde(rename = "chart_type")]
pub chart_type: ChartType,
#[serde(rename = "labels")]
pub labels: Vec<String>,
#[serde(rename = "datasets")]
pub datasets: Vec<models::ChartContentDatasetsInner>,
}
impl ChartContent {
pub fn new(chart_type: ChartType, labels: Vec<String>, datasets: Vec<models::ChartContentDatasetsInner>) -> ChartContent {
ChartContent {
chart_type,
labels,
datasets,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ChartType {
#[serde(rename = "bar")]
Bar,
#[serde(rename = "line")]
Line,
#[serde(rename = "pie")]
Pie,
#[serde(rename = "scatter")]
Scatter,
}
impl Default for ChartType {
fn default() -> ChartType {
Self::Bar
}
}