from gitlab.base import RESTObject from gitlab.mixins import ListMixin, RetrieveMixin __all__ = [ "Event", "EventManager", "GroupEpicResourceLabelEvent", "GroupEpicResourceLabelEventManager", "ProjectEvent", "ProjectEventManager", "ProjectIssueResourceLabelEvent", "ProjectIssueResourceLabelEventManager", "ProjectIssueResourceMilestoneEvent", "ProjectIssueResourceMilestoneEventManager", "ProjectIssueResourceStateEvent", "ProjectIssueResourceIterationEventManager", "ProjectIssueResourceWeightEventManager", "ProjectIssueResourceIterationEvent", "ProjectIssueResourceWeightEvent", "ProjectIssueResourceStateEventManager", "ProjectMergeRequestResourceLabelEvent", "ProjectMergeRequestResourceLabelEventManager", "ProjectMergeRequestResourceMilestoneEvent", "ProjectMergeRequestResourceMilestoneEventManager", "ProjectMergeRequestResourceStateEvent", "ProjectMergeRequestResourceStateEventManager", "UserEvent", "UserEventManager", ] class Event(RESTObject): _id_attr = None _repr_attr = "target_title" class EventManager(ListMixin[Event]): _path = "/events" _obj_cls = Event _list_filters = ("action", "target_type", "before", "after", "sort", "scope") class GroupEpicResourceLabelEvent(RESTObject): pass class GroupEpicResourceLabelEventManager(RetrieveMixin[GroupEpicResourceLabelEvent]): _path = "/groups/{group_id}/epics/{epic_id}/resource_label_events" _obj_cls = GroupEpicResourceLabelEvent _from_parent_attrs = {"group_id": "group_id", "epic_id": "id"} class ProjectEvent(Event): pass class ProjectEventManager(EventManager): _path = "/projects/{project_id}/events" _obj_cls = ProjectEvent _from_parent_attrs = {"project_id": "id"} class ProjectIssueResourceLabelEvent(RESTObject): pass class ProjectIssueResourceLabelEventManager( RetrieveMixin[ProjectIssueResourceLabelEvent] ): _path = "/projects/{project_id}/issues/{issue_iid}/resource_label_events" _obj_cls = ProjectIssueResourceLabelEvent _from_parent_attrs = {"project_id": "project_id", "issue_iid": "iid"} class ProjectIssueResourceMilestoneEvent(RESTObject): pass class ProjectIssueResourceMilestoneEventManager( RetrieveMixin[ProjectIssueResourceMilestoneEvent] ): _path = "/projects/{project_id}/issues/{issue_iid}/resource_milestone_events" _obj_cls = ProjectIssueResourceMilestoneEvent _from_parent_attrs = {"project_id": "project_id", "issue_iid": "iid"} class ProjectIssueResourceStateEvent(RESTObject): pass class ProjectIssueResourceStateEventManager( RetrieveMixin[ProjectIssueResourceStateEvent] ): _path = "/projects/{project_id}/issues/{issue_iid}/resource_state_events" _obj_cls = ProjectIssueResourceStateEvent _from_parent_attrs = {"project_id": "project_id", "issue_iid": "iid"} class ProjectIssueResourceIterationEvent(RESTObject): pass class ProjectIssueResourceIterationEventManager( RetrieveMixin[ProjectIssueResourceIterationEvent] ): _path = "/projects/{project_id}/issues/{issue_iid}/resource_iteration_events" _obj_cls = ProjectIssueResourceIterationEvent _from_parent_attrs = {"project_id": "project_id", "issue_iid": "iid"} class ProjectIssueResourceWeightEvent(RESTObject): pass class ProjectIssueResourceWeightEventManager( RetrieveMixin[ProjectIssueResourceWeightEvent] ): _path = "/projects/{project_id}/issues/{issue_iid}/resource_weight_events" _obj_cls = ProjectIssueResourceWeightEvent _from_parent_attrs = {"project_id": "project_id", "issue_iid": "iid"} class ProjectMergeRequestResourceLabelEvent(RESTObject): pass class ProjectMergeRequestResourceLabelEventManager( RetrieveMixin[ProjectMergeRequestResourceLabelEvent] ): _path = "/projects/{project_id}/merge_requests/{mr_iid}/resource_label_events" _obj_cls = ProjectMergeRequestResourceLabelEvent _from_parent_attrs = {"project_id": "project_id", "mr_iid": "iid"} class ProjectMergeRequestResourceMilestoneEvent(RESTObject): pass class ProjectMergeRequestResourceMilestoneEventManager( RetrieveMixin[ProjectMergeRequestResourceMilestoneEvent] ): _path = "/projects/{project_id}/merge_requests/{mr_iid}/resource_milestone_events" _obj_cls = ProjectMergeRequestResourceMilestoneEvent _from_parent_attrs = {"project_id": "project_id", "mr_iid": "iid"} class ProjectMergeRequestResourceStateEvent(RESTObject): pass class ProjectMergeRequestResourceStateEventManager( RetrieveMixin[ProjectMergeRequestResourceStateEvent] ): _path = "/projects/{project_id}/merge_requests/{mr_iid}/resource_state_events" _obj_cls = ProjectMergeRequestResourceStateEvent _from_parent_attrs = {"project_id": "project_id", "mr_iid": "iid"} class UserEvent(Event): pass class UserEventManager(EventManager): _path = "/users/{user_id}/events" _obj_cls = UserEvent _from_parent_attrs = {"user_id": "id"}