summaryrefslogtreecommitdiff
path: root/app/graphql/resolvers/topics_resolver.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/graphql/resolvers/topics_resolver.rb')
-rw-r--r--app/graphql/resolvers/topics_resolver.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/app/graphql/resolvers/topics_resolver.rb b/app/graphql/resolvers/topics_resolver.rb
new file mode 100644
index 00000000000..d8199f3d89b
--- /dev/null
+++ b/app/graphql/resolvers/topics_resolver.rb
@@ -0,0 +1,19 @@
+# frozen_string_literal: true
+
+module Resolvers
+ class TopicsResolver < BaseResolver
+ type Types::Projects::TopicType, null: true
+
+ argument :search, GraphQL::Types::String,
+ required: false,
+ description: 'Search query for topic name.'
+
+ def resolve(**args)
+ if args[:search].present?
+ ::Projects::Topic.search(args[:search]).order_by_total_projects_count
+ else
+ ::Projects::Topic.order_by_total_projects_count
+ end
+ end
+ end
+end