stcloud 0.5.0

Client package for talking to Sematext Cloud.
Documentation
/* 
 * Sematext Cloud API
 *
 * API Explorer provides access and documentation for Sematext REST API. The REST API requires the API Key to be sent as part of `Authorization` header. E.g.: `Authorization : apiKey e5f18450-205a-48eb-8589-7d49edaea813`.
 *
 * OpenAPI spec version: v3
 * 
 * Generated by: https://github.com/swagger-api/swagger-codegen.git
 */
#![allow(unused_imports)]

use serde_json::Value;
use bigdecimal::BigDecimal;
use chrono::{Date, NaiveDateTime, NaiveDate, DateTime, FixedOffset, Utc};

use crate::models::*;
use crate::date_serializer;
use crate::date_serializer_opt;
use crate::serialize_quoted_numbers;
use crate::serialize_quoted_numbers_opt;
//Uncomment this to deal with limited rfc support on server side
//use crate::datetime_serializer::*;

#[derive(Debug, Serialize, Deserialize, PartialEq, Clone)]
pub struct Invitation {
  #[serde(rename = "app")]
  #[serde(default)]
  app: Option<App>, 
  #[serde(rename = "apps")]
  #[serde(default)]
  apps: Option<Vec<App>>, 
  #[serde(rename = "id")]
  #[serde(default)]
  id: Option<i64>, 
  #[serde(rename = "inviteDate")]
  #[serde(default)]
  //Uncomment this also to deal with limited rfc support on server side
  //#[serde(serialize_with = "serialize_dt", deserialize_with = "deserialize_dt")]
  invite_date: Option<DateTime<Utc>>, 
  #[serde(rename = "inviteStatus")]
  #[serde(default)]
  invite_status: Option<String>, 
  #[serde(rename = "inviteeEmail")]
  #[serde(default)]
  invitee_email: Option<String>,  // guest@sematext.com 
  #[serde(rename = "inviteeRole")]
  #[serde(default)]
  invitee_role: Option<String>,  // DEMO 
  #[serde(rename = "inviteeStatus")]
  #[serde(default)]
  invitee_status: Option<String>,  // ACTIVE 
  #[serde(rename = "inviterEmail")]
  #[serde(default)]
  inviter_email: Option<String>, 
  #[serde(rename = "uuid")]
  #[serde(default)]
  uuid: Option<String> 
}

impl Invitation {
  pub fn new() -> Invitation {
    Invitation {
      app: None,
      apps: None,
      id: None,
      invite_date: None,
      invite_status: None,
      invitee_email: None,
      invitee_role: None,
      invitee_status: None,
      inviter_email: None,
      uuid: None
    }
  }

  pub fn set_app(&mut self, app: App) {
    self.app = Some(app);
  }

  pub fn with_app(mut self, app: App) -> Invitation {
    self.app = Some(app);
    self
  }

  pub fn app(&self) -> Option<&App> {
    self.app.as_ref()
  }

  pub fn reset_app(&mut self) {
    self.app = None;
  }

  pub fn set_apps(&mut self, apps: Vec<App>) {
    self.apps = Some(apps);
  }

  pub fn with_apps(mut self, apps: Vec<App>) -> Invitation {
    self.apps = Some(apps);
    self
  }

  pub fn apps(&self) -> Option<&Vec<App>> {
    self.apps.as_ref()
  }

  pub fn reset_apps(&mut self) {
    self.apps = None;
  }

  pub fn set_id(&mut self, id: i64) {
    self.id = Some(id);
  }

  pub fn with_id(mut self, id: i64) -> Invitation {
    self.id = Some(id);
    self
  }

  pub fn id(&self) -> Option<&i64> {
    self.id.as_ref()
  }

  pub fn reset_id(&mut self) {
    self.id = None;
  }

  pub fn set_invite_date(&mut self, invite_date: DateTime<Utc>) {
    self.invite_date = Some(invite_date);
  }

  pub fn with_invite_date(mut self, invite_date: DateTime<Utc>) -> Invitation {
    self.invite_date = Some(invite_date);
    self
  }

  pub fn invite_date(&self) -> Option<&DateTime<Utc>> {
    self.invite_date.as_ref()
  }

  pub fn reset_invite_date(&mut self) {
    self.invite_date = None;
  }

  pub fn set_invite_status(&mut self, invite_status: String) {
    self.invite_status = Some(invite_status);
  }

  pub fn with_invite_status(mut self, invite_status: String) -> Invitation {
    self.invite_status = Some(invite_status);
    self
  }

  pub fn invite_status(&self) -> Option<&String> {
    self.invite_status.as_ref()
  }

  pub fn reset_invite_status(&mut self) {
    self.invite_status = None;
  }

  pub fn set_invitee_email(&mut self, invitee_email: String) {
    self.invitee_email = Some(invitee_email);
  }

  pub fn with_invitee_email(mut self, invitee_email: String) -> Invitation {
    self.invitee_email = Some(invitee_email);
    self
  }

  pub fn invitee_email(&self) -> Option<&String> {
    self.invitee_email.as_ref()
  }

  pub fn reset_invitee_email(&mut self) {
    self.invitee_email = None;
  }

  pub fn set_invitee_role(&mut self, invitee_role: String) {
    self.invitee_role = Some(invitee_role);
  }

  pub fn with_invitee_role(mut self, invitee_role: String) -> Invitation {
    self.invitee_role = Some(invitee_role);
    self
  }

  pub fn invitee_role(&self) -> Option<&String> {
    self.invitee_role.as_ref()
  }

  pub fn reset_invitee_role(&mut self) {
    self.invitee_role = None;
  }

  pub fn set_invitee_status(&mut self, invitee_status: String) {
    self.invitee_status = Some(invitee_status);
  }

  pub fn with_invitee_status(mut self, invitee_status: String) -> Invitation {
    self.invitee_status = Some(invitee_status);
    self
  }

  pub fn invitee_status(&self) -> Option<&String> {
    self.invitee_status.as_ref()
  }

  pub fn reset_invitee_status(&mut self) {
    self.invitee_status = None;
  }

  pub fn set_inviter_email(&mut self, inviter_email: String) {
    self.inviter_email = Some(inviter_email);
  }

  pub fn with_inviter_email(mut self, inviter_email: String) -> Invitation {
    self.inviter_email = Some(inviter_email);
    self
  }

  pub fn inviter_email(&self) -> Option<&String> {
    self.inviter_email.as_ref()
  }

  pub fn reset_inviter_email(&mut self) {
    self.inviter_email = None;
  }

  pub fn set_uuid(&mut self, uuid: String) {
    self.uuid = Some(uuid);
  }

  pub fn with_uuid(mut self, uuid: String) -> Invitation {
    self.uuid = Some(uuid);
    self
  }

  pub fn uuid(&self) -> Option<&String> {
    self.uuid.as_ref()
  }

  pub fn reset_uuid(&mut self) {
    self.uuid = None;
  }


  pub fn validate(&self) {
  }

}