84 lines
4.1 KiB
Python
84 lines
4.1 KiB
Python
|
import traceback
|
||
|
|
||
|
from geruecht.exceptions import DatabaseExecption
|
||
|
|
||
|
|
||
|
class Base:
|
||
|
def getJobInvite(self, from_user, to_user, date, id=None):
|
||
|
try:
|
||
|
cursor = self.db.connection.cursor()
|
||
|
if id:
|
||
|
cursor.execute("select * from job_invites where id={}".format(id))
|
||
|
else:
|
||
|
cursor.execute("select * from job_invites where from_user={} and to_user={} and on_date='{}'".format(from_user['id'], to_user['id'], date))
|
||
|
retVal = cursor.fetchone()
|
||
|
retVal['to_user'] = self.getUserById(retVal['to_user']).toJSON()
|
||
|
retVal['from_user'] = self.getUserById(retVal['from_user']).toJSON()
|
||
|
retVal['on_date'] = {'year': retVal['on_date'].year, 'month': retVal['on_date'].month, 'day': retVal['on_date'].day}
|
||
|
return retVal
|
||
|
except Exception as err:
|
||
|
traceback.print_exc()
|
||
|
self.db.connection.rollback()
|
||
|
raise DatabaseExecption("Something went worng with Datatabase: {}".format(err))
|
||
|
|
||
|
def getJobInvitesFromUser(self, from_user, date):
|
||
|
try:
|
||
|
cursor = self.db.connection.cursor()
|
||
|
cursor.execute("select * from job_invites where from_user={} and on_date>='{}'".format(from_user['id'], date))
|
||
|
retVal = cursor.fetchall()
|
||
|
for item in retVal:
|
||
|
item['from_user'] = from_user
|
||
|
item['to_user'] = self.getUserById(item['to_user']).toJSON()
|
||
|
item['on_date'] = {'year': item['on_date'].year, 'month': item['on_date'].month, 'day': item['on_date'].day}
|
||
|
return retVal
|
||
|
except Exception as err:
|
||
|
traceback.print_exc()
|
||
|
self.db.connection.rollback()
|
||
|
raise DatabaseExecption("Something went worng with Datatabase: {}".format(err))
|
||
|
|
||
|
def getJobInvitesToUser(self, to_user, date):
|
||
|
try:
|
||
|
cursor = self.db.connection.cursor()
|
||
|
cursor.execute("select * from job_invites where to_user={} and on_date>='{}'".format(to_user['id'], date))
|
||
|
retVal = cursor.fetchall()
|
||
|
for item in retVal:
|
||
|
item['from_user'] = self.getUserById(item['from_user']).toJSON()
|
||
|
item['to_user'] = to_user
|
||
|
item['on_date'] = {'year': item['on_date'].year, 'month': item['on_date'].month, 'day': item['on_date'].day}
|
||
|
return retVal
|
||
|
except Exception as err:
|
||
|
traceback.print_exc()
|
||
|
self.db.connection.rollback()
|
||
|
raise DatabaseExecption("Something went worng with Datatabase: {}".format(err))
|
||
|
|
||
|
def setJobInvite(self, from_user, to_user, date):
|
||
|
try:
|
||
|
cursor = self.db.connection.cursor()
|
||
|
cursor.execute("insert into job_invites (from_user, to_user, on_date) values ({}, {}, '{}')".format(from_user['id'], to_user['id'], date))
|
||
|
self.db.connection.commit()
|
||
|
return self.getJobInvite(from_user, to_user, date)
|
||
|
except Exception as err:
|
||
|
traceback.print_exc()
|
||
|
self.db.connection.rollback()
|
||
|
raise DatabaseExecption("Something went worng with Datatabase: {}".format(err))
|
||
|
|
||
|
def updateJobInvite(self, jobinvite):
|
||
|
try:
|
||
|
cursor = self.db.connection.cursor()
|
||
|
cursor.execute("update job_invites set watched={} where id={}".format(jobinvite['watched'], jobinvite['id']))
|
||
|
self.db.connection.commit()
|
||
|
return self.getJobInvite(None, None, None, jobinvite['id'])
|
||
|
except Exception as err:
|
||
|
traceback.print_exc()
|
||
|
self.db.connection.rollback()
|
||
|
raise DatabaseExecption("Something went worng with Datatabase: {}".format(err))
|
||
|
|
||
|
def deleteJobInvite(self, jobinvite):
|
||
|
try:
|
||
|
cursor = self.db.connection.cursor()
|
||
|
cursor.execute("delete from job_invites where id={}".format(jobinvite['id']))
|
||
|
self.db.connection.commit()
|
||
|
except Exception as err:
|
||
|
traceback.print_exc()
|
||
|
self.db.connection.rollback()
|
||
|
raise DatabaseExecption("Something went worng with Datatabase: {}".format(err))
|