Files
TheGrapefruitsDuo/server/app/db/users.py
Lucas Jensen 5d67c0c2b2 initial commit
2024-05-01 09:19:01 -07:00

43 lines
1.2 KiB
Python

from app.db.base_queries import BaseQueries
from app.models.user import USER_TABLE
class UserQueries(BaseQueries):
def __init__(self) -> None:
super().__init__()
self.table = USER_TABLE
async def get_one_by_email(self, email: str) -> dict | None:
query = f"SELECT * FROM {self.table} WHERE email = %s"
db = self.connect_db()
cursor = db.cursor(dictionary=True)
cursor.execute(query, (email,))
data = cursor.fetchone()
cursor.close()
db.close()
return data
async def get_one_by_sub(self, sub: str) -> dict | None:
query = f"SELECT * FROM {self.table} WHERE sub = %s"
db = self.connect_db()
cursor = db.cursor(dictionary=True)
cursor.execute(query, (sub,))
data = cursor.fetchone()
cursor.close()
db.close()
if not data:
return None
return data
async def update_sub(self, email: str, sub: str) -> None:
query = f"UPDATE {self.table} SET sub = %s WHERE email = %s"
db = self.connect_db()
cursor = db.cursor()
cursor.execute(query, (sub, email))
db.commit()
cursor.close()
db.close()