예제 #1
0
파일: main.py 프로젝트: ahendriksen/quetz
def delete_user(
        username: str,
        dao: Dao = Depends(get_dao),
        auth: authorization.Rules = Depends(get_rules),
):
    user = dao.get_user_by_username(username)

    auth.assert_delete_user(user.id)
    dao.delete_user(user.id)
예제 #2
0
파일: main.py 프로젝트: ahendriksen/quetz
def dummy_login(username: str,
                dao: Dao = Depends(get_dao),
                session=Depends(get_session)):
    user = dao.get_user_by_username(username)

    logout(session)
    session["user_id"] = str(uuid.UUID(bytes=user.id))

    session["identity_provider"] = "dummy"
    return RedirectResponse("/")
예제 #3
0
def get_user(username: str, dao: Dao = Depends(get_dao)):
    user = dao.get_user_by_username(username)

    if not user:
        raise HTTPException(status_code=status.HTTP_404_NOT_FOUND,
                            detail=f'User {username} not found')

    user.id = str(uuid.UUID(bytes=user.id))

    return user
예제 #4
0
def dummy_login(username: str,
                dao: Dao = Depends(get_dao),
                session=Depends(get_session)):
    user = dao.get_user_by_username(username)

    logout(session)
    session['user_id'] = str(uuid.UUID(bytes=user.id))

    session['identity_provider'] = 'dummy'
    return RedirectResponse('/')
예제 #5
0
파일: main.py 프로젝트: ahendriksen/quetz
def list_user_channels(username: str, dao: Dao, auth: authorization.Rules,
                       skip: int, limit: int):
    user = dao.get_user_by_username(username)

    if not user or not user.profile:
        raise HTTPException(status_code=status.HTTP_404_NOT_FOUND,
                            detail=f"User {username} not found")

    auth.assert_read_user_data(user.id)

    channels = dao.get_user_channels_with_role(skip, limit, user.id)

    return channels
예제 #6
0
파일: main.py 프로젝트: ahendriksen/quetz
def get_user(
        username: str,
        dao: Dao = Depends(get_dao),
        auth: authorization.Rules = Depends(get_rules),
):
    user = dao.get_user_by_username(username)

    if not user or not user.profile:
        raise HTTPException(status_code=status.HTTP_404_NOT_FOUND,
                            detail=f"User {username} not found")

    auth.assert_read_user_data(user.id)

    return user
예제 #7
0
파일: main.py 프로젝트: ahendriksen/quetz
def set_user_role(
        username: str,
        role: rest_models.UserRole,
        dao: Dao = Depends(get_dao),
        auth: authorization.Rules = Depends(get_rules),
):

    user = dao.get_user_by_username(username)

    if not user:
        raise HTTPException(status_code=status.HTTP_404_NOT_FOUND,
                            detail=f"User {username} not found")

    auth.assert_assign_user_role(role.role)

    dao.set_user_role(username, role=role.role)