blob: 3c2064b7d6be815f574eb2c97d48056cf29c187f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# frozen_string_literal: true
class Projects::ErrorTrackingController < Projects::ApplicationController
before_action :check_feature_flag!
before_action :push_feature_flag_to_frontend
def list
end
def index
external_url, errors = errors_for(@project)
render json: {
external_url: external_url,
errors: errors
}
end
private
def errors_for(project)
settings = settings_for(project)
return nil, [] unless settings
ErrorTracking::SentryIssuesService
.new(settings.api_uri, settings.token)
.execute
end
def settings_for(project)
setting = project.error_tracking_setting
return setting if setting&.enabled?
end
def check_feature_flag!
render_404 unless Feature.enabled?(:error_tracking, project)
end
def push_feature_flag_to_frontend
push_frontend_feature_flag(:error_tracking, current_user)
end
end
|