use super::*;
#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct DevicePinner {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<DevicePinnerType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub owned_by: Option<UserMini>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_name: Option<String>,
}
#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct DevicePinners {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entries: Option<Vec<DevicePinner>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limit: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub next_marker: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub order: Option<Vec<DevicePinnersOrder>>,
}
#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
#[serde(transparent)]
pub struct DevicePinnerType(pub String);
impl DevicePinnerType {
pub const DEVICE_PINNER: &'static str = "device_pinner";
}
#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
#[serde(transparent)]
pub struct OrderBy(pub String);
impl OrderBy {
pub const ID: &'static str = "id";
}
#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
#[serde(transparent)]
pub struct DevicePinnersOrderDirection(pub String);
impl DevicePinnersOrderDirection {
pub const ASC: &'static str = "asc";
pub const DESC: &'static str = "desc";
}
#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct DevicePinnersOrder {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub by: Option<OrderBy>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub direction: Option<DevicePinnersOrderDirection>,
}