use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct DatabaseDetailResponse {
#[serde(rename = "attachments")]
pub attachments: Vec<models::DatabaseAttachmentInfo>,
#[serde(rename = "default_catalog")]
pub default_catalog: String,
#[serde(rename = "default_connection_id")]
pub default_connection_id: String,
#[serde(
rename = "expires_at",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub expires_at: Option<Option<String>>,
#[serde(rename = "id")]
pub id: String,
#[serde(
rename = "name",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub name: Option<Option<String>>,
}
impl DatabaseDetailResponse {
pub fn new(
attachments: Vec<models::DatabaseAttachmentInfo>,
default_catalog: String,
default_connection_id: String,
id: String,
) -> DatabaseDetailResponse {
DatabaseDetailResponse {
attachments,
default_catalog,
default_connection_id,
expires_at: None,
id,
name: None,
}
}
}