use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize, bon::Builder)]
pub struct ScimUser {
#[serde(rename = "schemas")]
pub schemas: Vec<String>,
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "userName")]
pub user_name: String,
#[serde(rename = "name")]
pub name: Box<models::ScimName>,
#[serde(rename = "emails")]
pub emails: Vec<models::ScimEmail>,
#[serde(rename = "meta")]
pub meta: Box<models::UserMeta>,
}
impl ScimUser {
pub fn new(
schemas: Vec<String>,
id: String,
user_name: String,
name: models::ScimName,
emails: Vec<models::ScimEmail>,
meta: models::UserMeta,
) -> ScimUser {
ScimUser {
schemas,
id,
user_name,
name: Box::new(name),
emails,
meta: Box::new(meta),
}
}
}