diff options
Diffstat (limited to 'app/serializers/service_field_entity.rb')
-rw-r--r-- | app/serializers/service_field_entity.rb | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/app/serializers/service_field_entity.rb b/app/serializers/service_field_entity.rb deleted file mode 100644 index b13f2c0e217..00000000000 --- a/app/serializers/service_field_entity.rb +++ /dev/null @@ -1,47 +0,0 @@ -# frozen_string_literal: true - -class ServiceFieldEntity < Grape::Entity - include RequestAwareEntity - include Gitlab::Utils::StrongMemoize - - expose :section, :type, :name, :placeholder, :required, :choices, :checkbox_label - - expose :title do |field| - non_empty_password?(field) ? field[:non_empty_password_title] : field[:title] - end - - expose :help do |field| - non_empty_password?(field) ? field[:non_empty_password_help] : field[:help] - end - - expose :value do |field| - value = value_for(field) - - if non_empty_password?(field) - 'true' - elsif field[:type] == 'checkbox' - ActiveRecord::Type::Boolean.new.deserialize(value).to_s - else - value - end - end - - private - - def service - request.service - end - - def value_for(field) - strong_memoize(:value_for) do - # field[:name] is not user input and so can assume is safe - service.public_send(field[:name]) # rubocop:disable GitlabSecurity/PublicSend - end - end - - def non_empty_password?(field) - strong_memoize(:non_empty_password) do - field[:type] == 'password' && value_for(field).present? - end - end -end |