ExScim.Users.User (ex_scim v0.2.2)

Copy Markdown View Source

User struct representing a SCIM User resource.

Provides the core data structure for user identity information following SCIM 2.0 User schema (RFC 7643 Section 4.1).

Required Fields

  • :user_name - Unique identifier for the user, typically an email or username

Examples

iex> user = ExScim.Users.User.new("john.doe@example.com")
iex> user.user_name
"john.doe@example.com"

iex> user = ExScim.Users.User.new("john", display_name: "John Doe")
iex> user.display_name
"John Doe"

Summary

Functions

Creates a new User struct with the given user_name and optional fields.

Types

t()

@type t() :: %ExScim.Users.User{
  active: boolean() | nil,
  addresses: [map()] | nil,
  display_name: String.t() | nil,
  emails: [map()] | nil,
  external_id: String.t() | nil,
  id: String.t() | nil,
  locale: String.t() | nil,
  meta_created: DateTime.t() | nil,
  meta_last_modified: DateTime.t() | nil,
  name: map() | nil,
  phone_numbers: [map()] | nil,
  photos: [map()] | nil,
  preferred_language: String.t() | nil,
  timezone: String.t() | nil,
  title: String.t() | nil,
  user_name: String.t(),
  user_type: String.t() | nil
}

Functions

new(user_name, opts \\ [])

@spec new(
  String.t(),
  keyword()
) :: t()

Creates a new User struct with the given user_name and optional fields.

Parameters

  • user_name - Required unique identifier for the user
  • opts - Keyword list of optional user attributes

Examples

iex> user = ExScim.Users.User.new("john@example.com")
iex> user.user_name
"john@example.com"

iex> user = ExScim.Users.User.new("jane", display_name: "Jane Doe", active: true)
iex> {user.user_name, user.display_name, user.active}
{"jane", "Jane Doe", true}