Modules for interacting with the usergroups group of Stream APIs
API Reference: https://getstream.github.io/protocol/?urls.primaryName=Chat%20v2
Shared options
All functions in this module accept the following optional parameters:
api_key- API key to use. If not provided, the default key from config will be usedauthenticate_as_user- User id to authenticate. If not provided, the server key will be usedapi_key_secret- API key secret to use. If not provided, the default secret from config will be usedendpoint- endpoint to use. If not provided, the default endpoint from config will be usedclient- HTTP client to use. Must implementExStreamClient.Http.Behavior. Defaults toExStreamClient.Httpreq_opts- all of these options will be forwarded to req. SeeReq.new/1for available options
Summary
Functions
Adds members to a user group. All user IDs must exist. The operation is all-or-nothing.
Creates a new user group, optionally with initial members
Deletes a user group and all its members
Gets a user group by ID, including its members
Lists user groups with cursor-based pagination
Removes members from a user group. Users already not in the group are silently ignored.
Searches user groups by name prefix for autocomplete
Updates a user group's name and/or description. team_id is immutable.
Types
Functions
@spec add_user_group_members( String.t(), ExStreamClient.Model.AddUserGroupMembersRequest.t(), shared_opts() ) :: {:ok, ExStreamClient.Model.AddUserGroupMembersResponse.t()} | {:error, any()}
Adds members to a user group. All user IDs must exist. The operation is all-or-nothing.
Required Arguments:
Optional Arguments:
- All options from Shared Options are supported.
@spec create_user_group( ExStreamClient.Model.CreateUserGroupRequest.t(), shared_opts() ) :: {:ok, ExStreamClient.Model.CreateUserGroupResponse.t()} | {:error, any()}
Creates a new user group, optionally with initial members
Required Arguments:
Optional Arguments:
- All options from Shared Options are supported.
@spec delete_user_group(String.t(), [{:team_id, String.t()} | shared_opts()]) :: {:ok, ExStreamClient.Model.Response.t()} | {:error, any()}
Deletes a user group and all its members
Required Arguments:
id
Optional Arguments:
team_id- All options from Shared Options are supported.
@spec get_user_group(String.t(), [{:team_id, String.t()} | shared_opts()]) :: {:ok, ExStreamClient.Model.GetUserGroupResponse.t()} | {:error, any()}
Gets a user group by ID, including its members
Required Arguments:
id
Optional Arguments:
team_id- All options from Shared Options are supported.
@spec list_user_groups([ ({:team_id, String.t()} | {:created_at_gt, String.t()} | {:id_gt, String.t()} | {:limit, integer()}) | shared_opts() ]) :: {:ok, ExStreamClient.Model.ListUserGroupsResponse.t()} | {:error, any()}
Lists user groups with cursor-based pagination
Optional Arguments:
created_at_gtid_gtlimitteam_id- All options from Shared Options are supported.
@spec remove_user_group_members( String.t(), ExStreamClient.Model.RemoveUserGroupMembersRequest.t(), shared_opts() ) :: {:ok, ExStreamClient.Model.RemoveUserGroupMembersResponse.t()} | {:error, any()}
Removes members from a user group. Users already not in the group are silently ignored.
Required Arguments:
Optional Arguments:
- All options from Shared Options are supported.
@spec search_user_groups(String.t(), [ ({:team_id, String.t()} | {:id_gt, String.t()} | {:name_gt, String.t()} | {:limit, integer()}) | shared_opts() ]) :: {:ok, ExStreamClient.Model.SearchUserGroupsResponse.t()} | {:error, any()}
Searches user groups by name prefix for autocomplete
Required Arguments:
query
Optional Arguments:
id_gtlimitname_gtteam_id- All options from Shared Options are supported.
@spec update_user_group( String.t(), ExStreamClient.Model.UpdateUserGroupRequest.t(), shared_opts() ) :: {:ok, ExStreamClient.Model.UpdateUserGroupResponse.t()} | {:error, any()}
Updates a user group's name and/or description. team_id is immutable.
Required Arguments:
Optional Arguments:
- All options from Shared Options are supported.