summaryrefslogtreecommitdiff
path: root/gitlab/v4/objects/groups.py
diff options
context:
space:
mode:
authorJohn L. Villalovos <john@sodarock.com>2021-06-12 15:05:36 -0700
committerJohn L. Villalovos <john@sodarock.com>2021-09-07 08:19:39 -0700
commitc9b5d3bac8f7c1f779dd57653f718dd0fac4db4b (patch)
tree925700991c94a5a71797d6992b97c5b90ed74089 /gitlab/v4/objects/groups.py
parentb8a47bae3342400a411fb9bf4bef3c15ba91c98e (diff)
downloadgitlab-c9b5d3bac8f7c1f779dd57653f718dd0fac4db4b.tar.gz
chore: improve type-hinting for managers
The 'managers' are dynamically created. This unfortunately means that we don't have any type-hints for them and so editors which understand type-hints won't know that they are valid attributes. * Add the type-hints for the managers we define. * Add a unit test that makes sure that the type-hints and the '_managers' attribute are kept in sync with each other. * Add unit test that makes sure specified managers in '_managers' have a name ending in 'Managers' to keep with current convention. * Make RESTObject._managers always present with a default value of None. * Fix a type-issue revealed now that mypy knows what the type is
Diffstat (limited to 'gitlab/v4/objects/groups.py')
-rw-r--r--gitlab/v4/objects/groups.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/gitlab/v4/objects/groups.py b/gitlab/v4/objects/groups.py
index ee82415..67fe91c 100644
--- a/gitlab/v4/objects/groups.py
+++ b/gitlab/v4/objects/groups.py
@@ -43,6 +43,34 @@ __all__ = [
class Group(SaveMixin, ObjectDeleteMixin, RESTObject):
_short_print_attr = "name"
+
+ accessrequests: GroupAccessRequestManager
+ audit_events: GroupAuditEventManager
+ badges: GroupBadgeManager
+ billable_members: GroupBillableMemberManager
+ boards: GroupBoardManager
+ clusters: GroupClusterManager
+ customattributes: GroupCustomAttributeManager
+ deploytokens: GroupDeployTokenManager
+ descendant_groups: "GroupDescendantGroupManager"
+ epics: GroupEpicManager
+ exports: GroupExportManager
+ hooks: GroupHookManager
+ imports: GroupImportManager
+ issues: GroupIssueManager
+ issues_statistics: GroupIssuesStatisticsManager
+ labels: GroupLabelManager
+ members: GroupMemberManager
+ members_all: GroupMemberAllManager
+ mergerequests: GroupMergeRequestManager
+ milestones: GroupMilestoneManager
+ notificationsettings: GroupNotificationSettingsManager
+ packages: GroupPackageManager
+ projects: GroupProjectManager
+ runners: GroupRunnerManager
+ subgroups: "GroupSubgroupManager"
+ variables: GroupVariableManager
+ wikis: GroupWikiManager
_managers = (
("accessrequests", "GroupAccessRequestManager"),
("audit_events", "GroupAuditEventManager"),