Files
pyqcrm/lib/DB/UserDAO.py
2024-12-20 14:11:34 +01:00

45 lines
1.3 KiB
Python

# This Python file uses the following encoding: utf-8
from .DbManager import DbManager
from ..PyqcrmFlags import PyqcrmFlags
import mariadb
from PySide6.QtCore import QObject, Signal
class UserDAO(QObject):
noDbConnection = Signal(str)
__cursor = None
def __init__(self):
#print(f"*** File: {__file__}, init()")
super().__init__()
self.__con = DbManager().getConnection()
if self.__con:
self.__cur = self.__con.cursor()
def createUser(self, username, password, info, role= PyqcrmFlags.USER):
user_created = False
try:
if self.__cur:
self.__cur.callproc("createUser", (username, password, info, role))
self.__con.commit()
user_created = True
except mariadb.Error as e:
print(f"Error: {e}")
print(e.errno)
user_created = False
self.noDbConnection.emit(str(e))
finally:
return user_created
def getUser(self, username):
try:
if self.__cur:
self.__cur.callproc("getUser", (username,))
return self.__cur.fetchone()
else:
return None
except mariadb.Error as e:
print(str(e))
self.noDbConnection.emit(str(e))