brk_types/
series_selection.rs1use derive_more::Deref;
2use schemars::JsonSchema;
3use serde::Deserialize;
4
5use crate::{DataRangeFormat, Index, SeriesList, SeriesName};
6
7#[derive(Debug, Deref, Deserialize, JsonSchema)]
9pub struct SeriesSelection {
10 #[serde(alias = "m", alias = "metrics")]
12 pub series: SeriesList,
13
14 #[serde(alias = "i")]
16 pub index: Index,
17
18 #[deref]
19 #[serde(flatten)]
20 pub range: DataRangeFormat,
21}
22
23impl From<(Index, SeriesName, DataRangeFormat)> for SeriesSelection {
24 #[inline]
25 fn from((index, series, range): (Index, SeriesName, DataRangeFormat)) -> Self {
26 Self {
27 index,
28 series: SeriesList::from(series),
29 range,
30 }
31 }
32}
33
34impl From<(Index, SeriesList, DataRangeFormat)> for SeriesSelection {
35 #[inline]
36 fn from((index, series, range): (Index, SeriesList, DataRangeFormat)) -> Self {
37 Self {
38 index,
39 series,
40 range,
41 }
42 }
43}