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"}
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