use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct MemberRecord {
#[serde(rename = "email", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub email: Option<Option<String>>,
#[serde(rename = "first_name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub first_name: Option<Option<String>>,
#[serde(rename = "id")]
pub id: uuid::Uuid,
#[serde(rename = "invite_date", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub invite_date: Option<Option<String>>,
#[serde(rename = "last_name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub last_name: Option<Option<String>>,
#[serde(rename = "profile_picture", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub profile_picture: Option<Option<String>>,
#[serde(rename = "roles")]
pub roles: Vec<String>,
#[serde(rename = "status")]
pub status: String,
#[serde(rename = "user_id", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub user_id: Option<Option<uuid::Uuid>>,
}
impl MemberRecord {
pub fn new(id: uuid::Uuid, roles: Vec<String>, status: String) -> MemberRecord {
MemberRecord {
email: None,
first_name: None,
id,
invite_date: None,
last_name: None,
profile_picture: None,
roles,
status,
user_id: None,
}
}
}