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/UserWork.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 UserWork():
	def __init__(self):
		try:
			self.meta               = MetaData()
			self.user_works         = Table("user_works", self.meta, autoload_with=engine)
		   
		except Exception as e:
			print(e)

	def get_work(self,work_id):
		with engine.connect() as conn:
			stmt = select(self.user_works).where(self.user_works.c.work_id.in_([work_id]))
			result = conn.execute(stmt).first()
			conn.close()        
			if result:
				return dict(result._mapping)
			else:
				return None

	
	def delete_work(self,work_id):
		with engine.connect() as conn:
			stmt = text("delete from user_works WHERE work_id IN("+str(work_id)+")")
			result = conn.execute(stmt)
			conn.commit()
			conn.close()
			return result
	
	def count_work_user_id(self,user_id):
		with engine.connect() as conn:
			stmt = text("SELECT COUNT(user_id) as count FROM user_works where user_id="+ str(user_id)  +";")
			return conn.execute(stmt).first()
			
	# ganesan 
	 # insert or update qualification
	def update_or_insert_work(self,user_id,work_id,data):
		with engine.connect() as conn:
			if (int(work_id) > 0):
				data.pop("created_at")
				stmt = self.user_works.update().where(self.user_works.c.work_id.in_([work_id])).values(data)
				result = conn.execute(stmt)
			else :
				# insert block
				result = conn.execute(self.user_works.insert(), data)
			conn.commit()
			stmt=text("select * from m_work_type as mw inner join user_works as uw  on mw.work_type_id=uw.work_type_id left join m_position_type mp on mp.position_type_id=uw.position_type_id  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        

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