Sindbad~EG File Manager
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'],pool_size=20, max_overflow=0)
# engine = create_engine(app.config['DATABASE_URI'],pool_size=5000,max_overflow=100,pool_pre_ping=True,pool_recycle=3600)
# engine = create_engine(app.config['DATABASE_URI'], poolclass=None,pool_pre_ping=True)
class MMemberType():
def __init__(self):
try:
self.meta = MetaData()
self.m_member_type = Table("m_member_type", self.meta,autoload_with=engine)
except Exception as e:
print(e)
def get_member_type(self):
with engine.connect() as conn:
stmt = select(self.m_member_type)
results = conn.execute(stmt).all()
conn.close()
return [dict(r._mapping) for r in results] if results else None
def get_member_type_approved(self,society_id):
with engine.connect() as conn:
stmt = text("select distinct mt.member_type,mt.member_type_id,smt.display_name from m_member_type mt inner join society_map_member_type as smt on mt.member_type_id=smt.member_type_id where mt.member_type_id <> 2 and smt.society_id=:society_id;")
results = conn.execute(stmt.bindparams(society_id=society_id)).all()
conn.close()
return [dict(r._mapping) for r in results] if results else None
def get_all_member_types(self,society_id):
with engine.connect() as conn:
stmt = text("select distinct mt.member_type,mt.member_type_id from m_member_type mt inner join society_map_member_type as smt on mt.member_type_id=smt.member_type_id where smt.society_id=:society_id;")
result = conn.execute(stmt.bindparams(society_id=society_id))
results = result.all()
conn.close()
return [dict(r._mapping) for r in results] if results else None
def count_get_member_registrations(self,society_id):
with engine.connect() as conn:
stmt = text("SELECT distinct smt.display_name,mt.member_type_id FROM m_member_type as mt inner join society_map_member_type as smt on mt.member_type_id=smt.member_type_id where is_reg=1 and society_id=:society_id;")
result = conn.execute(stmt.bindparams(society_id=society_id))
results = result.all()
conn.close()
return [dict(r._mapping) for r in results] if results else None
def get_member_type_name(self,user_id,app_type):
with engine.connect() as conn:
# stmt = text("select u.prefix,u.full_name,u.email,u.membership_no,u.membership_no_only,mt.member_type,up.amount,up.paid_at,up.status,up.payment_method,up.api_payment_id from m_member_type as mt inner join users as u on mt.member_type_id = u.member_type_id left join user_payment as up on up.user_id = u.user_id and up.status=\"success\" where u.user_id=:user_id and up.app_type=:app_type limit 1;")
stmt = text("select u.prefix,u.full_name,u.email,u.membership_no,u.membership_no_only,mt.member_type as approved_member_type,up.amount,up.paid_at,up.status,up.payment_method,up.api_payment_id from m_member_type as mt inner join users as u on mt.member_type_id = u.approved_member_type_id left join user_payment as up on up.user_id = u.user_id and up.status=\"success\" where u.user_id=:user_id and up.app_type=:app_type limit 1;")
results = conn.execute(stmt.bindparams(user_id=user_id,app_type=app_type))
results= results.first()
conn.close()
if results :
return dict(results._mapping)
else:
return None
# def get_member_display_name(self,user_id,member_type_id,society_id):
# with engine.connect() as conn:
# stmt = text("select mt.member_type,smt.display_name,smt.amount,smt.currency_symbol,smt.currency from m_member_type as mt inner join society_map_member_type as smt on mt.member_type_id=smt.member_type_id inner join users u on (find_in_set(u.country_id,smt.country_ids) or smt.country_ids is null) where smt.member_type_id=:member_type_id and smt.society_id=:society_id and user_id=:user_id")
# results = conn.execute(stmt.bindparams(user_id=user_id,member_type_id=member_type_id,society_id=society_id))
# results= results.first()
# if results :
# return dict(output._mapping)
# else:
# return None
def usp_get_member_display_name(self,user_id,society_id):
connection = engine.raw_connection()
cursor = connection.cursor()
cursor.callproc("usp_get_member_display_name",[user_id,society_id])
if cursor.description :
columns = [column[0] for column in cursor.description]
results = []
for row in cursor.fetchall():
results.append(dict(zip(columns, row)))
cursor.close()
connection.commit()
connection.close()
if results :
return results
else :
return None
else :
cursor.close()
connection.commit()
connection.close()
return None
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists