From a5a48ad08577be70c6ca511d3b4803624e5c2043 Mon Sep 17 00:00:00 2001 From: Nejc Habjan Date: Sun, 7 Feb 2021 00:29:59 +0100 Subject: refactor(v4): split objects and managers per API resource --- gitlab/v4/objects/hooks.py | 55 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 gitlab/v4/objects/hooks.py (limited to 'gitlab/v4/objects/hooks.py') diff --git a/gitlab/v4/objects/hooks.py b/gitlab/v4/objects/hooks.py new file mode 100644 index 0000000..3bd9132 --- /dev/null +++ b/gitlab/v4/objects/hooks.py @@ -0,0 +1,55 @@ +from gitlab.base import * # noqa +from gitlab.mixins import * # noqa + + +class Hook(ObjectDeleteMixin, RESTObject): + _url = "/hooks" + _short_print_attr = "url" + + +class HookManager(NoUpdateMixin, RESTManager): + _path = "/hooks" + _obj_cls = Hook + _create_attrs = (("url",), tuple()) + + +class ProjectHook(SaveMixin, ObjectDeleteMixin, RESTObject): + _short_print_attr = "url" + + +class ProjectHookManager(CRUDMixin, RESTManager): + _path = "/projects/%(project_id)s/hooks" + _obj_cls = ProjectHook + _from_parent_attrs = {"project_id": "id"} + _create_attrs = ( + ("url",), + ( + "push_events", + "issues_events", + "confidential_issues_events", + "merge_requests_events", + "tag_push_events", + "note_events", + "job_events", + "pipeline_events", + "wiki_page_events", + "enable_ssl_verification", + "token", + ), + ) + _update_attrs = ( + ("url",), + ( + "push_events", + "issues_events", + "confidential_issues_events", + "merge_requests_events", + "tag_push_events", + "note_events", + "job_events", + "pipeline_events", + "wiki_events", + "enable_ssl_verification", + "token", + ), + ) -- cgit v1.2.1