Graduation / Logic /FUsers /DeleteUser.py
Mohammedallyl's picture
Upload 27 files
c4dc0b3 verified
raw
history blame contribute delete
1.85 kB
from fastapi import APIRouter
import sqlite3
from passlib.context import CryptContext
from shutil import rmtree
from os.path import exists
DeleteUserRouter=APIRouter(prefix="/Users")
@DeleteUserRouter.post("/DeleteUser")
def SpeachToTextEndPoint(Email:str,Password:str,AdminEmail:str,AdminPassword:str):
try:
if AdminEmail !="[email protected]" and AdminPassword !="#mohammed*123#":
return {"Status":False,"Message":" Admin Email or Password is not correct "}
State=False
pwd_context=CryptContext(schemes=["bcrypt"],deprecated="auto")
connect=sqlite3.connect("DataBase/DataBase.bd")
cursor=connect.execute(f'''
SELECT UserId,Password FROM Users where Email='{Email}'
''')
Data=cursor.fetchall()
if len(Data) !=0 :
if Data[0][0]==None:
return {"Status":True,"Message":"User Is Not Defined Before"}
HasedPassword=Data[0][1]
UserId=Data[0][0]
State=pwd_context.verify(Password,HasedPassword)
if State:
connect.execute(f'''
DELETE FROM Users where Email='{Email}'
''')
connect.execute(f'''
DELETE FROM UserItems WHERE UserId={UserId}
''')
connect.commit()
if exists(f"./FaceRecognition/ExtactedFaces/{UserId}"):
rmtree(f"./FaceRecognition/ExtactedFaces/{UserId}")
return {"Status":True,"Message":"User Is Deleted Correctly"}
else:
return {"Status":False,"Message":"Email or Password is not correct"}
except sqlite3.Error as e:
return {"Status":False,"Message":e}