Packages

Generators for absinthe to help reduce writing boilerplate

Current section

Files

Jump to
absinthe_generator priv templates absinthe_schema_query.ex.eex
Raw

priv/templates/absinthe_schema_query.ex.eex

defmodule <%= Macro.camelize(app_name) %>.Schema.Queries.<%= Macro.camelize(query_name) %> do
<%= if moduledoc do %>
@moduledoc "<%= moduledoc %>"
<% else %>
@moduledoc false
<% end %>
use Absinthe.Schema.Notation
alias <%= Macro.camelize(app_name) %>.Resolvers
object :<%= Macro.underscore(query_name) %>_queries do
<%= for query <- queries do %>
<%= if query.description do %>@desc "<%= query.description %>"<% end %>
field :<%= Macro.underscore(query.name) %>, <%= query.return_type %> do
<%= for argument <- query.arguments do %>
arg :<%= Macro.underscore(argument.name) %>, <%= AbsintheGenerator.Type.maybe_string_atomize_type(argument.type) %><% end %>
<%= for middleware <- query.pre_middleware do %>
middleware <%= Macro.camelize(middleware) %><% end %>
resolve <%= query.resolver_module_function %>
<%= for middleware <- query.post_middleware do %>
middleware <%= Macro.camelize(middleware) %><% end %>
end
<% end %>
end
end