[day-04] expose training in graphql
This commit is contained in:
parent
d5faec5f65
commit
eaac531e0b
5
lib/wabanex_web/resolvers/training.ex
Normal file
5
lib/wabanex_web/resolvers/training.ex
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
defmodule WabanexWeb.Resolvers.Training do
|
||||||
|
alias Wabanex.Trainings
|
||||||
|
|
||||||
|
def create(%{input: params}, _context), do: Trainings.Create.call(params)
|
||||||
|
end
|
@ -4,10 +4,12 @@ defmodule WabanexWeb.Schema.Types.Root do
|
|||||||
alias Crudry.Middlewares.TranslateErrors
|
alias Crudry.Middlewares.TranslateErrors
|
||||||
|
|
||||||
alias WabanexWeb.Resolvers.User, as: UserResolver
|
alias WabanexWeb.Resolvers.User, as: UserResolver
|
||||||
|
alias WabanexWeb.Resolvers.Training, as: TrainingResolver
|
||||||
alias WabanexWeb.Schema.Types
|
alias WabanexWeb.Schema.Types
|
||||||
|
|
||||||
import_types Types.Custom.UUID4
|
import_types Types.Custom.UUID4
|
||||||
import_types Types.User
|
import_types Types.User
|
||||||
|
import_types Types.Training
|
||||||
|
|
||||||
object :root_query do
|
object :root_query do
|
||||||
field :get_user, type: :user do
|
field :get_user, type: :user do
|
||||||
@ -24,5 +26,12 @@ defmodule WabanexWeb.Schema.Types.Root do
|
|||||||
resolve &UserResolver.create/2
|
resolve &UserResolver.create/2
|
||||||
middleware TranslateErrors
|
middleware TranslateErrors
|
||||||
end
|
end
|
||||||
|
|
||||||
|
field :create_training, type: :training do
|
||||||
|
arg :input, non_null(:create_training_input)
|
||||||
|
|
||||||
|
resolve &TrainingResolver.create/2
|
||||||
|
middleware TranslateErrors
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
16
lib/wabanex_web/schema/types/training.ex
Normal file
16
lib/wabanex_web/schema/types/training.ex
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
defmodule WabanexWeb.Schema.Types.Training do
|
||||||
|
use Absinthe.Schema.Notation
|
||||||
|
|
||||||
|
@desc "Logic training representation"
|
||||||
|
object :training do
|
||||||
|
field :id, non_null(:uuid4)
|
||||||
|
field :start_date, non_null(:string)
|
||||||
|
field :end_date, :string
|
||||||
|
end
|
||||||
|
|
||||||
|
input_object :create_training_input do
|
||||||
|
field :user_id, non_null(:uuid4)
|
||||||
|
field :start_date, non_null(:string)
|
||||||
|
field :end_date, :string
|
||||||
|
end
|
||||||
|
end
|
Loading…
x
Reference in New Issue
Block a user