[day-03] add mutation to create user
1. Add input type to receive user details 2. Add resolver to create user 3. Configure mutation in root type 4. Aggregate mutations in schema
This commit is contained in:
parent
a54d29ee61
commit
96a3e2e9f0
@ -2,4 +2,6 @@ defmodule WabanexWeb.Resolvers.User do
|
||||
alias Wabanex.Users
|
||||
|
||||
def get(%{id: user_id}, _context), do: Users.Get.call(user_id)
|
||||
|
||||
def create(%{input: params}, _context), do: Users.Create.call(params)
|
||||
end
|
||||
|
@ -6,4 +6,8 @@ defmodule WabanexWeb.Schema do
|
||||
query do
|
||||
import_fields :root_query
|
||||
end
|
||||
|
||||
mutation do
|
||||
import_fields :root_mutation
|
||||
end
|
||||
end
|
||||
|
@ -12,4 +12,12 @@ defmodule WabanexWeb.Schema.Types.Root do
|
||||
resolve &UserResolver.get/2
|
||||
end
|
||||
end
|
||||
|
||||
object :root_mutation do
|
||||
field :create_user, type: :user do
|
||||
arg :input, non_null(:create_user_input)
|
||||
|
||||
resolve &UserResolver.create/2
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -9,4 +9,10 @@ defmodule WabanexWeb.Schema.Types.User do
|
||||
field :name, non_null(:string)
|
||||
field :email, non_null(:string)
|
||||
end
|
||||
|
||||
input_object :create_user_input do
|
||||
field :name, non_null(:string), description: "User name"
|
||||
field :email, non_null(:string), description: "User email"
|
||||
field :password, non_null(:string), description: "User password"
|
||||
end
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user