module ZendeskAppsSupport::Validations::SecureSettings

Constants

SECURABLE_KEYWORDS
SECURABLE_KEYWORDS_REGEXP

Public Class Methods

call(package) click to toggle source
# File lib/zendesk_apps_support/validations/secure_settings.rb, line 10
def call(package)
  manifest_params = package.manifest.parameters

  insecure_params_found = manifest_params.any? { |param| insecure_param?(param) }

  package.warnings << secure_settings_warning if insecure_params_found
end

Private Class Methods

insecure_param?(parameter) click to toggle source
# File lib/zendesk_apps_support/validations/secure_settings.rb, line 20
def insecure_param?(parameter)
  parameter.name =~ SECURABLE_KEYWORDS_REGEXP && type_password_or_text?(parameter.type) && !parameter.secure
end
secure_settings_warning() click to toggle source
# File lib/zendesk_apps_support/validations/secure_settings.rb, line 28
def secure_settings_warning
  I18n.t(
    'txt.apps.admin.error.app_build.translation.insecure_token_parameter_in_manifest',
    link: 'https://developer.zendesk.com/apps/docs/developer-guide/using_sdk#using-secure-settings'
  )
end
type_password_or_text?(parameter_type) click to toggle source
# File lib/zendesk_apps_support/validations/secure_settings.rb, line 24
def type_password_or_text?(parameter_type)
  parameter_type == 'text' || parameter_type == 'password'
end