Group resource mapper behaviour.
Summary
Callbacks
Builds the complete SCIM meta object for a group. Receives the struct and options like :location and :resource_type.
Converts a SCIM JSON map into a domain group struct.
Extracts the creation timestamp from a group struct. Used for SCIM meta.created.
Extracts the last-modified timestamp from a group struct. Used for SCIM meta.lastModified.
Computes an ETag version string from a group struct. Used for SCIM meta.version.
Converts a domain group struct into a SCIM JSON map.
Types
Callbacks
@callback format_meta( group_struct(), keyword() ) :: map()
Builds the complete SCIM meta object for a group. Receives the struct and options like :location and :resource_type.
@callback from_scim(scim_data(), ExScim.Scope.t()) :: {:ok, group_struct()} | {:error, atom() | term()}
Converts a SCIM JSON map into a domain group struct.
@callback get_meta_created(group_struct()) :: DateTime.t() | nil
Extracts the creation timestamp from a group struct. Used for SCIM meta.created.
@callback get_meta_last_modified(group_struct()) :: DateTime.t() | nil
Extracts the last-modified timestamp from a group struct. Used for SCIM meta.lastModified.
@callback get_meta_version(group_struct()) :: String.t() | nil
Computes an ETag version string from a group struct. Used for SCIM meta.version.
@callback to_scim(group_struct(), ExScim.Scope.t(), keyword()) :: {:ok, scim_data()} | {:error, atom() | term()}
Converts a domain group struct into a SCIM JSON map.