use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
#[cfg_attr(test, derive(Default))]
pub struct Site {
#[serde(rename = "$id")]
pub id: String,
#[serde(rename = "$createdAt")]
pub created_at: String,
#[serde(rename = "$updatedAt")]
pub updated_at: String,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "enabled")]
pub enabled: bool,
#[serde(rename = "live")]
pub live: bool,
#[serde(rename = "logging")]
pub logging: bool,
#[serde(rename = "framework")]
pub framework: String,
#[serde(rename = "deploymentRetention")]
pub deployment_retention: i64,
#[serde(rename = "deploymentId")]
pub deployment_id: String,
#[serde(rename = "deploymentCreatedAt")]
pub deployment_created_at: String,
#[serde(rename = "deploymentScreenshotLight")]
pub deployment_screenshot_light: String,
#[serde(rename = "deploymentScreenshotDark")]
pub deployment_screenshot_dark: String,
#[serde(rename = "latestDeploymentId")]
pub latest_deployment_id: String,
#[serde(rename = "latestDeploymentCreatedAt")]
pub latest_deployment_created_at: String,
#[serde(rename = "latestDeploymentStatus")]
pub latest_deployment_status: String,
#[serde(rename = "vars")]
pub vars: Vec<crate::models::Variable>,
#[serde(rename = "timeout")]
pub timeout: i64,
#[serde(rename = "installCommand")]
pub install_command: String,
#[serde(rename = "buildCommand")]
pub build_command: String,
#[serde(rename = "startCommand")]
pub start_command: String,
#[serde(rename = "outputDirectory")]
pub output_directory: String,
#[serde(rename = "installationId")]
pub installation_id: String,
#[serde(rename = "providerRepositoryId")]
pub provider_repository_id: String,
#[serde(rename = "providerBranch")]
pub provider_branch: String,
#[serde(rename = "providerRootDirectory")]
pub provider_root_directory: String,
#[serde(rename = "providerSilentMode")]
pub provider_silent_mode: bool,
#[serde(rename = "buildSpecification")]
pub build_specification: String,
#[serde(rename = "runtimeSpecification")]
pub runtime_specification: String,
#[serde(rename = "buildRuntime")]
pub build_runtime: String,
#[serde(rename = "adapter")]
pub adapter: String,
#[serde(rename = "fallbackFile")]
pub fallback_file: String,
}
impl Site {
pub fn id(&self) -> &String {
&self.id
}
pub fn created_at(&self) -> &String {
&self.created_at
}
pub fn updated_at(&self) -> &String {
&self.updated_at
}
pub fn name(&self) -> &String {
&self.name
}
pub fn enabled(&self) -> &bool {
&self.enabled
}
pub fn live(&self) -> &bool {
&self.live
}
pub fn logging(&self) -> &bool {
&self.logging
}
pub fn framework(&self) -> &String {
&self.framework
}
pub fn deployment_retention(&self) -> &i64 {
&self.deployment_retention
}
pub fn deployment_id(&self) -> &String {
&self.deployment_id
}
pub fn deployment_created_at(&self) -> &String {
&self.deployment_created_at
}
pub fn deployment_screenshot_light(&self) -> &String {
&self.deployment_screenshot_light
}
pub fn deployment_screenshot_dark(&self) -> &String {
&self.deployment_screenshot_dark
}
pub fn latest_deployment_id(&self) -> &String {
&self.latest_deployment_id
}
pub fn latest_deployment_created_at(&self) -> &String {
&self.latest_deployment_created_at
}
pub fn latest_deployment_status(&self) -> &String {
&self.latest_deployment_status
}
pub fn vars(&self) -> &Vec<crate::models::Variable> {
&self.vars
}
pub fn timeout(&self) -> &i64 {
&self.timeout
}
pub fn install_command(&self) -> &String {
&self.install_command
}
pub fn build_command(&self) -> &String {
&self.build_command
}
pub fn start_command(&self) -> &String {
&self.start_command
}
pub fn output_directory(&self) -> &String {
&self.output_directory
}
pub fn installation_id(&self) -> &String {
&self.installation_id
}
pub fn provider_repository_id(&self) -> &String {
&self.provider_repository_id
}
pub fn provider_branch(&self) -> &String {
&self.provider_branch
}
pub fn provider_root_directory(&self) -> &String {
&self.provider_root_directory
}
pub fn provider_silent_mode(&self) -> &bool {
&self.provider_silent_mode
}
pub fn build_specification(&self) -> &String {
&self.build_specification
}
pub fn runtime_specification(&self) -> &String {
&self.runtime_specification
}
pub fn build_runtime(&self) -> &String {
&self.build_runtime
}
pub fn adapter(&self) -> &String {
&self.adapter
}
pub fn fallback_file(&self) -> &String {
&self.fallback_file
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_site_creation() {
let _model = <Site as Default>::default();
let _ = _model.id();
let _ = _model.created_at();
let _ = _model.updated_at();
let _ = _model.name();
let _ = _model.enabled();
let _ = _model.live();
let _ = _model.logging();
let _ = _model.framework();
let _ = _model.deployment_retention();
let _ = _model.deployment_id();
let _ = _model.deployment_created_at();
let _ = _model.deployment_screenshot_light();
let _ = _model.deployment_screenshot_dark();
let _ = _model.latest_deployment_id();
let _ = _model.latest_deployment_created_at();
let _ = _model.latest_deployment_status();
let _ = _model.vars();
let _ = _model.timeout();
let _ = _model.install_command();
let _ = _model.build_command();
let _ = _model.start_command();
let _ = _model.output_directory();
let _ = _model.installation_id();
let _ = _model.provider_repository_id();
let _ = _model.provider_branch();
let _ = _model.provider_root_directory();
let _ = _model.provider_silent_mode();
let _ = _model.build_specification();
let _ = _model.runtime_specification();
let _ = _model.build_runtime();
let _ = _model.adapter();
let _ = _model.fallback_file();
}
#[test]
fn test_site_serialization() {
let model = <Site as Default>::default();
let json = serde_json::to_string(&model);
assert!(json.is_ok());
let deserialized: Result<Site, _> = serde_json::from_str(&json.unwrap());
assert!(deserialized.is_ok());
}
}