@@ -581,6 +581,26 @@ class UserKeyManager(BaseManager):
581581 obj_cls = UserKey
582582
583583
584+ class UserProject (GitlabObject ):
585+ _url = '/projects/user/%(user_id)s'
586+ _constructorTypes = {'owner' : 'User' , 'namespace' : 'Group' }
587+ canUpdate = False
588+ canDelete = False
589+ canList = False
590+ canGet = False
591+ requiredUrlAttrs = ['user_id' ]
592+ requiredCreateAttrs = ['name' ]
593+ optionalCreateAttrs = ['default_branch' , 'issues_enabled' , 'wall_enabled' ,
594+ 'merge_requests_enabled' , 'wiki_enabled' ,
595+ 'snippets_enabled' , 'public' , 'visibility_level' ,
596+ 'description' , 'builds_enabled' , 'public_builds' ,
597+ 'import_url' , 'only_allow_merge_if_build_succeeds' ]
598+
599+
600+ class UserProjectManager (BaseManager ):
601+ obj_cls = UserProject
602+
603+
584604class User (GitlabObject ):
585605 _url = '/users'
586606 shortPrintAttr = 'username'
@@ -597,6 +617,7 @@ class User(GitlabObject):
597617 managers = (
598618 ('emails' , UserEmailManager , [('user_id' , 'id' )]),
599619 ('keys' , UserKeyManager , [('user_id' , 'id' )]),
620+ ('projects' , UserProjectManager , [('user_id' , 'id' )]),
600621 )
601622
602623 def _data_for_gitlab (self , extra_parameters = {}, update = False ,
@@ -2061,10 +2082,6 @@ class Project(GitlabObject):
20612082 ('branches' , ProjectBranchManager , [('project_id' , 'id' )]),
20622083 ('builds' , ProjectBuildManager , [('project_id' , 'id' )]),
20632084 ('commits' , ProjectCommitManager , [('project_id' , 'id' )]),
2064- ('commit_comments' , ProjectCommitCommentManager ,
2065- [('project_id' , 'id' )]),
2066- ('commit_statuses' , ProjectCommitStatusManager ,
2067- [('project_id' , 'id' )]),
20682085 ('deployments' , ProjectDeploymentManager , [('project_id' , 'id' )]),
20692086 ('environments' , ProjectEnvironmentManager , [('project_id' , 'id' )]),
20702087 ('events' , ProjectEventManager , [('project_id' , 'id' )]),
@@ -2409,22 +2426,6 @@ def delete_all(self, **kwargs):
24092426 return int (r .text )
24102427
24112428
2412- class UserProject (GitlabObject ):
2413- _url = '/projects/user/%(user_id)s'
2414- _constructorTypes = {'owner' : 'User' , 'namespace' : 'Group' }
2415- canUpdate = False
2416- canDelete = False
2417- canList = False
2418- canGet = False
2419- requiredUrlAttrs = ['user_id' ]
2420- requiredCreateAttrs = ['name' ]
2421- optionalCreateAttrs = ['default_branch' , 'issues_enabled' , 'wall_enabled' ,
2422- 'merge_requests_enabled' , 'wiki_enabled' ,
2423- 'snippets_enabled' , 'public' , 'visibility_level' ,
2424- 'description' , 'builds_enabled' , 'public_builds' ,
2425- 'import_url' , 'only_allow_merge_if_build_succeeds' ]
2426-
2427-
24282429class ProjectManager (BaseManager ):
24292430 obj_cls = Project
24302431
@@ -2489,10 +2490,6 @@ def starred(self, **kwargs):
24892490 return self .gitlab ._raw_list ("/projects/starred" , Project , ** kwargs )
24902491
24912492
2492- class UserProjectManager (BaseManager ):
2493- obj_cls = UserProject
2494-
2495-
24962493class TeamMemberManager (BaseManager ):
24972494 obj_cls = TeamMember
24982495
0 commit comments