Sindbad~EG File Manager

Current Path : /home/numerotech/scans.numerotech.com/scan_v1/core/model/
Upload File :
Current File : //home/numerotech/scans.numerotech.com/scan_v1/core/model/FoodSessionModel.py

from sqlalchemy import create_engine, MetaData, Table, insert, select,update,delete,text
from sqlalchemy.sql import and_, or_
from core import app
import json



engine    = create_engine(app.config['DATABASE_URI'],pool_recycle=3600)
engine_fk = create_engine(app.config['DATABASE_URI_FK'],pool_recycle=3600)

class FoodSessionModel():
	def __init__(self):
		try:
			self.meta = MetaData()
			self.fc_sessions = Table("fc_sessions", self.meta,autoload_with=engine_fk)
			self.fc_users = Table("fc_users", self.meta, autoload_with=engine_fk)     
		except Exception as e:
			print(e)


	def getfcConf(self,conf_id,conf_key,current_dt) :
		with engine.connect() as conn:
			stmt = text("select * from conference where  conf_id ="+str(conf_id)+" and conf_key ='"+conf_key+"' and '"+current_dt+"'  between conf_start_time and conf_end_time ;")
			# stmt = text("select * from conference where  conf_id ="+str(conf_id)+" and conf_key ='"+conf_key+"'  ;")
			result = conn.execute(stmt).one_or_none()
			if result :
				return dict(result._mapping)
			else:
				return None
			
	# get conf data start
	def getFcConfData(self,conf_id,conf_key) :
		with engine.connect() as conn:
			stmt = text("select * from conference where conf_id ="+str(conf_id)+" and conf_key = '"+conf_key+"';")
			result = conn.execute(stmt)
			result = result.one_or_none()
			if result :
				result = dict(result._mapping)
				return result
			else:
				return None
		
	# get conf data end		

	
	def insert_fcbodata_and_getdata(self,data,conf_id,conf_key):
		with engine_fk.connect() as conn:
			result = conn.execute(self.fc_sessions.insert(), data)
			conn.commit()

			stmt_2 = text("SELECT f.session_id,f.session_name,f.session_key,f.start_time,f.end_time,f.is_active from fc_sessions f where conf_id ="+str(conf_id)+" and conf_key ='"+conf_key+"' ;")
			result_2 = conn.execute(stmt_2).all()
			results = [dict(r._mapping) for r in result_2] if result_2 else None
			if results : 
				return results
			else:
				return None

	def getFCBOSessionData(self,conf_id,conf_key):
		with engine_fk.connect() as conn:
			stmt_2 = text("SELECT f.session_id,f.session_name,f.session_key,f.start_time,f.end_time,f.is_active from fc_sessions f where conf_id ="+str(conf_id)+" and conf_key ='"+conf_key+"' ;")
			result_2 = conn.execute(stmt_2).all()
			results = [dict(r._mapping) for r in result_2] if result_2 else None
			if results : 
				return results
			else:
				return None			


	def edit_fcbo(self,session_id):
		with engine_fk.connect() as conn:
			stmt = text("select * from fc_sessions where session_id = "+str(session_id)+" ; ")
			# stmt = select(self.fc_sessions).where(self.fc_sessions.c.session_id.in_([session_id]))
			result = conn.execute(stmt)
			result = result.one_or_none()
			return dict(result._mapping) if result else None

	def update_fcbo_and_getdata(self,data_for_update,session_id,conf_id,conf_key):
		with engine_fk.connect() as conn:
			stmt = self.fc_sessions.update().where(self.fc_sessions.c.session_id.in_([session_id])).values(data_for_update)
			restult_1 = conn.execute(stmt)
			conn.commit()

			stmt_2 = text("SELECT f.session_id,f.session_name,f.session_key,f.start_time,f.end_time,f.is_active from fc_sessions f where conf_id ="+str(conf_id)+" and conf_key ='"+conf_key+"' ;")
			result_2 = conn.execute(stmt_2).all()
		
			results = [dict(r._mapping) for r in result_2] if result_2 else None
			if results : 
				return results
			else:
				return None	


	def delete_fcbo_session_index(self,session_id):
		with engine_fk.connect() as conn:
			stmt = self.fc_sessions.delete().where(self.fc_sessions.c.session_id.in_([session_id]))
			restult_1 = conn.execute(stmt)
			conn.commit()

			stmt_2 = text("SELECT f.session_id,f.session_name,f.session_key,f.start_time,f.end_time,f.is_active from fc_sessions f ;")
			result_2 = conn.execute(stmt_2).all()
			
		
			results = [dict(r._mapping) for r in result_2] if result_2 else None
			if results : 
				return results
			else:
				return None	

	def getDataByUsername(self,user_name):
		with engine_fk.connect() as conn:
			stmt = text("select  * from fc_users where user_name  = '"+user_name+"' ;")
			result = conn.execute(stmt).one_or_none()
			if result :
				return dict(result._mapping)
			else:
				return None 
			

	def updateFCLoginTime(self,fc_user_id,current_dt):
		with engine_fk.connect() as conn:
			stmt = text("update fc_users set login_at = '"+current_dt+"'  where fc_user_id  = "+str(fc_user_id)+" ;")
			result = conn.execute(stmt)
			conn.commit()
			return "login time updated."
			
	# Santhosh code on August 17, 2023
	
	def getFcsessionData(self,conf_id,conf_key) :
		with engine_fk.connect() as conn:
			stmt = text("select * from fc_sessions where conf_id ="+str(conf_id)+" and conf_key = '"+conf_key+"' ;")
			result_2 = conn.execute(stmt).all()
			results = [dict(r._mapping) for r in result_2] if result_2 else None
			if results : 
				return results
			else:
				return None	
			
	def insert_food_session(self,session_insert_stmt):
		with engine_fk.connect() as conn:
			stmt = text(session_insert_stmt)
			result 	= conn.execute(stmt)
			conn.commit()
			return result
			
	# delete Food scanned data start
	def getsession_names(self,conf_id) :
		with engine_fk.connect() as conn:
			stmt = text("select * from fc_sessions where conf_id = '"+str(conf_id)+"';")
			result_2 = conn.execute(stmt).all()
			results = [dict(r._mapping) for r in result_2] if result_2 else None
			if results : 
				return results
			else:
				return None

	def getFcsession_data_by_delno(self,conf_id,fc_session_entry_table,del_table_name,session_id,delegate_nos,full_name) :
		with engine_fk.connect() as conn:
			if full_name :
				stmt = text("select * from "+del_table_name+" as d inner join "+fc_session_entry_table+" as  se on d.delegate_no = se.delegate_no where  se.session_id = '"+str(session_id)+"'  and d.full_name like '%"+full_name+"%'  ;")
			else :
				stmt = text("select * from "+del_table_name+" as d inner join "+fc_session_entry_table+" as  se on d.delegate_no = se.delegate_no where  se.session_id = '"+str(session_id)+"'  and se.delegate_no  in ("+delegate_nos+")  ;")
			result_2 = conn.execute(stmt).all()
			results  = [dict(r._mapping) for r in result_2] if result_2 else None
			return results
			
	def DeleteFcsession_data_by_delno(self,conf_id,fc_session_entry_table,del_table_name,session_id,delegate_nos,uncheck_del_nos,full_name) :
		with engine_fk.connect() as conn:
			stmt = text("delete from "+fc_session_entry_table+" where session_id = '"+str(session_id)+"'  and  delegate_no in ("+delegate_nos+");")
			safe_update = text("SET SQL_SAFE_UPDATES = 0 ")
			results= conn.execute(safe_update)
			result = conn.execute(stmt)
			conn.commit()
			if result : 
				return "success"
			else:
				return "fail"

	def getfcsession_data_by_delno_uncheck(self,fc_session_entry_table,del_table_name,session_id,uncheck_del_nos,full_name) :
		with engine_fk.connect() as conn:
			if full_name :
				stmt_1 = text("select * from "+del_table_name+" as d inner join "+fc_session_entry_table+" as  se on d.delegate_no = se.delegate_no where  se.session_id = '"+str(session_id)+"'  and d.full_name like '%"+full_name+"%'  ;")
			else :
				stmt_1 = text("select * from "+del_table_name+" as d inner join "+fc_session_entry_table+" as  se on d.delegate_no = se.delegate_no where  se.session_id = '"+str(session_id)+"'  and se.delegate_no  in ("+uncheck_del_nos+")  ;")
			result = conn.execute(stmt_1).all()
			results  = [dict(r._mapping) for r in result] if result else None
			return results
	
	# delete kit scanned data end
	

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists