diff options
Diffstat (limited to 'app/services/error_tracking/list_sentry_projects_service.rb')
-rw-r--r-- | app/services/error_tracking/list_sentry_projects_service.rb | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/app/services/error_tracking/list_sentry_projects_service.rb b/app/services/error_tracking/list_sentry_projects_service.rb deleted file mode 100644 index 2c488b10435..00000000000 --- a/app/services/error_tracking/list_sentry_projects_service.rb +++ /dev/null @@ -1,44 +0,0 @@ -# frozen_string_literal: true - -module ErrorTracking - class ListSentryProjectsService < ::BaseService - def execute - return error('access denied') unless can_read? - - setting = project_error_tracking_setting - - unless setting.valid? - return error(setting.errors.full_messages.join(', '), :bad_request) - end - - begin - result = setting.list_sentry_projects - rescue Sentry::Client::Error => e - return error(e.message, :bad_request) - rescue Sentry::Client::SentryError => e - return error(e.message, :unprocessable_entity) - end - - success(projects: result[:projects]) - end - - private - - def project_error_tracking_setting - (project.error_tracking_setting || project.build_error_tracking_setting).tap do |setting| - setting.api_url = ErrorTracking::ProjectErrorTrackingSetting.build_api_url_from( - api_host: params[:api_host], - organization_slug: nil, - project_slug: nil - ) - - setting.token = params[:token] - setting.enabled = true - end - end - - def can_read? - can?(current_user, :read_sentry_issue, project) - end - end -end |