ExStreamClient.Operations.Users (ExStreamClient v0.1.3)

View Source

Modules for interacting with the users group of Stream APIs

API Reference: https://getstream.github.io/protocol/?urls.primaryName=Chat%20v2

Summary

Functions

Deactivates user with possibility to activate it back

Deactivate users in batches

Deletes users and optionally all their belongings asynchronously.

Exports the user's profile, reactions and messages. Raises an error if a user has more than 10k messages or reactions

Get list of blocked Users

Find and filter users

Activates user who's been deactivated previously

Reactivate users in batches

Restore soft deleted users

Update or create users in bulk

Updates certain fields of the user

Functions

block_users(payload, opts \\ [])

@spec block_users(ExStreamClient.Model.BlockUsersRequest.t(), [{:client, module()}]) ::
  {:ok, ExStreamClient.Model.BlockUsersResponse.t()} | {:error, any()}

Block users

Required Arguments:

Optional Arguments:

deactivate_user(user_id, payload, opts \\ [])

@spec deactivate_user(String.t(), ExStreamClient.Model.DeactivateUserRequest.t(), [
  {:client, module()}
]) ::
  {:ok, ExStreamClient.Model.DeactivateUserResponse.t()} | {:error, any()}

Deactivates user with possibility to activate it back

Sends events:

  • user.deactivated

Required Arguments:

Optional Arguments:

deactivate_users(payload, opts \\ [])

@spec deactivate_users(ExStreamClient.Model.DeactivateUsersRequest.t(), [
  {:client, module()}
]) ::
  {:ok, ExStreamClient.Model.DeactivateUsersResponse.t()} | {:error, any()}

Deactivate users in batches

Sends events:

  • user.deactivated

Required Arguments:

Optional Arguments:

delete_users(payload, opts \\ [])

@spec delete_users(ExStreamClient.Model.DeleteUsersRequest.t(), [{:client, module()}]) ::
  {:ok, ExStreamClient.Model.DeleteUsersResponse.t()} | {:error, any()}

Deletes users and optionally all their belongings asynchronously.

Sends events:

  • channel.deleted
  • user.deleted

Required Arguments:

Optional Arguments:

export_user(user_id, opts \\ [])

@spec export_user(String.t(), [{:client, module()}]) ::
  {:ok, ExStreamClient.Model.ExportUserResponse.t()} | {:error, any()}

Exports the user's profile, reactions and messages. Raises an error if a user has more than 10k messages or reactions

Required Arguments:

  • user_id

Optional Arguments:

get_blocked_users(opts \\ [])

@spec get_blocked_users(client: module(), user_id: String.t()) ::
  {:ok, ExStreamClient.Model.GetBlockedUsersResponse.t()} | {:error, any()}

Get list of blocked Users

Optional Arguments:

query_users(opts \\ [])

@spec query_users(
  client: module(),
  payload: ExStreamClient.Model.QueryUsersPayload.t()
) ::
  {:ok, ExStreamClient.Model.QueryUsersResponse.t()} | {:error, any()}

Find and filter users

Optional Arguments:

reactivate_user(user_id, payload, opts \\ [])

@spec reactivate_user(String.t(), ExStreamClient.Model.ReactivateUserRequest.t(), [
  {:client, module()}
]) ::
  {:ok, ExStreamClient.Model.ReactivateUserResponse.t()} | {:error, any()}

Activates user who's been deactivated previously

Sends events:

  • user.reactivated

Required Arguments:

Optional Arguments:

reactivate_users(payload, opts \\ [])

@spec reactivate_users(ExStreamClient.Model.ReactivateUsersRequest.t(), [
  {:client, module()}
]) ::
  {:ok, ExStreamClient.Model.ReactivateUsersResponse.t()} | {:error, any()}

Reactivate users in batches

Sends events:

  • user.reactivated
  • user.reactivated

Required Arguments:

Optional Arguments:

restore_users(payload, opts \\ [])

@spec restore_users(ExStreamClient.Model.RestoreUsersRequest.t(), [
  {:client, module()}
]) ::
  {:ok, ExStreamClient.Model.Response.t()} | {:error, any()}

Restore soft deleted users

Required Arguments:

Optional Arguments:

unblock_users(payload, opts \\ [])

@spec unblock_users(ExStreamClient.Model.UnblockUsersRequest.t(), [
  {:client, module()}
]) ::
  {:ok, ExStreamClient.Model.UnblockUsersResponse.t()} | {:error, any()}

Unblock users

Required Arguments:

Optional Arguments:

update_users(payload, opts \\ [])

@spec update_users(ExStreamClient.Model.UpdateUsersRequest.t(), [{:client, module()}]) ::
  {:ok, ExStreamClient.Model.UpdateUsersResponse.t()} | {:error, any()}

Update or create users in bulk

Sends events:

  • user.updated

Required Arguments:

Optional Arguments:

update_users_partial(payload, opts \\ [])

@spec update_users_partial(ExStreamClient.Model.UpdateUsersPartialRequest.t(), [
  {:client, module()}
]) ::
  {:ok, ExStreamClient.Model.UpdateUsersResponse.t()} | {:error, any()}

Updates certain fields of the user

Sends events:

  • user.presence.changed
  • user.updated
  • user.presence.changed

Required Arguments:

Optional Arguments: