from fastapi import Response, status from app import app from app.schemas import * from app.twilio import send_otp from database.crud import insert_data, verify_otp @app.post("/register", status_code=status.HTTP_200_OK) async def create_user(request: RegisterSchema): insert_data(schema="Users", data=request) send_otp(receiver=request.mobile) return {"message": "User created, pending OTP verification"} # FIXME Use OAuth2 for verification @app.post("/login", status_code=status.HTTP_200_OK) async def log_in(request: LoginSchema, response: Response): return {"message": "Logged in successfully"} # response.status_code = status.HTTP_400_BAD_REQUEST # return {"message": "The email/password combination is not correct"} @app.post("/otpVerification", status_code=status.HTTP_200_OK) async def validate_otp(request: OTPSchema, response: Response): if verify_otp(data=request): return {"message": "The OTP has been verified successfully"} response.status_code = status.HTTP_400_BAD_REQUEST return {"message": "The OTP is not correct"}