auth_github.py 文件源码

python
阅读 17 收藏 0 点赞 0 评论 0

项目:zeus 作者: getsentry 项目源码 文件源码
def grant_access_to_existing_repos(user):
    provider = GitHubRepositoryProvider(cache=True)
    owner_list = [o['name'] for o in provider.get_owners(user)]
    if owner_list:
        matching_repos = Repository.query.unrestricted_unsafe().filter(
            Repository.provider == RepositoryProvider.github,
            Repository.owner_name.in_(owner_list),
            ~Repository.id.in_(db.session.query(
                RepositoryAccess.repository_id,
            ).filter(
                RepositoryAccess.user_id == user.id,
            ))
        )
        for repo in matching_repos:
            if provider.has_access(auth.get_current_user(), repo):
                try:
                    with db.session.begin_nested():
                        db.session.add(RepositoryAccess(
                            repository_id=repo.id,
                            user_id=user.id,
                        ))
                        db.session.flush()
                except IntegrityError:
                    pass
            db.session.commit()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号