use crate::models;
use serde::{Deserialize, Serialize};
use serde_json::Value;
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct OrganizationMember {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "created_at")]
pub created_at: String,
#[serde(rename = "updated_at")]
pub updated_at: String,
#[serde(rename = "organization_id")]
pub organization_id: String,
#[serde(rename = "user_id")]
pub user_id: String,
#[serde(rename = "roles")]
pub roles: Vec<models::OrganizationRole>,
#[serde(rename = "public_metadata")]
pub public_metadata: Value,
#[serde(rename = "first_name")]
pub first_name: String,
#[serde(rename = "last_name")]
pub last_name: String,
#[serde(rename = "username", skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
#[serde(
rename = "primary_email_address",
skip_serializing_if = "Option::is_none"
)]
pub primary_email_address: Option<String>,
#[serde(
rename = "primary_phone_number",
skip_serializing_if = "Option::is_none"
)]
pub primary_phone_number: Option<String>,
#[serde(rename = "user_created_at")]
pub user_created_at: String,
}
impl OrganizationMember {
pub fn new() -> OrganizationMember {
OrganizationMember {
id: String::new(),
created_at: String::new(),
updated_at: String::new(),
organization_id: String::new(),
user_id: String::new(),
roles: Vec::new(),
public_metadata: Value::default(),
first_name: String::new(),
last_name: String::new(),
username: None,
primary_email_address: None,
primary_phone_number: None,
user_created_at: String::new(),
}
}
}