Glific v0.3.1 Glific.Groups View Source

The Groups context.

Link to this section Summary

Functions

Returns an %Ecto.Changeset{} for tracking group changes.

Return the count of group contacts

Return the count of groups, using the same filter as list_groups

Creates a contact group.

Creates a group.

Creates a user group.

Deletes a contact group.

Deletes a group.

Deletes a user group.

Gets a single group.

Returns the list of groups.

Updates a group.

Updates user groups entries

Return the count of group users

Link to this section Functions

Link to this function

change_group(group, attrs \\ %{})

View Source

Specs

change_group(Glific.Groups.Group.t(), map()) :: Ecto.Changeset.t()

Returns an %Ecto.Changeset{} for tracking group changes.

Examples

iex> change_group(group)
%Ecto.Changeset{data: %Group{}}

Specs

contacts_count(map()) :: integer()

Return the count of group contacts

Specs

count_groups(map()) :: integer()

Return the count of groups, using the same filter as list_groups

Link to this function

create_contact_group(attrs \\ %{})

View Source

Specs

create_contact_group(map()) ::
  {:ok, Glific.Groups.ContactGroup.t()} | {:error, Ecto.Changeset.t()}

Creates a contact group.

Examples

iex> create_contact_group(%{field: value})
{:ok, %Contact{}}

iex> create_contact_group(%{field: bad_value})
{:error, %Ecto.Changeset{}}
Link to this function

create_group(attrs \\ %{})

View Source

Specs

create_group(map()) ::
  {:ok, Glific.Groups.Group.t()} | {:error, Ecto.Changeset.t()}

Creates a group.

Examples

iex> create_group(%{field: value})
{:ok, %Group{}}

iex> create_group(%{field: bad_value})
{:error, %Ecto.Changeset{}}
Link to this function

create_user_group(attrs \\ %{})

View Source

Specs

create_user_group(map()) ::
  {:ok, Glific.Groups.UserGroup.t()} | {:error, Ecto.Changeset.t()}

Creates a user group.

Examples

iex> create_user_group(%{field: value})
{:ok, %User{}}

iex> create_user_group(%{field: bad_value})
{:error, %Ecto.Changeset{}}
Link to this function

delete_contact_group(contact_group)

View Source

Specs

delete_contact_group(Glific.Groups.ContactGroup.t()) ::
  {:ok, Glific.Groups.ContactGroup.t()} | {:error, Ecto.Changeset.t()}

Deletes a contact group.

Examples

iex> delete_contact_group(contact_group)
{:ok, %ContactGroup{}}

iex> delete_contact_group(contact_group)
{:error, %Ecto.Changeset{}}
Link to this function

delete_contact_groups_by_ids(contact_id, group_ids)

View Source

Specs

delete_contact_groups_by_ids(integer(), []) :: {integer(), nil | [term()]}

Delete contact groups

Specs

delete_group(Glific.Groups.Group.t()) ::
  {:ok, Glific.Groups.Group.t()} | {:error, Ecto.Changeset.t()}

Deletes a group.

Examples

iex> delete_group(group)
{:ok, %Group{}}

iex> delete_group(group)
{:error, %Ecto.Changeset{}}
Link to this function

delete_group_contacts_by_ids(group_id, contact_ids)

View Source

Specs

delete_group_contacts_by_ids(integer(), []) :: {integer(), nil | [term()]}

Delete group contacts

Link to this function

delete_group_users_by_ids(group_id, user_ids)

View Source

Specs

delete_group_users_by_ids(integer(), []) :: {integer(), nil | [term()]}

Delete group users

Link to this function

delete_user_group(user_group)

View Source

Specs

delete_user_group(Glific.Groups.UserGroup.t()) ::
  {:ok, Glific.Groups.UserGroup.t()} | {:error, Ecto.Changeset.t()}

Deletes a user group.

Examples

iex> delete_user_group(user_group)
{:ok, %UserGroup{}}

iex> delete_user_group(user_group)
{:error, %Ecto.Changeset{}}
Link to this function

delete_user_groups_by_ids(user_id, group_ids)

View Source

Specs

delete_user_groups_by_ids(integer(), []) :: {integer(), nil | [term()]}

Delete user groups

Specs

get_group!(integer()) :: Glific.Groups.Group.t()

Gets a single group.

Raises Ecto.NoResultsError if the Group does not exist.

Examples

iex> get_group!(123)
%Group{}

iex> get_group!(456)
** (Ecto.NoResultsError)

Specs

list_groups(map()) :: [Glific.Groups.Group.t()]

Returns the list of groups.

Examples

iex> list_groups()
[%Group{}, ...]
Link to this function

update_group(group, attrs)

View Source

Specs

update_group(Glific.Groups.Group.t(), map()) ::
  {:ok, Glific.Groups.Group.t()} | {:error, Ecto.Changeset.t()}

Updates a group.

Examples

iex> update_group(group, %{field: new_value})
{:ok, %Group{}}

iex> update_group(group, %{field: bad_value})
{:error, %Ecto.Changeset{}}

Specs

update_user_groups(map()) :: :ok

Updates user groups entries

Specs

users_count(map()) :: integer()

Return the count of group users