Sindbad~EG File Manager

Current Path : /home/numerotech/test-membership.numerotech.com/CommonMembershipApp/core_old/model/
Upload File :
Current File : //home/numerotech/test-membership.numerotech.com/CommonMembershipApp/core_old/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()        
            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()
            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()
            return [dict(r._mapping) for r in results] if results else None        

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