Flesh out some permissions APIs.
This commit is contained in:
parent
f2ee7772f4
commit
6bcb5cfcaa
3 changed files with 68 additions and 23 deletions
|
@ -66,10 +66,21 @@ def update_email(user, new_email):
|
|||
user.save()
|
||||
|
||||
|
||||
def get_all_repo_permissions(user):
|
||||
select = User.select(User, Repository, RepositoryPermission)
|
||||
joined = select.join(RepositoryPermission).join(Repository)
|
||||
return joined.where(User.username == user.username)
|
||||
def get_all_user_permissions(user):
|
||||
select = User.select(User, Repository, RepositoryPermission, Role)
|
||||
with_repo = select.join(RepositoryPermission).join(Repository)
|
||||
with_role = with_repo.switch(RepositoryPermission).join(Role)
|
||||
return with_role.where(User.username == user.username)
|
||||
|
||||
|
||||
def get_all_repo_users(namespace_name, repository_name):
|
||||
select = RepositoryPermission.select(User.username, Role.name,
|
||||
RepositoryPermission)
|
||||
with_user = select.join(User)
|
||||
with_role = with_user.switch(RepositoryPermission).join(Role)
|
||||
with_repo = with_role.switch(RepositoryPermission).join(Repository)
|
||||
return with_repo.where(Repository.namespace == namespace_name,
|
||||
Repository.name == repository_name)
|
||||
|
||||
|
||||
def get_repository(namespace, name):
|
||||
|
|
Reference in a new issue