File size: 2,778 Bytes
f7b9e98
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
from sqlalchemy.orm import sessionmaker
from entity import Database_Entity
from repository import ConfigDatabase as cf
otp_user = Database_Entity.OTP
from sqlalchemy.orm import sessionmaker
from functools import lru_cache
import sys
import os

def getOtpByEmail(email: str) -> otp_user:
 try:
   engine = cf.get_db_engine()
   Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
   with Session() as session:
    user_record= session.query(otp_user).filter(otp_user.email == email).one_or_none()
    if user_record:
        session.close()
        return user_record
    else:
        session.close()
        return None
 except:
   engine = cf.get_db_engine1()
   Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
   with Session() as session:
    user_record= session.query(otp_user).filter(otp_user.email == email).one_or_none()
    if user_record:
        session.close()
        return user_record
    else:
        session.close()
        return None
    
def addOTP(email: str, otp: str) -> None:
    try:
     engine = cf.get_db_engine()
     Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
     with Session() as session:
        otp_record = session.query(otp_user).filter_by(email=email).first()
        if otp_record:
            session.delete(otp_record)
            session.commit()
        new_user = otp_user(
           email = email,
           otp= otp 
        )
        session.add(new_user)
        session.commit()
        session.close()
    except:
     engine = cf.get_db_engine1()
     Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
     with Session() as session:
        otp_record = session.query(otp_user).filter_by(email=email).first()
        if otp_record:
            session.delete(otp_record)
            session.commit()
        new_user = otp_user(
           email = email,
           otp= otp 
        )
        session.add(new_user)
        session.commit()
        session.close()
       
def deleteOTP(email: str, otp:str) -> None:
 try:
   engine = cf.get_db_engine()
   Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
   with Session() as session:
       otp_record = session.query(otp_user).filter_by(email=email, otp=otp).first()
       if otp_record:
            session.delete(otp_record)
            session.commit()
 except:
   engine = cf.get_db_engine1()
   Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
   with Session() as session:
       otp_record = session.query(otp_user).filter_by(email=email, otp=otp).first()
       if otp_record:
            session.delete(otp_record)
            session.commit()