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/custom_attributes.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 gitlab/v4/objects/custom_attributes.py (limited to 'gitlab/v4/objects/custom_attributes.py') diff --git a/gitlab/v4/objects/custom_attributes.py b/gitlab/v4/objects/custom_attributes.py new file mode 100644 index 0000000..3a86072 --- /dev/null +++ b/gitlab/v4/objects/custom_attributes.py @@ -0,0 +1,32 @@ +from gitlab.base import * # noqa +from gitlab.mixins import * # noqa + + +class GroupCustomAttribute(ObjectDeleteMixin, RESTObject): + _id_attr = "key" + + +class GroupCustomAttributeManager(RetrieveMixin, SetMixin, DeleteMixin, RESTManager): + _path = "/groups/%(group_id)s/custom_attributes" + _obj_cls = GroupCustomAttribute + _from_parent_attrs = {"group_id": "id"} + + +class ProjectCustomAttribute(ObjectDeleteMixin, RESTObject): + _id_attr = "key" + + +class ProjectCustomAttributeManager(RetrieveMixin, SetMixin, DeleteMixin, RESTManager): + _path = "/projects/%(project_id)s/custom_attributes" + _obj_cls = ProjectCustomAttribute + _from_parent_attrs = {"project_id": "id"} + + +class UserCustomAttribute(ObjectDeleteMixin, RESTObject): + _id_attr = "key" + + +class UserCustomAttributeManager(RetrieveMixin, SetMixin, DeleteMixin, RESTManager): + _path = "/users/%(user_id)s/custom_attributes" + _obj_cls = UserCustomAttribute + _from_parent_attrs = {"user_id": "id"} -- cgit v1.2.1