ExScimClient.Resources.Schemas (ex_scim_client v0.2.2)

Copy Markdown View Source

Schema resource operations.

Examples

iex> client = ExScimClient.Client.new("https://example.com/scim/v2", "token")
iex> {:ok, _schemas} = ExScimClient.Resources.Schemas.list(client)
iex> {:ok, _user_schema} = ExScimClient.Resources.Schemas.user_schema(client)

Summary

Functions

Retrieves the Enterprise User schema.

Retrieves a specific schema by ID.

Retrieves the Group schema.

Lists available schemas.

Retrieves the User schema.

Functions

enterprise_user_schema(client, opts \\ [])

@spec enterprise_user_schema(
  ExScimClient.Client.t(),
  keyword()
) :: {:ok, map()} | {:error, term()}

Retrieves the Enterprise User schema.

Examples

iex> client = ExScimClient.Client.new("https://example.com/scim/v2", "token")
iex> {:ok, _enterprise_schema} = ExScimClient.Resources.Schemas.enterprise_user_schema(client)

get(client, schema_id, opts \\ [])

@spec get(ExScimClient.Client.t(), String.t(), keyword()) ::
  {:ok, map()} | {:error, term()}

Retrieves a specific schema by ID.

Parameters

  • client - ExScimClient.Client struct
  • schema_id - Schema identifier (URI)
  • opts - Options keyword list

Examples

iex> client = ExScimClient.Client.new("https://example.com/scim/v2", "token")
iex> {:ok, _schema} = ExScimClient.Resources.Schemas.get(client, "urn:ietf:params:scim:schemas:core:2.0:User")

group_schema(client, opts \\ [])

@spec group_schema(
  ExScimClient.Client.t(),
  keyword()
) :: {:ok, map()} | {:error, term()}

Retrieves the Group schema.

Examples

iex> client = ExScimClient.Client.new("https://example.com/scim/v2", "token")
iex> {:ok, _group_schema} = ExScimClient.Resources.Schemas.group_schema(client)

list(client, opts \\ [])

@spec list(
  ExScimClient.Client.t(),
  keyword()
) :: {:ok, map()} | {:error, term()}

Lists available schemas.

Parameters

  • client - ExScimClient.Client struct
  • opts - Options keyword list (filter, sorting, pagination, attributes, excluded_attributes)

Examples

iex> client = ExScimClient.Client.new("https://example.com/scim/v2", "token")
iex> {:ok, _schemas} = ExScimClient.Resources.Schemas.list(client)

user_schema(client, opts \\ [])

@spec user_schema(
  ExScimClient.Client.t(),
  keyword()
) :: {:ok, map()} | {:error, term()}

Retrieves the User schema.

Examples

iex> client = ExScimClient.Client.new("https://example.com/scim/v2", "token")
iex> {:ok, _user_schema} = ExScimClient.Resources.Schemas.user_schema(client)