示例#1
0
文件: team.py 项目: sabre1041/quay-1
def get_matching_admined_teams(team_prefix, user_obj, limit=10):
    team_prefix_search = prefix_search(Team.name, team_prefix)
    admined_orgs = (_basequery.get_user_organizations(
        user_obj.username).switch(Team).join(TeamRole).where(
            TeamRole.name == "admin"))

    query = (Team.select(Team.id.distinct(),
                         Team).join(User).switch(Team).join(TeamMember).where(
                             team_prefix_search, Team.organization <<
                             (admined_orgs)).limit(limit))

    return query
示例#2
0
def get_matching_robots(name_prefix, username, limit=10):
    admined_orgs = (_basequery.get_user_organizations(username).switch(
        Team).join(TeamRole).where(TeamRole.name == "admin"))

    prefix_checks = False

    for org in admined_orgs:
        org_search = prefix_search(User.username,
                                   org.username + "+" + name_prefix)
        prefix_checks = prefix_checks | org_search

    user_search = prefix_search(User.username, username + "+" + name_prefix)
    prefix_checks = prefix_checks | user_search

    return User.select().where(prefix_checks).limit(limit)
示例#3
0
def get_user_organizations(username):
    return _basequery.get_user_organizations(username)