This commit is contained in:
2024-12-09 18:22:38 +09:00
parent ab0cbebefc
commit c4c4547706
959 changed files with 174888 additions and 6 deletions

View File

@ -0,0 +1,262 @@
from typing import Any, cast, Union
from gitlab.base import RESTManager, RESTObject
from gitlab.mixins import (
CreateMixin,
CRUDMixin,
DeleteMixin,
GetMixin,
ObjectDeleteMixin,
RetrieveMixin,
SaveMixin,
UpdateMixin,
)
from gitlab.types import RequiredOptional
from .award_emojis import ( # noqa: F401
GroupEpicNoteAwardEmojiManager,
ProjectIssueNoteAwardEmojiManager,
ProjectMergeRequestNoteAwardEmojiManager,
ProjectSnippetNoteAwardEmojiManager,
)
__all__ = [
"GroupEpicNote",
"GroupEpicNoteManager",
"GroupEpicDiscussionNote",
"GroupEpicDiscussionNoteManager",
"ProjectNote",
"ProjectNoteManager",
"ProjectCommitDiscussionNote",
"ProjectCommitDiscussionNoteManager",
"ProjectIssueNote",
"ProjectIssueNoteManager",
"ProjectIssueDiscussionNote",
"ProjectIssueDiscussionNoteManager",
"ProjectMergeRequestNote",
"ProjectMergeRequestNoteManager",
"ProjectMergeRequestDiscussionNote",
"ProjectMergeRequestDiscussionNoteManager",
"ProjectSnippetNote",
"ProjectSnippetNoteManager",
"ProjectSnippetDiscussionNote",
"ProjectSnippetDiscussionNoteManager",
]
class GroupEpicNote(SaveMixin, ObjectDeleteMixin, RESTObject):
awardemojis: GroupEpicNoteAwardEmojiManager
class GroupEpicNoteManager(CRUDMixin, RESTManager):
_path = "/groups/{group_id}/epics/{epic_id}/notes"
_obj_cls = GroupEpicNote
_from_parent_attrs = {"group_id": "group_id", "epic_id": "id"}
_create_attrs = RequiredOptional(required=("body",), optional=("created_at",))
_update_attrs = RequiredOptional(required=("body",))
def get(
self, id: Union[str, int], lazy: bool = False, **kwargs: Any
) -> GroupEpicNote:
return cast(GroupEpicNote, super().get(id=id, lazy=lazy, **kwargs))
class GroupEpicDiscussionNote(SaveMixin, ObjectDeleteMixin, RESTObject):
pass
class GroupEpicDiscussionNoteManager(
GetMixin, CreateMixin, UpdateMixin, DeleteMixin, RESTManager
):
_path = "/groups/{group_id}/epics/{epic_id}/discussions/{discussion_id}/notes"
_obj_cls = GroupEpicDiscussionNote
_from_parent_attrs = {
"group_id": "group_id",
"epic_id": "epic_id",
"discussion_id": "id",
}
_create_attrs = RequiredOptional(required=("body",), optional=("created_at",))
_update_attrs = RequiredOptional(required=("body",))
def get(
self, id: Union[str, int], lazy: bool = False, **kwargs: Any
) -> GroupEpicDiscussionNote:
return cast(GroupEpicDiscussionNote, super().get(id=id, lazy=lazy, **kwargs))
class ProjectNote(RESTObject):
pass
class ProjectNoteManager(RetrieveMixin, RESTManager):
_path = "/projects/{project_id}/notes"
_obj_cls = ProjectNote
_from_parent_attrs = {"project_id": "id"}
_create_attrs = RequiredOptional(required=("body",))
def get(
self, id: Union[str, int], lazy: bool = False, **kwargs: Any
) -> ProjectNote:
return cast(ProjectNote, super().get(id=id, lazy=lazy, **kwargs))
class ProjectCommitDiscussionNote(SaveMixin, ObjectDeleteMixin, RESTObject):
pass
class ProjectCommitDiscussionNoteManager(
GetMixin, CreateMixin, UpdateMixin, DeleteMixin, RESTManager
):
_path = (
"/projects/{project_id}/repository/commits/{commit_id}/"
"discussions/{discussion_id}/notes"
)
_obj_cls = ProjectCommitDiscussionNote
_from_parent_attrs = {
"project_id": "project_id",
"commit_id": "commit_id",
"discussion_id": "id",
}
_create_attrs = RequiredOptional(
required=("body",), optional=("created_at", "position")
)
_update_attrs = RequiredOptional(required=("body",))
def get(
self, id: Union[str, int], lazy: bool = False, **kwargs: Any
) -> ProjectCommitDiscussionNote:
return cast(
ProjectCommitDiscussionNote, super().get(id=id, lazy=lazy, **kwargs)
)
class ProjectIssueNote(SaveMixin, ObjectDeleteMixin, RESTObject):
awardemojis: ProjectIssueNoteAwardEmojiManager
class ProjectIssueNoteManager(CRUDMixin, RESTManager):
_path = "/projects/{project_id}/issues/{issue_iid}/notes"
_obj_cls = ProjectIssueNote
_from_parent_attrs = {"project_id": "project_id", "issue_iid": "iid"}
_create_attrs = RequiredOptional(required=("body",), optional=("created_at",))
_update_attrs = RequiredOptional(required=("body",))
def get(
self, id: Union[str, int], lazy: bool = False, **kwargs: Any
) -> ProjectIssueNote:
return cast(ProjectIssueNote, super().get(id=id, lazy=lazy, **kwargs))
class ProjectIssueDiscussionNote(SaveMixin, ObjectDeleteMixin, RESTObject):
pass
class ProjectIssueDiscussionNoteManager(
GetMixin, CreateMixin, UpdateMixin, DeleteMixin, RESTManager
):
_path = (
"/projects/{project_id}/issues/{issue_iid}/discussions/{discussion_id}/notes"
)
_obj_cls = ProjectIssueDiscussionNote
_from_parent_attrs = {
"project_id": "project_id",
"issue_iid": "issue_iid",
"discussion_id": "id",
}
_create_attrs = RequiredOptional(required=("body",), optional=("created_at",))
_update_attrs = RequiredOptional(required=("body",))
def get(
self, id: Union[str, int], lazy: bool = False, **kwargs: Any
) -> ProjectIssueDiscussionNote:
return cast(ProjectIssueDiscussionNote, super().get(id=id, lazy=lazy, **kwargs))
class ProjectMergeRequestNote(SaveMixin, ObjectDeleteMixin, RESTObject):
awardemojis: ProjectMergeRequestNoteAwardEmojiManager
class ProjectMergeRequestNoteManager(CRUDMixin, RESTManager):
_path = "/projects/{project_id}/merge_requests/{mr_iid}/notes"
_obj_cls = ProjectMergeRequestNote
_from_parent_attrs = {"project_id": "project_id", "mr_iid": "iid"}
_create_attrs = RequiredOptional(required=("body",))
_update_attrs = RequiredOptional(required=("body",))
def get(
self, id: Union[str, int], lazy: bool = False, **kwargs: Any
) -> ProjectMergeRequestNote:
return cast(ProjectMergeRequestNote, super().get(id=id, lazy=lazy, **kwargs))
class ProjectMergeRequestDiscussionNote(SaveMixin, ObjectDeleteMixin, RESTObject):
pass
class ProjectMergeRequestDiscussionNoteManager(
GetMixin, CreateMixin, UpdateMixin, DeleteMixin, RESTManager
):
_path = (
"/projects/{project_id}/merge_requests/{mr_iid}/"
"discussions/{discussion_id}/notes"
)
_obj_cls = ProjectMergeRequestDiscussionNote
_from_parent_attrs = {
"project_id": "project_id",
"mr_iid": "mr_iid",
"discussion_id": "id",
}
_create_attrs = RequiredOptional(required=("body",), optional=("created_at",))
_update_attrs = RequiredOptional(required=("body",))
def get(
self, id: Union[str, int], lazy: bool = False, **kwargs: Any
) -> ProjectMergeRequestDiscussionNote:
return cast(
ProjectMergeRequestDiscussionNote, super().get(id=id, lazy=lazy, **kwargs)
)
class ProjectSnippetNote(SaveMixin, ObjectDeleteMixin, RESTObject):
awardemojis: ProjectSnippetNoteAwardEmojiManager
class ProjectSnippetNoteManager(CRUDMixin, RESTManager):
_path = "/projects/{project_id}/snippets/{snippet_id}/notes"
_obj_cls = ProjectSnippetNote
_from_parent_attrs = {"project_id": "project_id", "snippet_id": "id"}
_create_attrs = RequiredOptional(required=("body",))
_update_attrs = RequiredOptional(required=("body",))
def get(
self, id: Union[str, int], lazy: bool = False, **kwargs: Any
) -> ProjectSnippetNote:
return cast(ProjectSnippetNote, super().get(id=id, lazy=lazy, **kwargs))
class ProjectSnippetDiscussionNote(SaveMixin, ObjectDeleteMixin, RESTObject):
pass
class ProjectSnippetDiscussionNoteManager(
GetMixin, CreateMixin, UpdateMixin, DeleteMixin, RESTManager
):
_path = (
"/projects/{project_id}/snippets/{snippet_id}/"
"discussions/{discussion_id}/notes"
)
_obj_cls = ProjectSnippetDiscussionNote
_from_parent_attrs = {
"project_id": "project_id",
"snippet_id": "snippet_id",
"discussion_id": "id",
}
_create_attrs = RequiredOptional(required=("body",), optional=("created_at",))
_update_attrs = RequiredOptional(required=("body",))
def get(
self, id: Union[str, int], lazy: bool = False, **kwargs: Any
) -> ProjectSnippetDiscussionNote:
return cast(
ProjectSnippetDiscussionNote, super().get(id=id, lazy=lazy, **kwargs)
)