Sindbad~EG File Manager

Current Path : /home/numerotech/workshops.numerotech.com/common_workshop_reg/core/model/
Upload File :
Current File : //home/numerotech/workshops.numerotech.com/common_workshop_reg/core/model/ProofUploadModel.py

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

class ProofUploadModel():
	def __init__(self):
		try:
			self.meta      = MetaData()
			self.delegates = Table("delegates", self.meta,  autoload_with=engine)
			self.del_proof_upload_setting = Table("del_proof_upload_setting", self.meta,  autoload_with=engine)
			self.del_proof_upload_logs    = Table("del_proof_upload_logs", self.meta,  autoload_with=engine_conf_db)
		except Exception as e:
			print("table not found",e)
		
	def get_delegate_by_delegate_id(self,conf_id,delegate_id):
		with engine.connect() as conn:
			stmt  = text("select d.delegate_id,d.delegate_no,concat(d.prefix ,' ' ,d.full_name) as full_name,d.email,d.mobile,"
					+" ut.user_type,d.mc_number, s.state_name,d.pg_cert_path,d.pg_cert_name,ds.*"
					+" from delegates d "
					+" left join delegates_addons da on da.delegate_id = d.delegate_id "
					+" left join addons a on a.addon_id = da.addon_id "
					+" left join addon_types atype on atype.addon_type_id = a.addon_type_id "
					+" left join users u on u.user_id = d.user_id"
					+" left join states s on s.state_id = d.state_id  "
					+" left join states mc on mc.state_id = d.mc_state_id  "
					+" left join user_types ut on ut.user_type_id = a.user_type_id "
					+" inner join conference c on c.conf_id = d.conference_id "
					+" inner join society_applications sa on sa.conf_id = c.conf_id  and sa.app_type_id = 2   "
					+" left join user_payment up on up.unique_id = da.unique_id  "
					+" left join del_proof_upload_setting ds on ds.conf_id = d.conference_id and ds.is_active"
					+" where d.delegate_no is not null and d.del_status_id = 2 and d.conference_id = "+str(conf_id)+" "
					+" and d.delegate_id = "+str(delegate_id)+" ;")

			result = conn.execute(stmt).fetchone()
			return dict(result._mapping) if result else None

	def save_proof_upload_logs(self,insert_data_for_logs):
		with engine_conf_db.connect() as conn:
			try:
				result = conn.execute(self.del_proof_upload_logs.insert(), insert_data_for_logs)
				conn.commit()
				return "success"
			except Exception as e:
				return str(e)

	
	def get_del_proof_upload_setting(self,conf_id,setting_id):
		with engine.connect() as conn:
			try:
				where_con = ""  
				if setting_id :
					where_con = " and (setting_id ="+str(setting_id)+") "
				else :
					where_con = ""

				stmt    = text("select * from del_proof_upload_setting where conf_id = "+ str(conf_id)+" "+ where_con )
				results = conn.execute(stmt).all()
				return [dict(r._mapping) for r in results] if results else None

			except Exception as e:
				return str(e)	

	def insert_del_proof_upload_setting(self,insert_data):
		with engine.connect() as conn:
			try:
				result = conn.execute(self.del_proof_upload_setting.insert(), insert_data)
				conn.commit()
				return "success"
			except Exception as e:
				return str(e)

	def update_del_proof_upload_setting(self,setting_id,update_data):
		with engine.connect() as conn:
			try:
				stmt    = self.del_proof_upload_setting.update().where(self.del_proof_upload_setting.c.setting_id.in_([setting_id])).values(update_data)
				result  = conn.execute(stmt)
				conn.commit()
				return 'success' if result else 'fail'
			except Exception as e:
				return str(e)

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