summaryrefslogtreecommitdiff
path: root/app/services/error_tracking/list_sentry_projects_service.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/error_tracking/list_sentry_projects_service.rb')
-rw-r--r--app/services/error_tracking/list_sentry_projects_service.rb44
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