diff options
Diffstat (limited to 'app/graphql/types/projects/service_type_enum.rb')
-rw-r--r-- | app/graphql/types/projects/service_type_enum.rb | 17 |
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 |