mirror of
https://github.com/ash-project/ash_graphql.git
synced 2024-09-19 21:03:09 +12:00
fix: always add global types
This commit is contained in:
parent
388bc978b6
commit
66b2162d10
2 changed files with 12 additions and 12 deletions
|
@ -39,7 +39,7 @@ defmodule AshGraphql.Api do
|
|||
end
|
||||
|
||||
@doc false
|
||||
def type_definitions(api, schema, first?) do
|
||||
def type_definitions(api, schema) do
|
||||
resource_types =
|
||||
api
|
||||
|> Ash.Api.resources()
|
||||
|
@ -51,11 +51,11 @@ defmodule AshGraphql.Api do
|
|||
AshGraphql.Resource.mutation_types(resource, schema)
|
||||
end)
|
||||
|
||||
if first? do
|
||||
[mutation_error(schema), relationship_change(schema), sort_order(schema)] ++ resource_types
|
||||
else
|
||||
resource_types
|
||||
end
|
||||
resource_types
|
||||
end
|
||||
|
||||
def global_type_definitions(schema) do
|
||||
[mutation_error(schema), relationship_change(schema), sort_order(schema)]
|
||||
end
|
||||
|
||||
defp sort_order(schema) do
|
||||
|
|
|
@ -12,10 +12,8 @@ defmodule AshGraphql do
|
|||
api
|
||||
|> List.wrap()
|
||||
|> Kernel.++(List.wrap(apis))
|
||||
|> Enum.map(&{&1, false})
|
||||
|> List.update_at(0, fn {api, _} -> {api, true} end)
|
||||
|
||||
for {api, first?} do
|
||||
for api <- apis do
|
||||
defmodule Module.concat(api, AshTypes) do
|
||||
@moduledoc false
|
||||
alias Absinthe.{Blueprint, Phase, Pipeline}
|
||||
|
@ -47,14 +45,16 @@ defmodule AshGraphql do
|
|||
Absinthe.Blueprint.add_field(blueprint, "RootMutationType", mutation)
|
||||
end)
|
||||
|
||||
type_definitions =
|
||||
AshGraphql.Api.global_type_definitions(__MODULE__) ++
|
||||
AshGraphql.Api.type_definitions(api, __MODULE__)
|
||||
|
||||
new_defs =
|
||||
List.update_at(blueprint_with_mutations.schema_definitions, 0, fn schema_def ->
|
||||
%{
|
||||
schema_def
|
||||
| imports: [{Absinthe.Type.Custom, []} | List.wrap(schema_def.imports)],
|
||||
type_definitions:
|
||||
schema_def.type_definitions ++
|
||||
AshGraphql.Api.type_definitions(api, __MODULE__, unquote(first?))
|
||||
type_definitions: schema_def.type_definitions ++ type_definitions
|
||||
}
|
||||
end)
|
||||
|
||||
|
|
Loading…
Reference in a new issue