Packages

Library for building an ecto query from some JSON API parameters.

Current section

Files

Jump to
json_api_ecto_builder lib appliers join.ex
Raw

lib/appliers/join.ex

defmodule JsonApiEctoBuilder.Applier.Join do
import Ecto.Query
alias JsonApiEctoBuilder.ParamParser.Join
def apply(query, params, apply_join_callback) do
params
|> Join.parse
|> Enum.reduce(query, fn join, query ->
case has_named_binding?(query, join) do
true ->
query
false ->
apply_join_callback.(join, query)
end
end)
end
end