View Source Bonfire.Me.Users (Bonfire v0.9.11-social-beta.6)

A User represents a visible identity within the system belonging to an Account (see Bonfire.Me.Accounts) and having a Profile (see Bonfire.Me.Profiles) and a Character identified by a username (see Bonfire.Me.Characters).

Summary

Functions

Gets users by account.

Gets a user by canonical URI.

Gets a user by ID.

Gets a user by username or user ID and account ID, useful for switch-user functionality.

Gets a user by username.

Gets a user by username, raising an error if not found.

Checks if users are active.

Creates a remote user

Fetches the current user by ID.

Gets the current user by ID.

Checks if a user is active.

Grants a user superpowers.

Revokes a user's superpowers.

Searches for users.

Query for searching for users.

Updates a remote user

Types

changeset_extra()

@type changeset_extra() :: Bonfire.Data.Identity.Account.t() | :remote

changeset_name()

@type changeset_name() :: :create

Functions

ap_receive_activity(creator, activity, object)

by_account(account)

Gets users by account.

Examples

> Bonfire.Me.Users.by_account(%Bonfire.Data.Identity.Account{id: "account_id"})
[%Bonfire.Data.Identity.User{}]

> Bonfire.Me.Users.by_account!("account_id")
[%Bonfire.Data.Identity.User{}]

by_account!(account)

by_ap_id(ap_id)

by_ap_id!(ap_id)

by_canonical_uri(uri)

Gets a user by canonical URI.

Examples

> Bonfire.Me.Users.by_canonical_uri("http://example.com")
%Bonfire.Data.Identity.User{}

by_id(id, opts \\ [])

Gets a user by ID.

Examples

> Bonfire.Me.Users.by_id("user_id")
%Bonfire.Data.Identity.User{}

> Bonfire.Me.Users.by_id(["user_id"])
%Bonfire.Data.Identity.User{}

by_user_and_account(username_or_user_id, account_id)

Gets a user by username or user ID and account ID, useful for switch-user functionality.

Will throw an error if any of the account's users is blocked instance-wide by admins.

Examples

> Bonfire.Me.Users.by_user_and_account("username", "account_id")
{:ok, %Bonfire.Data.Identity.User{}}

by_username(username, opts \\ [])

Gets a user by username.

Examples

> Bonfire.Me.Users.by_username("username")
%Bonfire.Data.Identity.User{}

by_username!(username)

Gets a user by username, raising an error if not found.

Examples

> Bonfire.Me.Users.by_username!("username")
%Bonfire.Data.Identity.User{}

changeset(name, user \\ %User{}, params, extra)

@spec changeset(
  name :: changeset_name(),
  user :: Bonfire.Data.Identity.User.t(),
  params :: map(),
  extra :: Bonfire.Data.Identity.Account.t() | :remote
) :: Ecto.Changeset.t()

check_active(users)

Checks if users are active.

Examples

iex> Bonfire.Me.Users.check_active([user1])
[{:ok, %Bonfire.Data.Identity.User{}}]

iex> Bonfire.Me.Users.check_active(user)
{:ok, %Bonfire.Data.Identity.User{}}

check_active!(users)

count(show \\ :local)

create(params_or_changeset, opts \\ [])

create_remote(params, opts \\ [])

Creates a remote user

enqueue_delete(user)

federation_module()

Callback implementation for Bonfire.Federate.ActivityPub.FederationModules.federation_module/0.

fetch_current(id)

Fetches the current user by ID.

Examples

> Bonfire.Me.Users.fetch_current("user_id")
%Bonfire.Data.Identity.User{}

flatten(user)

format_actor(user)

get_current(id)

Gets the current user by ID.

Examples

iex> Bonfire.Me.Users.get_current(nil)
nil

> Bonfire.Me.Users.get_current("user_id")
%Bonfire.Data.Identity.User{}

get_current(id, account_id)

get_only_in_account(account)

get_or_create_service_character(service_character_id, service_character_username, bio \\ nil)

get_or_create_service_user(service_character_username, data \\ %{summary: nil, website: nil, location: nil})

ids_by_account(account_id)

indexing_object_format(u)

is_active?(user)

Checks if a user is active.

Examples

> Bonfire.Me.Users.is_active?(user)

is_first_user?()

list(opts)

list_admins()

list_boundarised_query(opts)

list_paginated(opts \\ [])

make_admin(username)

Grants a user superpowers.

make_user(attrs, account, opts \\ [])

maybe_count(show \\ :local)

maybe_index_user(object, previous \\ nil)

query_module()

Callback implementation for Bonfire.Common.ContextModule.query_module/0.

revoke_admin(username)

Revokes a user's superpowers.

schema_module()

Callback implementation for Bonfire.Common.ContextModule.schema_module/0.

search(search, opts \\ [])

Searches for users.

Examples

> Bonfire.Me.Users.search("username")
[%Bonfire.Data.Identity.User{}]

search_query(search, opts \\ [])

Query for searching for users.

Examples

> Bonfire.Me.Users.search_query("search_term")
%Ecto.Query{}

update(user, params, extra \\ [])

update_local_actor(user, params)

update_remote_actor(user, params)

Updates a remote user