def confirm_2fa(*args, **kwargs): try: result = service.confirm_2fa(data=kwargs.get("data")) return response.JSONResponse(message="Login success!", data=result) except AuthenticationError as e: raise AuthenticationError("Invalid email or verification code") except Exception as e: raise e
def logout(*args, **kwargs): try: service.logout(**kwargs) return response.JSONResponse(status_code=200, message="Logged out successfully!", data={}) except Exception as e: raise e
def delete_user(*args, **kwargs): try: user_id = kwargs.get("params").get("id") #don't bake the business logic here, put it in the service layer. return response.JSONResponse(data={}) except Exception as e: raise e
def get_all_users(*args, **kwargs): try: qs = kwargs.get("query_strings") #don't bake the business logic here, put it in the service layer. return response.JSONResponse(data=[]) except Exception as e: raise e
def signup(*args, **kwargs): try: data = kwargs.get("data") user = service.create_account(**data) data["_id"] = user._id return response.JSONResponse(status_code=201, message="Successfully created account!", data=data) except Exception as e: raise e
def create_user(*args, **kwargs): try: data = kwargs.get("data") #don't bake the business logic here, put it in the service layer. return response.JSONResponse( status_code=201, message="Successfully created user!", data=kwargs.get("data") ) except Exception as e: raise e
def reset_password(*args, **kwargs): try: result = service.handle_pwd_reset_request(**kwargs.get("data")) return response.JSONResponse(**result) except Exception as e: raise e
def change_password(*args, **kwargs): try: result = service.change_password(**kwargs) return response.JSONResponse(**result) except Exception as e: raise e
def login_2fa(*args, **kwargs): result = service.login_2fa(data=kwargs.get("data")) return response.JSONResponse(**result)
def login(*args, **kwargs): # todo validate number of allowed sessions user = service.simple_login(data=kwargs.get("data")) return response.JSONResponse(message="Login success!", data=user)