1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
use crate as fiberplane_pdk; // To satisfy the `ProviderData` macro output.
use crate::bindings::Cell;
use crate::macros::ProviderData;
use crate::providers::{
    ProviderEvent, Suggestion, Timeseries, CELLS_MIME_TYPE, EVENTS_MIME_TYPE,
    SUGGESTIONS_MIME_TYPE, TIMESERIES_MIME_TYPE,
};
use serde::{Deserialize, Serialize};

#[derive(Clone, Debug, Deserialize, ProviderData, Serialize)]
#[pdk(mime_type = CELLS_MIME_TYPE)]
pub struct Cells(pub Vec<Cell>);

#[derive(Clone, Debug, Deserialize, ProviderData, Serialize)]
#[pdk(mime_type = EVENTS_MIME_TYPE)]
pub struct Events(pub Vec<ProviderEvent>);

#[derive(Clone, Debug, Deserialize, ProviderData, Serialize)]
#[pdk(mime_type = SUGGESTIONS_MIME_TYPE)]
pub struct Suggestions(pub Vec<Suggestion>);

#[derive(Clone, Debug, Deserialize, ProviderData, Serialize)]
#[pdk(mime_type = TIMESERIES_MIME_TYPE)]
pub struct TimeseriesVector(pub Vec<Timeseries>);