add mutations to questions and reviews

This commit is contained in:
João Geonizeli
2022-07-21 15:10:49 -03:00
parent d38acaab98
commit 3ce6c421b1
18 changed files with 909 additions and 6 deletions

View File

@@ -1,10 +1,9 @@
module Types
class MutationType < Types::BaseObject
# TODO: remove me
field :test_field, String, null: false,
description: "An example field added by the generator"
def test_field
"Hello World"
end
field :create_question, mutation: Mutations::CreateQuestion
field :update_question, mutation: Mutations::UpdateQuestion
field :destroy_question, mutation: Mutations::DestroyQuestion
field :finish_question, mutation: Mutations::FinishQuestion
field :create_review_message, mutation: Mutations::CreateReviewMessage
end
end

View File

@@ -0,0 +1,14 @@
# frozen_string_literal: true
module Types
class ReviewMessageType < Types::BaseObject
graphql_name "ReviewMessage"
field :id, ID, null: false
field :user, UserType, null: false
field :question, QuestionType, null: false
field :text, String, null: false
field :feedback_type, Enums::ReviewMessageFeedbackTypeEnum, null: false
field :created_at, GraphQL::Types::ISO8601DateTime, null: false
field :updated_at, GraphQL::Types::ISO8601DateTime, null: false
end
end

View File

@@ -0,0 +1,20 @@
# frozen_string_literal: true
module Types
class ReviewRequestType < Types::BaseObject
graphql_name "ReviewRequest"
field :id, ID, null: false
field :answered, Boolean, null: false
field :question, Types::QuestionType, null: false
def question
dataloader.with(Sources::ActiveRecord, Question).load(object.question_id)
end
field :user, Types::UserType, null: false
def user
dataloader.with(Sources::ActiveRecord, User).load(object.user_id)
end
end
end