Initial commit

This commit is contained in:
2026-11-05 08:28:15 +00:00
commit 08582a4f70
65 changed files with 1886 additions and 0 deletions
@@ -0,0 +1,89 @@
from backend.code.modules.database.database import DatabaseModule
class SessionRepository():
def __init__(self, repo: DatabaseModule):
self.conn = repo.conn
self.cursor = repo.cursor
def SelectByUsername(self, username: str):
sql = '''
SELECT a.*, u.name, u.surnames, u.email
FROM user_accounts a
JOIN users u ON u.id = a.user_id
WHERE a.username = ?
AND a.active
'''
self.cursor.execute(sql, [username])
return self.cursor.fetchone()
def SelectByToken(self, token: str):
sql = '''
SELECT uas.account_id, u.id
FROM user_account_sessions uas
JOIN user_accounts ua ON uas.account_id = ua.id
JOIN users u ON ua.user_id = u.id
WHERE token = ?
AND uas.active
'''
self.cursor.execute(sql, [token])
return self.cursor.fetchone()
def RefreshAttempts(self, account_id: int, attempts: int, locked: bool):
sql = '''
UPDATE user_accounts
SET attempts = ?, locked = ?
WHERE id = ?
'''
self.cursor.execute(sql, [attempts, locked, account_id])
self.conn.commit()
return self.cursor.rowcount
def RegisterSession(self, accountId: int, token: str):
sql = '''
INSERT INTO user_account_sessions(account_id, token)
VALUES (?, ?)
'''
self.cursor.execute(sql, [accountId, token])
self.conn.commit()
return self.cursor.rowcount
def DisableToken(self, token: str):
sql = '''
UPDATE user_account_sessions
SET active = false
WHERE token = ?
'''
self.cursor.execute(sql, [token])
self.conn.commit()
return self.cursor.rowcount
def InsertRecoverRequest(self, accountId: int, token: str):
sql = '''
INSERT INTO user_account_recover_requests(account_id, token)
VALUES(?, ?)
'''
self.cursor.execute(sql, [accountId, token])
self.conn.commit()
return self.cursor.rowcount
def SelectRecoverRequest(self, accountId: int, token: str):
sql = '''
SELECT *
FROM user_account_recover_requests
WHERE account_id = ?
AND token = ?
AND active
'''
self.cursor.execute(sql, [accountId, token])
return self.cursor.fetchone()
def DisableRecoverRequest(self, token: str):
sql = '''
UPDATE user_account_recover_requests
SET active = false
WHERE token = ?
AND active
'''
self.cursor.execute(sql, [token])
self.conn.commit()
self.cursor.rowcount