@@ -37,25 +37,26 @@ def getQueueItemById(self, queue_id):
3737 cursor .close ()
3838 return result
3939
40- def addNewQueueItem (self , design_id , start_time , end_time , display_duration , scheduled , scheduled_at ):
4140
41+ def addNewQueueItem (self , design_id , start_time , end_time ,
42+ display_duration , scheduled , scheduled_at ):
4243 cursor = self .conn .cursor ()
44+ cursor .execute ("SELECT COUNT(*) FROM queue_item;" )
45+ display_order = cursor .fetchone ()[0 ] + 1
4346
44- count_query = """ SELECT COUNT(*)
45- FROM queue_item"""
46- cursor .execute (count_query )
47- items = cursor .fetchone ()[0 ]
48- display_order = items + 1
47+ cursor .execute ("""
48+ INSERT INTO queue_item
49+ (design_id, start_time, end_time, display_duration, display_order, scheduled, scheduled_at)
50+ VALUES (?, ?, ?, ?, ?, ?, ?);
51+ """ , (design_id , start_time , end_time , display_duration ,
52+ display_order , scheduled , scheduled_at ))
4953
50- query = "insert into queue_item (design_id, start_time, end_time, display_duration, display_order, scheduled, scheduled_at) values (?, ?, ?, ?, ?, ?, ?);"
51- cursor .execute (query ,
52- (design_id , start_time , end_time , display_duration , display_order , scheduled , scheduled_at ))
5354 self .conn .commit ()
54- query = "select * from queue_item order by queue_id desc limit 1"
55- cursor .execute (query )
56- result = cursor .fetchone ()
55+
56+ cursor .execute ("SELECT * FROM queue_item ORDER BY queue_id DESC LIMIT 1;" )
57+ row = cursor .fetchone ()
5758 cursor .close ()
58- return result
59+ return row
5960
6061 def updateQueueItemById (self , queue_id , data ):
6162 cursor = self .conn .cursor ()
@@ -250,6 +251,32 @@ def get_all_items_paginated(self, page, page_size):
250251 "error" : str (e )
251252 }
252253
254+
255+ def getByUserEmail (self , email ):
256+ cursor = self .conn .cursor ()
257+ query = """
258+ SELECT
259+ qi.queue_id AS history_id,
260+ qi.design_id,
261+ qi.created_at AS created_at,
262+ qi.display_duration,
263+ qi.display_order,
264+ qi.scheduled AS status,
265+ d.title,
266+ d.pixel_data
267+ FROM queue_item qi
268+ JOIN design d
269+ ON d.design_id = qi.design_id
270+ JOIN user u
271+ ON u.user_id = d.user_id
272+ WHERE u.email = ?
273+ ORDER BY qi.start_time DESC;
274+ """
275+ cursor .execute (query , (email ,))
276+ rows = cursor .fetchall ()
277+ cursor .close ()
278+ return rows
279+
253280 def is_design_in_queue (self , design_id ):
254281 cursor = self .conn .cursor ()
255282 query = "SELECT 1 FROM queue_item WHERE design_id = ?"
@@ -272,3 +299,4 @@ def is_design_scheduled(self, design_id):
272299 return False
273300 finally :
274301 cursor .close ()
302+
0 commit comments