Glific v0.3.1 Glific.Searches View Source

The Searches context.

Link to this section Summary

Functions

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

Given a jsonb string, typically either from the database, or maybe via graphql convert the string keys to atoms

Returns the count of searches, using the same filter as list_saved_searches

Creates a search.

Deletes a search.

Gets a single search.

Returns the list of searches.

Execute a saved search, if term is sent in, it is added to the saved search. Either return conversations or count

Full text search interface via Postgres

Link to this section Functions

Link to this function

change_saved_search(search, attrs \\ %{})

View Source

Specs

change_saved_search(Glific.Searches.SavedSearch.t(), map()) ::
  Ecto.Changeset.t()

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

Examples

iex> change_saved_search(search)
%Ecto.Changeset{data: %Search{}}

Specs

convert_to_atom(map()) :: map()

Given a jsonb string, typically either from the database, or maybe via graphql convert the string keys to atoms

Link to this function

count_saved_searches(args)

View Source

Specs

count_saved_searches(map()) :: integer()

Returns the count of searches, using the same filter as list_saved_searches

Link to this function

create_saved_search(attrs)

View Source

Specs

create_saved_search(map()) ::
  {:ok, Glific.Searches.SavedSearch.t()} | {:error, Ecto.Changeset.t()}

Creates a search.

Examples

iex> create_saved_search(%{field: value})
{:ok, %SavedSearch{}}

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

delete_saved_search(search)

View Source

Specs

delete_saved_search(Glific.Searches.SavedSearch.t()) ::
  {:ok, Glific.Searches.SavedSearch.t()} | {:error, Ecto.Changeset.t()}

Deletes a search.

Examples

iex> delete_saved_search(search)
{:ok, %SavedSearch{}}

iex> delete_saved_search(search)
{:error, %Ecto.Changeset{}}

Specs

get_saved_search!(integer()) :: Glific.Searches.SavedSearch.t()

Gets a single search.

Raises Ecto.NoResultsError if the SavedSearch does not exist.

Examples

iex> get_saved_search!(123)
%SavedSearch{}

iex> get_saved_search!(456)
** (Ecto.NoResultsError)
Link to this function

list_saved_searches(args)

View Source

Specs

list_saved_searches(map()) :: [Glific.Searches.SavedSearch.t()]

Returns the list of searches.

Examples

iex> list_saved_searches()
[%SavedSearch{}, ...]
Link to this function

saved_search_count(args)

View Source

Specs

saved_search_count(map()) :: [Glific.Conversations.Conversation.t()] | integer()

Execute a saved search, if term is sent in, it is added to the saved search. Either return conversations or count

Link to this function

search(args, count \\ false)

View Source

Specs

Full text search interface via Postgres

Link to this function

update_saved_search(search, attrs)

View Source

Specs

update_saved_search(Glific.Searches.SavedSearch.t(), map()) ::
  {:ok, Glific.Searches.SavedSearch.t()} | {:error, Ecto.Changeset.t()}

Updates a search.

Examples

iex> update_saved_search(search, %{field: new_value})
{:ok, %SavedSearch{}}

iex> update_saved_search(search, %{field: bad_value})
{:error, %Ecto.Changeset{}}