diff options
author | Marc Siegfriedt <marc@techaccelerator.com> | 2016-08-02 20:52:55 +0000 |
---|---|---|
committer | Marc Siegfriedt <marc@techaccelerator.com> | 2016-09-09 17:08:06 +0000 |
commit | 48333b9da36d2d22feca28c89cfefed34bede9e0 (patch) | |
tree | b868528dfac80c0e9b1168d4e194ae9a33dc0e56 /lib/api/entities.rb | |
parent | 06438c74713b388785ecba4bf2a5c24ab6bc780b (diff) | |
download | gitlab-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.rb | 17 |
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 |