use crate::ml;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Model {
#[serde(rename = "algorithm", default, skip_serializing_if = "Option::is_none")]
pub algorithm: Option<String>,
#[serde(
rename = "model_group_id",
default,
skip_serializing_if = "Option::is_none"
)]
pub model_group_id: Option<String>,
#[serde(
rename = "model_content_hash_value",
default,
skip_serializing_if = "Option::is_none"
)]
pub model_content_hash_value: Option<String>,
#[serde(
rename = "total_chunks",
default,
skip_serializing_if = "Option::is_none"
)]
pub total_chunks: Option<u32>,
#[serde(
rename = "last_registered_time",
default,
skip_serializing_if = "Option::is_none"
)]
pub last_registered_time: Option<u32>,
#[serde(rename = "model_state")]
pub model_state: String,
#[serde(rename = "is_hidden", default, skip_serializing_if = "Option::is_none")]
pub is_hidden: Option<bool>,
#[serde(
rename = "last_updated_time",
default,
skip_serializing_if = "Option::is_none"
)]
pub last_updated_time: Option<u32>,
#[serde(rename = "name", default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(
rename = "model_version",
default,
skip_serializing_if = "Option::is_none"
)]
pub model_version: Option<String>,
#[serde(
rename = "model_content_size_in_bytes",
default,
skip_serializing_if = "Option::is_none"
)]
pub model_content_size_in_bytes: Option<u32>,
#[serde(
rename = "model_format",
default,
skip_serializing_if = "Option::is_none"
)]
pub model_format: Option<String>,
#[serde(
rename = "created_time",
default,
skip_serializing_if = "Option::is_none"
)]
pub created_time: Option<u32>,
#[serde(
rename = "model_config",
default,
skip_serializing_if = "Option::is_none"
)]
pub model_config: Option<ml::ModelConfig>,
}
impl Model {
pub fn new(model_state: String) -> Model {
Model {
algorithm: None,
model_group_id: None,
model_content_hash_value: None,
total_chunks: None,
last_registered_time: None,
model_state,
is_hidden: None,
last_updated_time: None,
name: None,
model_version: None,
model_content_size_in_bytes: None,
model_format: None,
created_time: None,
model_config: None,
}
}
}