Sindbad~EG File Manager

Current Path : /home/numerotech/membership.numerotech.com/CommonMembershipApp/core/model/
Upload File :
Current File : //home/numerotech/membership.numerotech.com/CommonMembershipApp/core/model/UserQualification.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
from .. import engine

#engine = create_engine(app.config['DATABASE_URI'])
# engine = create_engine(app.config['DATABASE_URI'],pool_size=5000,pool_pre_ping=True,pool_recycle=3600)
# engine = create_engine(app.config['DATABASE_URI'], poolclass=None,pool_size=5000,max_overflow=100,pool_pre_ping=True,pool_recycle=3600)

class UserQualification():
	def __init__(self):
		try:
			self.meta               = MetaData()
			self.user_qualification = Table("user_qualification", self.meta, autoload_with=engine)
			self.user_additional	= Table("user_additional", self.meta, autoload_with=engine)
		   
		except Exception as e:
			print(e)
	
	def get_qualification(self,uq_id):    
		with engine.connect() as conn:
			stmt = select(self.user_qualification).where(self.user_qualification.c.uq_id.in_([uq_id]))
			result = conn.execute(stmt)
			output = result.first()
			conn.close()
			if output:
				return dict(output._mapping)
			else:
				return None
	
  
	def delete_qualification(self,uq_id):
		with engine.connect() as conn:
			stmt = text("delete from user_qualification WHERE uq_id IN("+str(uq_id)+")")
			result = conn.execute(stmt)
			conn.commit()
			conn.close()
			return result


	# insert or update qualification
	def update_or_insert(self,user_id,uq_id,data):
		with engine.connect() as conn:
			if (int(uq_id) > 0):
				data.pop("created_at")
				stmt = self.user_qualification.update().where(self.user_qualification.c.uq_id.in_([uq_id])).values(data)
				result = conn.execute(stmt)
			else :
				# insert block
				result = conn.execute(self.user_qualification.insert(), data)
			conn.commit()
			
			stmt = text("select * from  user_qualification where user_id= "+str(user_id)+";")
			results = conn.execute(stmt).all()
			conn.close()
			return [dict(r._mapping) for r in results] if results else None


	def count_qul_user_id(self,user_id):
		with engine.connect() as conn:
			stmt = text("SELECT COUNT(user_id) as count FROM user_qualification where user_id="+ str(user_id)  +" limit 1;")
			return conn.execute(stmt).first()
			
			
	def get_qulification_by_user(self,user_id):
		with engine.connect() as conn:
			stmt = text("select * from user_qualification where user_id= "+str(user_id)+";")
			results = conn.execute(stmt).all()
			conn.close()
			return  [dict(r._mapping) for r in results] if results else None
			
	# insert or update user_additional
	def update_or_insert_user_additional(self,user_id,data):
		with engine.connect() as conn:
			stmt = text("select * from  user_additional where user_id= "+str(user_id)+";")
			result = conn.execute(stmt)
			output = result.first()
			if output:
				data.pop("created_at")
				stmt = self.user_additional.update().where(self.user_additional.c.user_id.in_([user_id])).values(data)
				result = conn.execute(stmt)
			else :
				# insert block
				result = conn.execute(self.user_additional.insert(), data)
			conn.commit()
			conn.close()
			return result

	def get_user_additional_by_user(self,user_id):
		with engine.connect() as conn:
			stmt = text("select * from user_additional where user_id= "+str(user_id)+";")
			result = conn.execute(stmt).first()
			conn.close()
			return result

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