async def signup(db=Depends(get_db), form_data: OAuth2PasswordRequestForm = Depends(), first_name: str = Form(...), last_name: str = Form(...)): user = sign_up_new_user(db, form_data.username, first_name, last_name, form_data.password) if not user: raise HTTPException( status_code=status.HTTP_409_CONFLICT, detail="Account already exists", headers={"WWW-Authenticate": "Bearer"}, ) access_token_expires = timedelta( minutes=security.ACCESS_TOKEN_EXPIRE_MINUTES) if user.is_superuser: permissions = "admin" else: permissions = "user" access_token = security.create_access_token( data={ "sub": user.email, "permissions": permissions }, expires_delta=access_token_expires, ) return {"access_token": access_token, "token_type": "bearer"}
async def signup( db=Depends(get_db), username: str = Form(...), password: str = Form(...), first_name: str = Form(...), last_name: str = Form(...)): user = sign_up_new_user(db, username, password, first_name, last_name) if not user: raise HTTPException( status_code=status.HTTP_409_CONFLICT, detail="Account already exists", headers={"WWW-Authenticate": "Bearer"}, ) reg_user(user.id, '%s %s' % (user.first_name, user.last_name)) access_token_expires = timedelta( minutes=security.ACCESS_TOKEN_EXPIRE_MINUTES ) access_token = security.create_access_token( data={"sub": user.email}, expires_delta=access_token_expires, ) return {"access_token": access_token, "token_type": "bearer"}
async def signup(db=Depends(get_db), form_data: OAuth2PasswordRequestForm = Depends()): user = sign_up_new_user(db, email=form_data.username, password=form_data.password) if not user: raise HTTPException( status_code=status.HTTP_409_CONFLICT, detail=Messages.ACCOUNT_EXISTS, headers={"WWW-Authenticate": "Bearer"}, ) access_token_expires = timedelta(minutes=config.ACCESS_TOKEN_EXPIRE) if user.is_superuser: permissions = "admin" else: permissions = "user" access_token = security.create_access_token( data={ "sub": user.email, "permissions": permissions }, expires_delta=access_token_expires, ) return {"access_token": access_token, "token_type": "bearer"}