Files
pyqcrm/lib/DB/ContactDAO.py
2025-04-21 23:45:33 +02:00

65 lines
2.1 KiB
Python

import json
import mariadb
from PySide6.QtCore import QObject, Signal
from lib.domain.BaseModel import database
class ContactDAO(QObject):
newObjectContactAdded = Signal(bool)
def __init__(self):
super().__init__()
self.__con = database.connection()
if self.__con:
self.__cur = self.__con.cursor()
def getContacts(self):
print(f"*** File: {__file__}, getContacts()")
def addContact(self, contact, enc_key):
try:
if self.__cur:
self.__cur.callproc("addContactPerson", (enc_key, json.dumps(contact),))
self.__con.commit()
self.__cur.callproc("getLastInsertId")
contact_id = self.__cur.fetchone()
self.__cur.callproc("logger",(contact_id[0], "INSERT", "addContactPerson: New Contact added",))
self.__con.commit()
return contact_id[0]
else:
return None
except mariadb.Error as e:
print("MDB: " + str(e))
except Exception as e:
print("PYT: " + str(e))
def addObjectContact(self, contact, objectid, enc_key):
try:
if self.__cur:
self.__cur.callproc("addObjectContact", (enc_key, json.dumps(contact), objectid,))
self.__con.commit()
self.__cur.callproc("logObjectContact")
self.__con.commit()
# self.newObjectContactAdded.emit(True)
except mariadb.Error as e:
print("MDB (addObjectContact): " + str(e))
self.newObjectContactAdded.emit(False)
except Exception as e:
print("PYT: " + str(e))
self.newObjectContactAdded.emit(False)
def getContact(self, contact_id, enc_key = None):
try:
if self.__cur:
self.__cur.callproc("getCustomerContact", (contact_id, enc_key,))
#self.__all_cols = [desc[0] for desc in self.__cur.description]
return self.__cur.fetchall() #, self.__all_cols
else:
return None #, None
except mariadb.Error as e:
print(str(e))