Exemplo n.º 1
0
async def permission_list(request: Request,
                          page_info: PageInfo = Depends(PageInfo_),
                          user: UserDB = Depends(get_user),
                          session: Session = Depends(get_session)):
    pagination = Pagination(session.query(PermissionDB), page_info=page_info)
    data = [PermissionSerializer.from_orm(m).dict() for m in pagination.items]
    paginate_info = make_paginate_info(pagination, request)
    return success_response(data, paginate_info)
Exemplo n.º 2
0
async def get_all_form(request: Request,
                       page_info: PageInfo = Depends(PageInfo_),
                       manager: UserDB = Depends(get_user),
                       session: Session = Depends(get_session)):
    query = session.query(FormDB)
    paginate = Pagination(query, page_info=page_info)
    paginate_info = make_paginate_info(paginate, request)
    data = [to_FormDetailSerializer(form) for form in paginate.items]
    return success_response(data, paginate_info)
Exemplo n.º 3
0
async def role_user_list(request: Request,
                         role_id: int,
                         page_info: PageInfo = Depends(PageInfo_),
                         manager: UserDB = Depends(get_user),
                         session: Session = Depends(get_session)):
    role, err = _check_group_exist_and_permission(session, manager, role_id)
    if err is not None:
        return error_response(err)

    pagination = get_users_by_role_id(session, role_id, page_info)
    data = [BaseUserSerializer.from_orm(u).dict() for u in pagination.items]
    paginate_info = make_paginate_info(pagination, request)
    return success_response(data, paginate_info)
Exemplo n.º 4
0
async def search_user_(request: Request,
                       page_info: PageInfo = Depends(PageInfo_),
                       search_condition: CommonlyUsedUserSearch = Depends(
                           CommonlyUsedUserSearch_),
                       manager: UserDB = Depends(get_user),
                       session: Session = Depends(get_session)):
    query = session.query(UserDB).join(User2RoleDB,
                                       User2RoleDB.user_id == UserDB.id)
    query, error = common_user_search_with_permission_check(
        manager, query, session, search_condition)
    if error:
        return error_response(error)

    paginate = Pagination(query, page_info=page_info)
    paginate_info = make_paginate_info(paginate, request)
    data = [
        BaseUserSerializer.from_orm(op_user).dict()
        for op_user in paginate.items
    ]
    return success_response(data, paginate_info)
Exemplo n.º 5
0
async def role_list(request: Request,
                    page_info: PageInfo = Depends(PageInfo_),
                    manager: UserDB = Depends(get_user),
                    session: Session = Depends(get_session)):
    """
    role接口仅对外提供:
    1. user查看自己能看到的role
    
    2. user查看以上role内的user
    
    3. user将自己能管理的user,加到自己能看到的role
    
    4. user将自己能管理的user,从自己能看到的role中删除
    \f
    """
    if len(manager.role_set) == 0 and not manager.is_superuser:
        return empty_paginate_response()

    pagination = get_role_under_user(session, manager, page_info=page_info)
    data = [RoleSerializer.from_orm(m).dict() for m in pagination.items]
    paginate_info = make_paginate_info(pagination, request)
    return success_response(data, paginate_info)