Sindbad~EG File Manager
from sqlalchemy import create_engine, MetaData, Table, insert, select,update,delete,text
from flask import Flask,flash
from core import app
from sqlalchemy.sql import and_, or_
from sqlalchemy import asc, desc
# engine = create_engine(app.config['DATABASE_URI'])
engine = create_engine(app.config['DATABASE_URI'],pool_size=5000,pool_pre_ping=True,pool_recycle=3600)
class BOAdminModel():
def __init__(self):
try:
self.meta = MetaData()
self.users = Table("users", self.meta, autoload_with=engine)
self.payments = Table("payments", self.meta, autoload_with=engine)
self.admins = Table("admins", self.meta, autoload_with=engine)
except Exception as e:
print(e)
def Get_Users(self):
with engine.connect() as conn:
stmt = text("select concat(ifnull(concat(prefix,' '),''),ifnull(full_name,'')) as full_name,user_id, email, mobile,current_address,help_info from users ;")
result = conn.execute(stmt).all()
return [dict(r._mapping) for r in result] if result else None
def Get_Payment(self):
with engine.connect() as conn:
stmt = text("select p.payment_id,concat(ifnull(concat(u.prefix,' '),''),ifnull(u.full_name,'')) as full_name,p.utr_number,p.amount,DATE_FORMAT(p.paid_at, '%d/%m/%Y %H:%m ') as paid_at,p.payment_status from payments p inner join users u on p.user_id = u.user_id ;")
result = conn.execute(stmt).all()
results = [dict(r._mapping) for r in result] if result else None
return results
def boUserDataByEmail(self,email):
with engine.connect() as conn:
stmt = text("select * from admins where email = '"+ email +"' ; ")
result = conn.execute(stmt).one_or_none()
return dict(result._mapping) if result else None
def View_Payment(self,payment_id):
with engine.connect() as conn:
stmt = text("select concat(ifnull(concat(file_path,''),''),'/',ifnull(file_name,'')) as file ,amount,DATE_FORMAT(paid_at, '%d/%m/%Y %H:%m ') as paid_at,payment_status from payments where payment_id = " + str(payment_id) + ";")
result = conn.execute(stmt).one_or_none()
return dict(result._mapping) if result else None
def Get_Users_by_id(self,payment_id):
with engine.connect() as conn:
stmt = text("select p.*,u.* from payments p inner join users u on p.user_id = u.user_id where payment_id = " + str(payment_id) + ";")
result = conn.execute(stmt).one_or_none()
return dict(result._mapping) if result else None
def updateOTP(self,user_id,data):
with engine.connect() as conn:
stmt = self.users.update().where(self.users.c.user_id.in_([user_id])).values(data)
result = conn.execute(stmt)
conn.commit()
return result
def updatePayment(self,payment_id,data_for_update):
with engine.connect() as conn:
stmt = self.payments.update().where(self.payments.c.payment_id.in_([payment_id])).values(data_for_update)
result = conn.execute(stmt)
conn.commit()
if result:
return 'success'
else :
return 'fail'
def Get_Success_Payment(self):
with engine.connect() as conn:
stmt = text("select p.payment_id,concat(ifnull(concat(u.prefix,' '),''),ifnull(u.full_name,'')) as full_name,p.utr_number,p.amount,DATE_FORMAT(p.paid_at, '%d/%m/%Y %H:%m ') as paid_at,p.payment_status from payments p inner join users u on p.user_id = u.user_id where p.payment_status = 'Success';")
result = conn.execute(stmt).all()
return [dict(r._mapping) for r in result] if result else None
def Get_Failure_Payment(self):
with engine.connect() as conn:
stmt = text("select p.payment_id,concat(ifnull(concat(u.prefix,' '),''),ifnull(u.full_name,'')) as full_name,p.utr_number,p.amount,DATE_FORMAT(p.paid_at, '%d/%m/%Y %H:%m ') as paid_at,p.payment_status from payments p inner join users u on p.user_id = u.user_id where p.payment_status = 'Failed';")
result = conn.execute(stmt).all()
return [dict(r._mapping) for r in result] if result else None
def insertRegister(self,register_data):
with engine.connect() as conn:
result = conn.execute(self.registration.insert(), register_data)
conn.commit()
if result :
return result
else:
return None
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists