use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct DeviceResponse {
#[serde(rename = "_id")]
pub _id: String,
#[serde(rename = "codename")]
pub codename: String,
#[serde(rename = "model_name")]
pub model_name: String,
#[serde(rename = "oem_name")]
pub oem_name: String,
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "codenames")]
pub codenames: Vec<String>,
#[serde(rename = "model_names")]
pub model_names: Vec<String>,
#[serde(rename = "supported")]
pub supported: bool,
#[serde(rename = "maintainer")]
pub maintainer: Box<models::MaintainerShortModel>,
#[serde(rename = "notes", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub notes: Option<Option<String>>,
#[serde(rename = "device_tree", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub device_tree: Option<Option<String>>,
#[serde(rename = "full_name")]
pub full_name: String,
#[serde(rename = "url")]
pub url: String,
}
impl DeviceResponse {
pub fn new(_id: String, codename: String, model_name: String, oem_name: String, id: String, codenames: Vec<String>, model_names: Vec<String>, supported: bool, maintainer: models::MaintainerShortModel, full_name: String, url: String) -> DeviceResponse {
DeviceResponse {
_id,
codename,
model_name,
oem_name,
id,
codenames,
model_names,
supported,
maintainer: Box::new(maintainer),
notes: None,
device_tree: None,
full_name,
url,
}
}
}