Current section
Files
Jump to
Current section
Files
lib/ecto_forge/utls/execute_extension.ex
defmodule EctoForge.Utls.ExecuteExtension do
def extensions_get_before_exucute(
_module,
[],
_mode,
_repo,
_list_exetensions_executed,
query,
attrs
) do
{query, attrs}
end
def extensions_get_before_exucute(
module,
[h],
mode,
repo,
list_exetensions_executed,
query,
attrs
) do
case h.before_query_add_extension_to_get(
module,
mode,
repo,
list_exetensions_executed,
query,
attrs
) do
{:result, result, query, attrs} -> {:result, result, query, attrs}
{:stop, query, attrs} -> {query, attrs}
{query, attrs} -> {query, attrs}
end
end
def extensions_get_before_exucute(
module,
[h | t],
mode,
repo,
list_exetensions_executed,
query,
attrs
) do
case h.before_query_add_extension_to_get(
module,
mode,
repo,
list_exetensions_executed,
query,
attrs
) do
{:result, result, query, attrs} ->
{:result, result, query, attrs}
{:stop, query, attrs} ->
{query, attrs}
{query, attrs} ->
extensions_get_before_exucute(
module,
t,
mode,
repo,
[
h
| list_exetensions_executed
],
query,
attrs
)
end
end
def extensions_get_after_exucute(
_module,
[],
_mode,
_repo,
_list_exetensions_executed,
prev_query,
result,
attrs
) do
{prev_query, result, attrs}
end
def extensions_get_after_exucute(
module,
[h],
mode,
repo,
list_exetensions_executed,
prev_query,
result,
attrs
) do
case h.after_query_add_extension_to_get(
module,
mode,
repo,
list_exetensions_executed,
prev_query,
result,
attrs
) do
{prev_query, result, attrs} ->
{prev_query, result, attrs}
{:stop, prev_query, result, attrs} ->
{prev_query, result, attrs}
end
end
def extensions_get_after_exucute(
module,
[h | t],
mode,
repo,
list_exetensions_executed,
prev_query,
result,
attrs
) do
case h.after_query_add_extension_to_get(
module,
mode,
repo,
list_exetensions_executed,
prev_query,
result,
attrs
) do
{:stop, prev_query, result, attrs} ->
{prev_query, result, attrs}
{prev_query, result, attrs} ->
extensions_get_after_exucute(
module,
t,
mode,
repo,
[h | list_exetensions_executed],
prev_query,
result,
attrs
)
end
end
end