File size: 1,496 Bytes
c4dc0b3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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}