summaryrefslogtreecommitdiff
path: root/app/graphql/types/projects/service_type_enum.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/graphql/types/projects/service_type_enum.rb')
-rw-r--r--app/graphql/types/projects/service_type_enum.rb17
1 files changed, 15 insertions, 2 deletions
diff --git a/app/graphql/types/projects/service_type_enum.rb b/app/graphql/types/projects/service_type_enum.rb
index 027026dc16c..d0cecbfea49 100644
--- a/app/graphql/types/projects/service_type_enum.rb
+++ b/app/graphql/types/projects/service_type_enum.rb
@@ -5,8 +5,21 @@ module Types
class ServiceTypeEnum < BaseEnum
graphql_name 'ServiceType'
- ::Integration.available_integration_types(include_dev: false).each do |type|
- value type.underscore.upcase, value: type, description: "#{type} type"
+ class << self
+ private
+
+ def type_description(name, type)
+ "#{type} type"
+ end
+ end
+
+ # This prepend must stay here because the dynamic block below depends on it.
+ prepend_mod # rubocop: disable Cop/InjectEnterpriseEditionModule
+
+ ::Integration.available_integration_names(include_dev: false).each do |name|
+ type = "#{name.camelize}Service"
+ domain_value = Integration.integration_name_to_type(name)
+ value type.underscore.upcase, value: domain_value, description: type_description(name, type)
end
end
end