@@ -666,14 +666,29 @@ class GroupMemberManager(BaseManager):
666
666
obj_cls = GroupMember
667
667
668
668
669
+ class GroupProject (GitlabObject ):
670
+ _url = '/groups/%(group_id)s/projects'
671
+ canGet = 'from_list'
672
+ canCreate = False
673
+ canDelete = False
674
+ canUpdate = False
675
+ optionalListAttrs = ['archived' , 'visibility' , 'order_by' , 'sort' ,
676
+ 'search' , 'ci_enabled_first' ]
677
+
678
+
679
+ class GroupProjectManager (BaseManager ):
680
+ obj_cls = GroupProject
681
+
682
+
669
683
class Group (GitlabObject ):
670
684
_url = '/groups'
671
685
canUpdate = False
672
686
_constructorTypes = {'projects' : 'Project' }
673
687
requiredCreateAttrs = ['name' , 'path' ]
674
688
optionalCreateAttrs = ['description' , 'visibility_level' ]
675
689
shortPrintAttr = 'name'
676
- managers = [('members' , GroupMemberManager , [('group_id' , 'id' )])]
690
+ managers = [('members' , GroupMemberManager , [('group_id' , 'id' )]),
691
+ ('projects' , GroupProjectManager , [('group_id' , 'id' )])]
677
692
678
693
GUEST_ACCESS = 10
679
694
REPORTER_ACCESS = 20
@@ -725,24 +740,6 @@ def search(self, query, **kwargs):
725
740
return self .gitlab ._raw_list (url , self .obj_cls , ** kwargs )
726
741
727
742
728
- class GroupProject (GitlabObject ):
729
- def list_projects (self , gid , ** kwargs ):
730
- """List projects in a group
731
-
732
- Attrs:
733
- gid (int): ID of the group
734
-
735
- Returns:
736
- list(Group): a list of projects in the group
737
- """
738
- url = '/groups/%d/projects' % gid
739
- return self .gitlab ._raw_list (url , self .obj_cls , ** kwargs )
740
-
741
-
742
- class GroupProjectManager (BaseManager ):
743
- obj_cls = GroupProject
744
-
745
-
746
743
class Hook (GitlabObject ):
747
744
_url = '/hooks'
748
745
canUpdate = False
0 commit comments