use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct UploadFileOut {
#[serde(rename = "id")]
pub id: uuid::Uuid,
#[serde(rename = "object")]
pub object: String,
#[serde(rename = "bytes")]
pub bytes: i32,
#[serde(rename = "created_at")]
pub created_at: i32,
#[serde(rename = "filename")]
pub filename: String,
#[serde(rename = "purpose")]
pub purpose: models::FilePurpose,
#[serde(rename = "sample_type")]
pub sample_type: models::SampleType,
#[serde(rename = "num_lines", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub num_lines: Option<Option<i32>>,
#[serde(rename = "mimetype", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub mimetype: Option<Option<String>>,
#[serde(rename = "source")]
pub source: models::Source,
#[serde(rename = "signature", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub signature: Option<Option<String>>,
#[serde(rename = "expires_at", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub expires_at: Option<Option<i32>>,
#[serde(rename = "visibility", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub visibility: Option<Option<models::FileVisibility>>,
}
impl UploadFileOut {
pub fn new(id: uuid::Uuid, object: String, bytes: i32, created_at: i32, filename: String, purpose: models::FilePurpose, sample_type: models::SampleType, source: models::Source) -> UploadFileOut {
UploadFileOut {
id,
object,
bytes,
created_at,
filename,
purpose,
sample_type,
num_lines: None,
mimetype: None,
source,
signature: None,
expires_at: None,
visibility: None,
}
}
}