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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
__all__ = [
"NotificationSettings",
"NotificationSettingsManager",
"GroupNotificationSettings",
"GroupNotificationSettingsManager",
"ProjectNotificationSettings",
"ProjectNotificationSettingsManager",
]
class NotificationSettings(SaveMixin, RESTObject):
_id_attr = None
class NotificationSettingsManager(GetWithoutIdMixin, UpdateMixin, RESTManager):
_path = "/notification_settings"
_obj_cls = NotificationSettings
_update_attrs = (
tuple(),
(
"level",
"notification_email",
"new_note",
"new_issue",
"reopen_issue",
"close_issue",
"reassign_issue",
"new_merge_request",
"reopen_merge_request",
"close_merge_request",
"reassign_merge_request",
"merge_merge_request",
),
)
class GroupNotificationSettings(NotificationSettings):
pass
class GroupNotificationSettingsManager(NotificationSettingsManager):
_path = "/groups/%(group_id)s/notification_settings"
_obj_cls = GroupNotificationSettings
_from_parent_attrs = {"group_id": "id"}
class ProjectNotificationSettings(NotificationSettings):
pass
class ProjectNotificationSettingsManager(NotificationSettingsManager):
_path = "/projects/%(project_id)s/notification_settings"
_obj_cls = ProjectNotificationSettings
_from_parent_attrs = {"project_id": "id"}
|