diff --git a/README.md b/README.md index bcff29c..fe1b99c 100644 --- a/README.md +++ b/README.md @@ -425,21 +425,25 @@ Note: This tutorial was updated on macOS 11.6.2. defmodule ZeroPhoenixWeb.Graphql.Schema do use Absinthe.Schema - import_types ZeroPhoenix.Graphql.Types.Person + import_types(ZeroPhoenixWeb.Graphql.Types.Person) - alias ZeroPhoenix.Repo + alias ZeroPhoenix.Account.Person + alias ZeroPhoenix.Account query do field :person, type: :person do - arg :id, non_null(:id) - resolve fn %{id: id}, _info -> - case ZeroPhoenix.Person|> Repo.get(id) do - nil -> {:error, "Person id #{id} not found"} - person -> {:ok, person} + arg(:id, non_null(:id)) + + resolve(fn %{id: id}, _info -> + case Account.get_person(id) do + %Person{} = person -> + {:ok, person} + + _error -> + {:error, "Person id #{id} not found"} end - end + end) end - end end ``` diff --git a/lib/zero_phoenix_web/graphql/schema.ex b/lib/zero_phoenix_web/graphql/schema.ex index b131096..7d9d318 100644 --- a/lib/zero_phoenix_web/graphql/schema.ex +++ b/lib/zero_phoenix_web/graphql/schema.ex @@ -3,7 +3,6 @@ defmodule ZeroPhoenixWeb.Graphql.Schema do import_types(ZeroPhoenixWeb.Graphql.Types.Person) - alias ZeroPhoenix.Repo alias ZeroPhoenix.Account.Person alias ZeroPhoenix.Account @@ -12,9 +11,12 @@ defmodule ZeroPhoenixWeb.Graphql.Schema do arg(:id, non_null(:id)) resolve(fn %{id: id}, _info -> - case Person |> Repo.get(id) do - nil -> {:error, "Person id #{id} not found"} - person -> {:ok, person} + case Account.get_person(id) do + %Person{} = person -> + {:ok, person} + + _error -> + {:error, "Person id #{id} not found"} end end) end