Ejemplo n.º 1
0
def list_perms():
    perms = Permission.find_all()

    # add system-defined roles 'admin' and 'user'
    admin_perm = Permission(
        match='admin',
        scopes=[Scope.admin]
    )
    perms.append(admin_perm)

    user_perm = Permission(
        match='user',
        scopes=current_app.config['USER_DEFAULT_SCOPES']
    )
    perms.append(user_perm)

    if perms:
        return jsonify(
            status='ok',
            permissions=[perm.serialize for perm in perms],
            total=len(perms)
        )
    else:
        return jsonify(
            status='ok',
            message='not found',
            permissions=[],
            total=0
        )
Ejemplo n.º 2
0
def list_perms():
    query = qb.from_params(request.args)
    perms = Permission.find_all(query)

    admin_perm = Permission(match=DEFAULT_ADMIN_ROLE, scopes=[Scope.admin])
    user_perm = Permission(match='user',
                           scopes=current_app.config['USER_DEFAULT_SCOPES'])
    guest_perm = Permission(match='guest',
                            scopes=current_app.config['GUEST_DEFAULT_SCOPES'])

    # add system-defined roles 'admin', 'user' and 'guest
    if 'scopes' in request.args:
        want_scopes = request.args.getlist('scopes')
        if set(admin_perm.scopes) & set(want_scopes):
            perms.append(admin_perm)
        if set(user_perm.scopes) & set(want_scopes):
            perms.append(user_perm)
        if set(guest_perm.scopes) & set(want_scopes):
            perms.append(guest_perm)
    else:
        perms.append(admin_perm)
        perms.append(user_perm)
        perms.append(guest_perm)

    if perms:
        return jsonify(status='ok',
                       permissions=[perm.serialize for perm in perms],
                       total=len(perms))
    else:
        return jsonify(status='ok',
                       message='not found',
                       permissions=[],
                       total=0)
Ejemplo n.º 3
0
def list_perms():

    query = qb.perms.from_params(request.args)
    total = Permission.count(query)
    perms: list[Permission] = []

    admin_perm = Permission(match=current_app.config['DEFAULT_ADMIN_ROLE'],
                            scopes=ADMIN_SCOPES)
    user_perm = Permission(match=current_app.config['DEFAULT_USER_ROLE'],
                           scopes=current_app.config['USER_DEFAULT_SCOPES'])
    guest_perm = Permission(match=current_app.config['DEFAULT_GUEST_ROLE'],
                            scopes=current_app.config['GUEST_DEFAULT_SCOPES'])

    # add system-defined roles 'admin', 'user' and 'guest
    if 'scopes' in request.args:
        want_scopes = request.args.getlist('scopes')
        if set(admin_perm.scopes) & set(want_scopes):
            perms.append(admin_perm)
            total += 1
        if set(user_perm.scopes) & set(want_scopes):
            perms.append(user_perm)
            total += 1
        if set(guest_perm.scopes) & set(want_scopes):
            perms.append(guest_perm)
            total += 1
    else:
        perms.append(admin_perm)
        perms.append(user_perm)
        perms.append(guest_perm)
        total += 3

    paging = Page.from_params(request.args, total)
    perms.extend(
        Permission.find_all(query,
                            page=paging.page,
                            page_size=paging.page_size))

    if perms:
        return jsonify(status='ok',
                       page=paging.page,
                       pageSize=paging.page_size,
                       pages=paging.pages,
                       more=paging.has_more,
                       permissions=[perm.serialize for perm in perms],
                       total=total)
    else:
        return jsonify(status='ok',
                       page=paging.page,
                       pageSize=paging.page_size,
                       pages=paging.pages,
                       more=paging.has_more,
                       message='not found',
                       permissions=[],
                       total=0)
Ejemplo n.º 4
0
def list_perms():
    perms = Permission.find_all()

    if perms:
        return jsonify(status='ok',
                       permissions=[perm.serialize for perm in perms],
                       total=len(perms))
    else:
        return jsonify(status='ok',
                       message='not found',
                       permissions=[],
                       total=0)
Ejemplo n.º 5
0
def list_perms():
    perms = Permission.find_all()

    if perms:
        return jsonify(
            status="ok",
            permissions=[perm.serialize for perm in perms],
            total=len(perms)
        )
    else:
        return jsonify(
            status="ok",
            message="not found",
            permissions=[],
            total=0
        )
Ejemplo n.º 6
0
def list_perms():
    query = qb.from_params(request.args)
    perms = Permission.find_all(query)

    admin_perm = Permission(
        match='admin',
        scopes=[Scope.admin]
    )
    user_perm = Permission(
        match='user',
        scopes=current_app.config['USER_DEFAULT_SCOPES']
    )

    # add system-defined roles 'admin' and 'user'
    if 'scopes' in request.args:
        want_scopes = request.args.getlist('scopes')
        if set(admin_perm.scopes) & set(want_scopes):
            perms.append(admin_perm)
        if set(user_perm.scopes) & set(want_scopes):
            perms.append(user_perm)
    else:
        perms.append(admin_perm)
        perms.append(user_perm)

    if perms:
        return jsonify(
            status='ok',
            permissions=[perm.serialize for perm in perms],
            total=len(perms)
        )
    else:
        return jsonify(
            status='ok',
            message='not found',
            permissions=[],
            total=0
        )