reinfer_client/resources/
statistics.rs1use std::collections::HashMap;
2
3use crate::LabelName;
4use chrono::NaiveDate;
5use ordered_float::NotNan;
6use serde::{Deserialize, Serialize};
7
8#[derive(Debug, Clone, Deserialize, Serialize, PartialEq)]
9pub(crate) struct GetResponse {
10 pub statistics: Statistics,
11}
12
13#[derive(Debug, Clone, Deserialize, Serialize, PartialEq)]
14pub struct LabelCount {
15 positive: f32,
16 negative: f32,
17}
18
19#[derive(Debug, Clone, Deserialize, Serialize, PartialEq)]
20#[serde(untagged)]
21pub enum TimeSeriesEntry {
22 Timestamp(NaiveDate),
23 Number(f32),
24}
25
26#[derive(Debug, Clone, Deserialize, Serialize, PartialEq)]
27pub struct Statistics {
28 pub num_comments: NotNan<f64>,
29
30 #[serde(default)]
31 pub label_counts: HashMap<LabelName, LabelCount>,
32
33 #[serde(default)]
34 pub label_timeseries: Vec<Vec<TimeSeriesEntry>>,
35}