from fastapi import APIRouter from fastapi.responses import FileResponse from passlib.context import CryptContext import sqlite3 IndoorModelRouter=APIRouter(prefix="/GetModel") @IndoorModelRouter.post("/GetIndoorModel") def FaceModelEndPoint(Email:str,Password:str): try: State=False pwd_context=CryptContext(schemes=["bcrypt"],deprecated="auto") connect=sqlite3.connect("DataBase/DataBase.bd") cursor=connect.execute(f''' SELECT Password FROM Users where Email='{Email}' ''') if len(cursor.fetchall())==1: HasedPassword=cursor.fetchall()[0][0] State=pwd_context.verify(Password,HasedPassword) if not State: return {"Status":False,"Message":"Email or Password is not correct"} pwd_context=CryptContext(schemes=["bcrypt"],deprecated="auto") Password=pwd_context.hash(Password) connect=sqlite3.connect("DataBase/DataBase.bd") cursor=connect.execute(f''' SELECT UserId FROM Users where Email='{Email}' ''') if len(cursor.fetchall())==0: return {"Status":False,"Message":"somthing went wrong"} UserId=cursor.fetchone()["UserId"] return FileResponse(f"./IndoorLocalization/IndoorModels/{UserId}/FinalHistoryModel.tflite") except Exception as e: return {"Status":False,"Message":e}