def get_repo_if_admin(db, full_name):
"""Retrieve repository from db and return if
current user is admin (owner or member)
:param db: database connection where are repos stored
:type db: ``flask_sqlalchemy.SQLAlchemy``
:param full_name: full name of desired repository
:type full_name: str
:return: repository if found, None otherwise
:rtype: ``repocribro.models.Repository`` or None
"""
user = flask_login.current_user.github_user
repo = db.session.query(Repository).filter_by(
full_name=full_name
).first()
if repo is None:
return None
if repo.owner == user or user in repo.members:
return repo
return None
评论列表
文章目录