View Source Bonfire.Common.QueryModule behaviour (Bonfire v0.9.10-classic-beta.169)

Properly query some data using the appropriate module depending on its schema. Back by a global cache of known query_modules to be queried by their schema, or vice versa.

Summary

Callbacks

Points to the related context module

Declares a query module

Points to the related schema module

Callbacks

@callback context_module() :: atom()

Points to the related context module

@callback query_module() :: any()

Declares a query module

@callback schema_module() :: atom()

Points to the related schema module

Functions

Link to this function

apply_error(error, args)

View Source
Link to this function

linked_context_modules()

View Source
Link to this function

maybe_query(schema, filters \\ [], fallback_fun \\ &apply_error/2)

View Source
Link to this function

maybe_query_module(query)

View Source
@spec modules() :: [atom()]

Callback implementation for Bonfire.Common.ExtensionBehaviour.modules/0.

Link to this function

query_function_error(error, args, level \\ :info)

View Source

Get a Queryable identified by name or id.

Look up a Queryable by name or id, throw :not_found if not found.

@spec query_modules([binary() | atom()]) :: [binary()]

Look up many ids at once, throw :not_found if any of them are not found