use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
#[cfg_attr(test, derive(Default))]
pub struct Project {
#[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 = "description")]
pub description: String,
#[serde(rename = "teamId")]
pub team_id: String,
#[serde(rename = "logo")]
pub logo: String,
#[serde(rename = "url")]
pub url: String,
#[serde(rename = "legalName")]
pub legal_name: String,
#[serde(rename = "legalCountry")]
pub legal_country: String,
#[serde(rename = "legalState")]
pub legal_state: String,
#[serde(rename = "legalCity")]
pub legal_city: String,
#[serde(rename = "legalAddress")]
pub legal_address: String,
#[serde(rename = "legalTaxId")]
pub legal_tax_id: String,
#[serde(rename = "authDuration")]
pub auth_duration: i64,
#[serde(rename = "authLimit")]
pub auth_limit: i64,
#[serde(rename = "authSessionsLimit")]
pub auth_sessions_limit: i64,
#[serde(rename = "authPasswordHistory")]
pub auth_password_history: i64,
#[serde(rename = "authPasswordDictionary")]
pub auth_password_dictionary: bool,
#[serde(rename = "authPersonalDataCheck")]
pub auth_personal_data_check: bool,
#[serde(rename = "authDisposableEmails")]
pub auth_disposable_emails: bool,
#[serde(rename = "authCanonicalEmails")]
pub auth_canonical_emails: bool,
#[serde(rename = "authFreeEmails")]
pub auth_free_emails: bool,
#[serde(rename = "authMockNumbers")]
pub auth_mock_numbers: Vec<crate::models::MockNumber>,
#[serde(rename = "authSessionAlerts")]
pub auth_session_alerts: bool,
#[serde(rename = "authMembershipsUserName")]
pub auth_memberships_user_name: bool,
#[serde(rename = "authMembershipsUserEmail")]
pub auth_memberships_user_email: bool,
#[serde(rename = "authMembershipsMfa")]
pub auth_memberships_mfa: bool,
#[serde(rename = "authInvalidateSessions")]
pub auth_invalidate_sessions: bool,
#[serde(rename = "oAuthProviders")]
pub o_auth_providers: Vec<crate::models::AuthProvider>,
#[serde(rename = "platforms")]
pub platforms: Vec<serde_json::Value>,
#[serde(rename = "webhooks")]
pub webhooks: Vec<crate::models::Webhook>,
#[serde(rename = "keys")]
pub keys: Vec<crate::models::Key>,
#[serde(rename = "devKeys")]
pub dev_keys: Vec<crate::models::DevKey>,
#[serde(rename = "smtpEnabled")]
pub smtp_enabled: bool,
#[serde(rename = "smtpSenderName")]
pub smtp_sender_name: String,
#[serde(rename = "smtpSenderEmail")]
pub smtp_sender_email: String,
#[serde(rename = "smtpReplyTo")]
pub smtp_reply_to: String,
#[serde(rename = "smtpHost")]
pub smtp_host: String,
#[serde(rename = "smtpPort")]
pub smtp_port: i64,
#[serde(rename = "smtpUsername")]
pub smtp_username: String,
#[serde(rename = "smtpPassword")]
pub smtp_password: String,
#[serde(rename = "smtpSecure")]
pub smtp_secure: String,
#[serde(rename = "pingCount")]
pub ping_count: i64,
#[serde(rename = "pingedAt")]
pub pinged_at: String,
#[serde(rename = "labels")]
pub labels: Vec<String>,
#[serde(rename = "status")]
pub status: String,
#[serde(rename = "authEmailPassword")]
pub auth_email_password: bool,
#[serde(rename = "authUsersAuthMagicURL")]
pub auth_users_auth_magic_url: bool,
#[serde(rename = "authEmailOtp")]
pub auth_email_otp: bool,
#[serde(rename = "authAnonymous")]
pub auth_anonymous: bool,
#[serde(rename = "authInvites")]
pub auth_invites: bool,
#[serde(rename = "authJWT")]
pub auth_jwt: bool,
#[serde(rename = "authPhone")]
pub auth_phone: bool,
#[serde(rename = "serviceStatusForAccount")]
pub service_status_for_account: bool,
#[serde(rename = "serviceStatusForAvatars")]
pub service_status_for_avatars: bool,
#[serde(rename = "serviceStatusForDatabases")]
pub service_status_for_databases: bool,
#[serde(rename = "serviceStatusForTablesdb")]
pub service_status_for_tablesdb: bool,
#[serde(rename = "serviceStatusForLocale")]
pub service_status_for_locale: bool,
#[serde(rename = "serviceStatusForHealth")]
pub service_status_for_health: bool,
#[serde(rename = "serviceStatusForProject")]
pub service_status_for_project: bool,
#[serde(rename = "serviceStatusForStorage")]
pub service_status_for_storage: bool,
#[serde(rename = "serviceStatusForTeams")]
pub service_status_for_teams: bool,
#[serde(rename = "serviceStatusForUsers")]
pub service_status_for_users: bool,
#[serde(rename = "serviceStatusForVcs")]
pub service_status_for_vcs: bool,
#[serde(rename = "serviceStatusForSites")]
pub service_status_for_sites: bool,
#[serde(rename = "serviceStatusForFunctions")]
pub service_status_for_functions: bool,
#[serde(rename = "serviceStatusForProxy")]
pub service_status_for_proxy: bool,
#[serde(rename = "serviceStatusForGraphql")]
pub service_status_for_graphql: bool,
#[serde(rename = "serviceStatusForMigrations")]
pub service_status_for_migrations: bool,
#[serde(rename = "serviceStatusForMessaging")]
pub service_status_for_messaging: bool,
#[serde(rename = "protocolStatusForRest")]
pub protocol_status_for_rest: bool,
#[serde(rename = "protocolStatusForGraphql")]
pub protocol_status_for_graphql: bool,
#[serde(rename = "protocolStatusForWebsocket")]
pub protocol_status_for_websocket: bool,
#[serde(rename = "region")]
pub region: String,
#[serde(rename = "billingLimits")]
pub billing_limits: crate::models::BillingLimits,
#[serde(rename = "blocks")]
pub blocks: Vec<crate::models::Block>,
#[serde(rename = "consoleAccessedAt")]
pub console_accessed_at: String,
}
impl Project {
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 description(&self) -> &String {
&self.description
}
pub fn team_id(&self) -> &String {
&self.team_id
}
pub fn logo(&self) -> &String {
&self.logo
}
pub fn url(&self) -> &String {
&self.url
}
pub fn legal_name(&self) -> &String {
&self.legal_name
}
pub fn legal_country(&self) -> &String {
&self.legal_country
}
pub fn legal_state(&self) -> &String {
&self.legal_state
}
pub fn legal_city(&self) -> &String {
&self.legal_city
}
pub fn legal_address(&self) -> &String {
&self.legal_address
}
pub fn legal_tax_id(&self) -> &String {
&self.legal_tax_id
}
pub fn auth_duration(&self) -> &i64 {
&self.auth_duration
}
pub fn auth_limit(&self) -> &i64 {
&self.auth_limit
}
pub fn auth_sessions_limit(&self) -> &i64 {
&self.auth_sessions_limit
}
pub fn auth_password_history(&self) -> &i64 {
&self.auth_password_history
}
pub fn auth_password_dictionary(&self) -> &bool {
&self.auth_password_dictionary
}
pub fn auth_personal_data_check(&self) -> &bool {
&self.auth_personal_data_check
}
pub fn auth_disposable_emails(&self) -> &bool {
&self.auth_disposable_emails
}
pub fn auth_canonical_emails(&self) -> &bool {
&self.auth_canonical_emails
}
pub fn auth_free_emails(&self) -> &bool {
&self.auth_free_emails
}
pub fn auth_mock_numbers(&self) -> &Vec<crate::models::MockNumber> {
&self.auth_mock_numbers
}
pub fn auth_session_alerts(&self) -> &bool {
&self.auth_session_alerts
}
pub fn auth_memberships_user_name(&self) -> &bool {
&self.auth_memberships_user_name
}
pub fn auth_memberships_user_email(&self) -> &bool {
&self.auth_memberships_user_email
}
pub fn auth_memberships_mfa(&self) -> &bool {
&self.auth_memberships_mfa
}
pub fn auth_invalidate_sessions(&self) -> &bool {
&self.auth_invalidate_sessions
}
pub fn o_auth_providers(&self) -> &Vec<crate::models::AuthProvider> {
&self.o_auth_providers
}
pub fn platforms(&self) -> &Vec<serde_json::Value> {
&self.platforms
}
pub fn webhooks(&self) -> &Vec<crate::models::Webhook> {
&self.webhooks
}
pub fn keys(&self) -> &Vec<crate::models::Key> {
&self.keys
}
pub fn dev_keys(&self) -> &Vec<crate::models::DevKey> {
&self.dev_keys
}
pub fn smtp_enabled(&self) -> &bool {
&self.smtp_enabled
}
pub fn smtp_sender_name(&self) -> &String {
&self.smtp_sender_name
}
pub fn smtp_sender_email(&self) -> &String {
&self.smtp_sender_email
}
pub fn smtp_reply_to(&self) -> &String {
&self.smtp_reply_to
}
pub fn smtp_host(&self) -> &String {
&self.smtp_host
}
pub fn smtp_port(&self) -> &i64 {
&self.smtp_port
}
pub fn smtp_username(&self) -> &String {
&self.smtp_username
}
pub fn smtp_password(&self) -> &String {
&self.smtp_password
}
pub fn smtp_secure(&self) -> &String {
&self.smtp_secure
}
pub fn ping_count(&self) -> &i64 {
&self.ping_count
}
pub fn pinged_at(&self) -> &String {
&self.pinged_at
}
pub fn labels(&self) -> &Vec<String> {
&self.labels
}
pub fn status(&self) -> &String {
&self.status
}
pub fn auth_email_password(&self) -> &bool {
&self.auth_email_password
}
pub fn auth_users_auth_magic_url(&self) -> &bool {
&self.auth_users_auth_magic_url
}
pub fn auth_email_otp(&self) -> &bool {
&self.auth_email_otp
}
pub fn auth_anonymous(&self) -> &bool {
&self.auth_anonymous
}
pub fn auth_invites(&self) -> &bool {
&self.auth_invites
}
pub fn auth_jwt(&self) -> &bool {
&self.auth_jwt
}
pub fn auth_phone(&self) -> &bool {
&self.auth_phone
}
pub fn service_status_for_account(&self) -> &bool {
&self.service_status_for_account
}
pub fn service_status_for_avatars(&self) -> &bool {
&self.service_status_for_avatars
}
pub fn service_status_for_databases(&self) -> &bool {
&self.service_status_for_databases
}
pub fn service_status_for_tablesdb(&self) -> &bool {
&self.service_status_for_tablesdb
}
pub fn service_status_for_locale(&self) -> &bool {
&self.service_status_for_locale
}
pub fn service_status_for_health(&self) -> &bool {
&self.service_status_for_health
}
pub fn service_status_for_project(&self) -> &bool {
&self.service_status_for_project
}
pub fn service_status_for_storage(&self) -> &bool {
&self.service_status_for_storage
}
pub fn service_status_for_teams(&self) -> &bool {
&self.service_status_for_teams
}
pub fn service_status_for_users(&self) -> &bool {
&self.service_status_for_users
}
pub fn service_status_for_vcs(&self) -> &bool {
&self.service_status_for_vcs
}
pub fn service_status_for_sites(&self) -> &bool {
&self.service_status_for_sites
}
pub fn service_status_for_functions(&self) -> &bool {
&self.service_status_for_functions
}
pub fn service_status_for_proxy(&self) -> &bool {
&self.service_status_for_proxy
}
pub fn service_status_for_graphql(&self) -> &bool {
&self.service_status_for_graphql
}
pub fn service_status_for_migrations(&self) -> &bool {
&self.service_status_for_migrations
}
pub fn service_status_for_messaging(&self) -> &bool {
&self.service_status_for_messaging
}
pub fn protocol_status_for_rest(&self) -> &bool {
&self.protocol_status_for_rest
}
pub fn protocol_status_for_graphql(&self) -> &bool {
&self.protocol_status_for_graphql
}
pub fn protocol_status_for_websocket(&self) -> &bool {
&self.protocol_status_for_websocket
}
pub fn region(&self) -> &String {
&self.region
}
pub fn billing_limits(&self) -> &crate::models::BillingLimits {
&self.billing_limits
}
pub fn blocks(&self) -> &Vec<crate::models::Block> {
&self.blocks
}
pub fn console_accessed_at(&self) -> &String {
&self.console_accessed_at
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_project_creation() {
let _model = <Project as Default>::default();
let _ = _model.id();
let _ = _model.created_at();
let _ = _model.updated_at();
let _ = _model.name();
let _ = _model.description();
let _ = _model.team_id();
let _ = _model.logo();
let _ = _model.url();
let _ = _model.legal_name();
let _ = _model.legal_country();
let _ = _model.legal_state();
let _ = _model.legal_city();
let _ = _model.legal_address();
let _ = _model.legal_tax_id();
let _ = _model.auth_duration();
let _ = _model.auth_limit();
let _ = _model.auth_sessions_limit();
let _ = _model.auth_password_history();
let _ = _model.auth_password_dictionary();
let _ = _model.auth_personal_data_check();
let _ = _model.auth_disposable_emails();
let _ = _model.auth_canonical_emails();
let _ = _model.auth_free_emails();
let _ = _model.auth_mock_numbers();
let _ = _model.auth_session_alerts();
let _ = _model.auth_memberships_user_name();
let _ = _model.auth_memberships_user_email();
let _ = _model.auth_memberships_mfa();
let _ = _model.auth_invalidate_sessions();
let _ = _model.o_auth_providers();
let _ = _model.platforms();
let _ = _model.webhooks();
let _ = _model.keys();
let _ = _model.dev_keys();
let _ = _model.smtp_enabled();
let _ = _model.smtp_sender_name();
let _ = _model.smtp_sender_email();
let _ = _model.smtp_reply_to();
let _ = _model.smtp_host();
let _ = _model.smtp_port();
let _ = _model.smtp_username();
let _ = _model.smtp_password();
let _ = _model.smtp_secure();
let _ = _model.ping_count();
let _ = _model.pinged_at();
let _ = _model.labels();
let _ = _model.status();
let _ = _model.auth_email_password();
let _ = _model.auth_users_auth_magic_url();
let _ = _model.auth_email_otp();
let _ = _model.auth_anonymous();
let _ = _model.auth_invites();
let _ = _model.auth_jwt();
let _ = _model.auth_phone();
let _ = _model.service_status_for_account();
let _ = _model.service_status_for_avatars();
let _ = _model.service_status_for_databases();
let _ = _model.service_status_for_tablesdb();
let _ = _model.service_status_for_locale();
let _ = _model.service_status_for_health();
let _ = _model.service_status_for_project();
let _ = _model.service_status_for_storage();
let _ = _model.service_status_for_teams();
let _ = _model.service_status_for_users();
let _ = _model.service_status_for_vcs();
let _ = _model.service_status_for_sites();
let _ = _model.service_status_for_functions();
let _ = _model.service_status_for_proxy();
let _ = _model.service_status_for_graphql();
let _ = _model.service_status_for_migrations();
let _ = _model.service_status_for_messaging();
let _ = _model.protocol_status_for_rest();
let _ = _model.protocol_status_for_graphql();
let _ = _model.protocol_status_for_websocket();
let _ = _model.region();
let _ = _model.billing_limits();
let _ = _model.blocks();
let _ = _model.console_accessed_at();
}
#[test]
fn test_project_serialization() {
let model = <Project as Default>::default();
let json = serde_json::to_string(&model);
assert!(json.is_ok());
let deserialized: Result<Project, _> = serde_json::from_str(&json.unwrap());
assert!(deserialized.is_ok());
}
}