Обнаружено повторение определения типа для имени 'Connection' в pagination graphql

Я использовал помощник соединения для реализации разбивки на страницы в graphql apis. Я хочу реализовать соединение более одного раза для одной и той же модели, но это дает мне ошибку дублирующегося типа. Может кто-нибудь предложить решение для поддержки нумерации страниц для нескольких API одной и той же модели. Я использовал приведенный ниже код.

connection :employees_index, function: Queries::Employees::Index.new

connection :employees_user_index, function: Queries::Employees::UserIndex.new

0 ответов

Я знаю, что уже поздно, и вы, возможно, уже получили решение, но недавно я столкнулся с той же проблемой и искал решение, но не смог его найти. Так что я решил это по-своему. Думаю, это может быть полезно другим:

Решение:

Вы можете решить эту проблему, имея класс подключения; внутри каталога "graphql/connection" в каталоге приложения; нравится:

class Connections::EmployeesConnection < GraphQL::Function
   description 'Employees Connection'

   type Types::EmployeeType.define_connection
end

Теперь используйте этот класс в качестве суперкласса для вашего класса запросов / мутаций следующим образом:

# Query class
class Queries::Employees::Index < Connections::EmployeesConnection
   def call(obj, args, ctx)
      # Do stuff here
   end
end

То же самое для user_index:

# Query class
class Queries::Employees::UserIndex < Connections::EmployeesConnection
   def call(obj, args, ctx)
      # Do stuff here
   end
end

Точно так же вы можете использовать тот же класс подключения для других запросов и изменений сотрудников; это не даст вам ошибки из-за повторяющегося определения соединения.

Другие вопросы по тегам