View Source
EctoForge.CreateExtension.Get behaviour
(ecto_forge v0.1.0)
You can use callback functions for processing. After the query and before the query to filter the data.
defmodule EctoForge.Extension.Get.Preload do
use EctoForge.CreateExtension.Get
def before_query_add_extension_to_get(_module, _mode, query, attrs) do
preload_attrs = Utls.MapUtls.opts_to_map(attrs)
attrs = Keyword.delete(attrs, :preload)
if is_list(preload_attrs) do
{preload(query, ^preload_attrs), attrs}
else
{query, attrs}
end
end
end