summaryrefslogtreecommitdiff
path: root/lib/api/entities.rb
diff options
context:
space:
mode:
authorMarc Siegfriedt <marc@techaccelerator.com>2016-08-02 20:52:55 +0000
committerMarc Siegfriedt <marc@techaccelerator.com>2016-09-09 17:08:06 +0000
commit48333b9da36d2d22feca28c89cfefed34bede9e0 (patch)
treeb868528dfac80c0e9b1168d4e194ae9a33dc0e56 /lib/api/entities.rb
parent06438c74713b388785ecba4bf2a5c24ab6bc780b (diff)
downloadgitlab-ce-48333b9da36d2d22feca28c89cfefed34bede9e0.tar.gz
Add notification_settings API calls
Use NotificationSetting::EMAIL_EVENTS for params
Diffstat (limited to 'lib/api/entities.rb')
-rw-r--r--lib/api/entities.rb17
1 files changed, 16 insertions, 1 deletions
diff --git a/lib/api/entities.rb b/lib/api/entities.rb
index 3faba79415b..4f736e4ec2b 100644
--- a/lib/api/entities.rb
+++ b/lib/api/entities.rb
@@ -375,7 +375,7 @@ module API
expose :access_level
expose :notification_level do |member, options|
if member.notification_setting
- NotificationSetting.levels[member.notification_setting.level]
+ ::NotificationSetting.levels[member.notification_setting.level]
end
end
end
@@ -386,6 +386,21 @@ module API
class GroupAccess < MemberAccess
end
+ class NotificationSetting < Grape::Entity
+ expose :level
+ expose :events, if: ->(notification_setting, _) { notification_setting.custom? } do
+ ::NotificationSetting::EMAIL_EVENTS.each do |event|
+ expose event
+ end
+ end
+ end
+
+ class GlobalNotificationSetting < NotificationSetting
+ expose :notification_email do |notification_setting, options|
+ notification_setting.user.notification_email
+ end
+ end
+
class ProjectService < Grape::Entity
expose :id, :title, :created_at, :updated_at, :active
expose :push_events, :issues_events, :merge_requests_events