예제 #1
0
async def create_new_user(user_input: UserInput):
    new_user = User(username=user_input.username,
                    hashed_password=get_password_hash(
                        user_input.plain_password))
    new_user_dict = new_user.dict()
    user = await write_new_user_in_db(new_user_dict)
    access_token_expires = timedelta(minutes=ACCESS_TOKEN_EXPIRE_MINUTES)
    access_token = create_access_token(data={"sub": user["username"]},
                                       expires_delta=access_token_expires)
    return {"access_token": access_token, "token_type": "bearer"}
예제 #2
0
async def list_users(current_user: User = Depends(validate_request),
                     db: AsyncIOMotorClient = Depends(get_database)):
    """List All users if Superuser or else
    Show current user information
    """
    if current_user.is_superuser or "admin" in current_user.endpoint_access:
        user_list = await get_all(db)
        return user_list

    current_user = current_user.dict()
    rem_info = ['is_superuser', 'is_active', 'endpoint_access', 'disabled']
    for k in rem_info:
        del current_user[k]

    return current_user