Initial commit
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
from backend.code.modules.database.database import DatabaseModule
|
||||
|
||||
class UserRepository():
|
||||
def __init__(self, repo: DatabaseModule):
|
||||
self.conn = repo.conn
|
||||
self.cursor = repo.cursor
|
||||
|
||||
def FilterUsers(self, filters: dict = None):
|
||||
params = list()
|
||||
|
||||
sql = '''
|
||||
SELECT u.*, a.username, a.locked, a.active
|
||||
FROM users u
|
||||
LEFT JOIN user_accounts a ON a.user_id = u.id
|
||||
WHERE 1=1
|
||||
'''
|
||||
|
||||
if filters is not None:
|
||||
if 'name' in filters:
|
||||
sql = sql + " AND u.name LIKE ?"
|
||||
params.append(filters['name'])
|
||||
|
||||
if 'surnames' in filters:
|
||||
sql = sql + " AND u.surnames LIKE ?"
|
||||
params.append(filters['surnames'])
|
||||
|
||||
if 'email' in filters:
|
||||
sql = sql + " AND u.email LIKE ?"
|
||||
params.append(filters['email'])
|
||||
|
||||
if 'username' in filters:
|
||||
sql = sql + " AND a.username LIKE ?"
|
||||
params.append(filters['username'])
|
||||
|
||||
# print(sql)
|
||||
|
||||
self.cursor.execute(sql, params)
|
||||
return self.cursor.fetchall()
|
||||
|
||||
def SelectUserById(self, id: int):
|
||||
sql = '''
|
||||
SELECT u.*, a.username, a.locked, a.active
|
||||
FROM users u
|
||||
LEFT JOIN user_accounts a ON a.user_id = u.id
|
||||
WHERE u.id = ?
|
||||
'''
|
||||
self.cursor.execute(sql, [id])
|
||||
return self.cursor.fetchone()
|
||||
|
||||
def InsertUser(self, name: str, surnames: str, email: str):
|
||||
sql = '''
|
||||
INSERT INTO users(name, surnames, email)
|
||||
VALUES(?, ?, ?)
|
||||
'''
|
||||
self.cursor.execute(sql, [name, surnames, email])
|
||||
self.conn.commit()
|
||||
return self.cursor.lastrowid
|
||||
|
||||
def UpdateUser(self, id: int, name: str, surnames: str, email: str):
|
||||
sql = '''
|
||||
UPDATE users
|
||||
SET name = ?, surnames = ?, email = ?
|
||||
WHERE id = ?
|
||||
'''
|
||||
self.cursor.execute(sql, [name, surnames, email, id])
|
||||
self.conn.commit()
|
||||
return self.cursor.rowcount
|
||||
|
||||
def DeleteUser(self, id: int):
|
||||
sql = '''
|
||||
DELETE FROM users
|
||||
WHERE id = ?
|
||||
'''
|
||||
self.cursor.execute(sql, [id])
|
||||
self.conn.commit()
|
||||
return self.cursor.rowcount
|
||||
Reference in New Issue
Block a user