mirror of
				https://gitlab.com/akasroua/covot
				synced 2025-11-04 10:49:51 +01:00 
			
		
		
		
	Fix user search query
This commit is contained in:
		
							parent
							
								
									23d7bc0f7a
								
							
						
					
					
						commit
						2b9923e3c4
					
				@ -21,7 +21,7 @@ def format_message(sender, recipient) -> Tuple[EmailMessage, str]:
 | 
				
			|||||||
    Creates the email message and formats it accordingly
 | 
					    Creates the email message and formats it accordingly
 | 
				
			||||||
    """
 | 
					    """
 | 
				
			||||||
    code = token_hex(4)
 | 
					    code = token_hex(4)
 | 
				
			||||||
    body = "La clave es {}. Envíele esta clave al bot.".format()
 | 
					    body = f"La clave es {code}. Envíele esta clave al bot."
 | 
				
			||||||
    message = EmailMessage()
 | 
					    message = EmailMessage()
 | 
				
			||||||
    message["From"] = sender
 | 
					    message["From"] = sender
 | 
				
			||||||
    message["To"] = recipient
 | 
					    message["To"] = recipient
 | 
				
			||||||
@ -36,6 +36,6 @@ def send_mail(recipient) -> None:
 | 
				
			|||||||
    """
 | 
					    """
 | 
				
			||||||
    server = initialize_smtp(domain=DOMAIN, username=USERNAME, password=PASSWORD)
 | 
					    server = initialize_smtp(domain=DOMAIN, username=USERNAME, password=PASSWORD)
 | 
				
			||||||
    message, code = format_message(sender=USERNAME, recipient=recipient)
 | 
					    message, code = format_message(sender=USERNAME, recipient=recipient)
 | 
				
			||||||
    save_attribute(attribute="codigo", data=code)
 | 
					    save_attribute(id=recipient, attribute="codigo", data=code)
 | 
				
			||||||
    server.send_message(msg=message)
 | 
					    server.send_message(msg=message)
 | 
				
			||||||
    server.close()
 | 
					    server.close()
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,4 @@
 | 
				
			|||||||
from sqlalchemy import or_
 | 
					from sqlalchemy import or_
 | 
				
			||||||
from sqlalchemy.orm import Query
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
from database import SessionLocal, engine, models
 | 
					from database import SessionLocal, engine, models
 | 
				
			||||||
from database.models import User
 | 
					from database.models import User
 | 
				
			||||||
@ -7,12 +6,14 @@ from database.models import User
 | 
				
			|||||||
db = SessionLocal()
 | 
					db = SessionLocal()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def search_database(id) -> Query:
 | 
					def search_database(id) -> User:
 | 
				
			||||||
    """
 | 
					    """
 | 
				
			||||||
    Returns the user associated with the id argument
 | 
					    Returns the user associated with the id argument
 | 
				
			||||||
    """
 | 
					    """
 | 
				
			||||||
    return db.query(User).filter(
 | 
					    return (
 | 
				
			||||||
        or_(User.correo_institucional == id, User.numero_de_documento == id)
 | 
					        db.query(User)
 | 
				
			||||||
 | 
					        .filter(or_(User.correo_institucional == id, User.numero_de_documento == id))
 | 
				
			||||||
 | 
					        .first()
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -37,7 +38,7 @@ def create_database(data) -> None:
 | 
				
			|||||||
    insert_data(data)
 | 
					    insert_data(data)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def save_attribute(attribute, data) -> None:
 | 
					def save_attribute(id, attribute, data) -> None:
 | 
				
			||||||
    """
 | 
					    """
 | 
				
			||||||
    Updates the attribute value with the content of data
 | 
					    Updates the attribute value with the content of data
 | 
				
			||||||
    """
 | 
					    """
 | 
				
			||||||
@ -45,6 +46,7 @@ def save_attribute(attribute, data) -> None:
 | 
				
			|||||||
    db.query(User).filter(
 | 
					    db.query(User).filter(
 | 
				
			||||||
        or_(User.correo_institucional == id, User.numero_de_documento == id)
 | 
					        or_(User.correo_institucional == id, User.numero_de_documento == id)
 | 
				
			||||||
    ).update({key: data})
 | 
					    ).update({key: data})
 | 
				
			||||||
 | 
					    db.commit()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def verify_code(id, code) -> bool:
 | 
					def verify_code(id, code) -> bool:
 | 
				
			||||||
@ -52,7 +54,7 @@ def verify_code(id, code) -> bool:
 | 
				
			|||||||
    Verifies that two-factor authentification code matches the database record
 | 
					    Verifies that two-factor authentification code matches the database record
 | 
				
			||||||
    """
 | 
					    """
 | 
				
			||||||
    db_record = search_database(id=id)
 | 
					    db_record = search_database(id=id)
 | 
				
			||||||
    valid_code = code == db_record
 | 
					    valid_code = code == db_record.codigo
 | 
				
			||||||
    if valid_code:
 | 
					    if valid_code:
 | 
				
			||||||
        return True
 | 
					        return True
 | 
				
			||||||
    return False
 | 
					    return False
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user