diff --git a/lib/wabanex_web/schema/types/exercise.ex b/lib/wabanex_web/schema/types/exercise.ex new file mode 100644 index 0000000..8d2c2c4 --- /dev/null +++ b/lib/wabanex_web/schema/types/exercise.ex @@ -0,0 +1,19 @@ +defmodule WabanexWeb.Schema.Types.Exercise do + use Absinthe.Schema.Notation + + @desc "Logic exercise representation" + object :exercise do + field :id, non_null(:uuid4) + field :name, non_null(:string) + field :video_url, :string + field :protocol_description, non_null(:string) + field :repetitions, non_null(:string) + end + + input_object :create_exercise_input do + field :name, non_null(:string) + field :video_url, :string + field :protocol_description, non_null(:string) + field :repetitions, non_null(:string) + end +end diff --git a/lib/wabanex_web/schema/types/training.ex b/lib/wabanex_web/schema/types/training.ex index c6f95bb..5e661bf 100644 --- a/lib/wabanex_web/schema/types/training.ex +++ b/lib/wabanex_web/schema/types/training.ex @@ -1,16 +1,20 @@ defmodule WabanexWeb.Schema.Types.Training do use Absinthe.Schema.Notation + import_types WabanexWeb.Schema.Types.Exercise + @desc "Logic training representation" object :training do field :id, non_null(:uuid4) field :start_date, non_null(:string) field :end_date, :string + field :exercises, non_null(list_of(:exercise)) end input_object :create_training_input do field :user_id, non_null(:uuid4) field :start_date, non_null(:string) field :end_date, :string + field :exercises, non_null(list_of(:create_exercise_input)) end end