summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzegorz@gitlab.com>2018-08-14 11:38:50 +0000
committerGrzegorz Bizon <grzegorz@gitlab.com>2018-08-14 11:38:50 +0000
commit3ae483dea3275939e8124f9038daf48bba6dbff6 (patch)
treeadd54e6e934e59261b80850552cc44f9ae049d57 /lib
parentf271d9b0758850c74e560845a60129034010dfda (diff)
parentf8ee861cd42b35ff5d35c18dafbe4d1c425af926 (diff)
downloadgitlab-ce-3ae483dea3275939e8124f9038daf48bba6dbff6.tar.gz
Merge branch 'ee-5863-customize-notifications-for-new-epic' into 'master'
Backport of EE changes "Customize notifications for new epic - Web and API" See merge request gitlab-org/gitlab-ce!20793
Diffstat (limited to 'lib')
-rw-r--r--lib/api/entities.rb2
-rw-r--r--lib/api/notification_settings.rb8
2 files changed, 6 insertions, 4 deletions
diff --git a/lib/api/entities.rb b/lib/api/entities.rb
index 27f28e1df93..453ebb9c669 100644
--- a/lib/api/entities.rb
+++ b/lib/api/entities.rb
@@ -856,7 +856,7 @@ module API
class NotificationSetting < Grape::Entity
expose :level
expose :events, if: ->(notification_setting, _) { notification_setting.custom? } do
- ::NotificationSetting::EMAIL_EVENTS.each do |event|
+ ::NotificationSetting.email_events.each do |event|
expose event
end
end
diff --git a/lib/api/notification_settings.rb b/lib/api/notification_settings.rb
index 0266bf2f717..bf0d6b9e434 100644
--- a/lib/api/notification_settings.rb
+++ b/lib/api/notification_settings.rb
@@ -23,7 +23,7 @@ module API
params do
optional :level, type: String, desc: 'The global notification level'
optional :notification_email, type: String, desc: 'The email address to send notifications'
- NotificationSetting::EMAIL_EVENTS.each do |event|
+ NotificationSetting.email_events.each do |event|
optional event, type: Boolean, desc: 'Enable/disable this notification'
end
end
@@ -50,7 +50,9 @@ module API
end
end
- %w[group project].each do |source_type|
+ [Group, Project].each do |source_class|
+ source_type = source_class.name.underscore
+
params do
requires :id, type: String, desc: "The #{source_type} ID"
end
@@ -73,7 +75,7 @@ module API
end
params do
optional :level, type: String, desc: "The #{source_type} notification level"
- NotificationSetting::EMAIL_EVENTS.each do |event|
+ NotificationSetting.email_events(source_class).each do |event|
optional event, type: Boolean, desc: 'Enable/disable this notification'
end
end