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
from .. import Cryptography,Auth
from core.library.helper import Helper
import json
engine = create_engine(app.config['DATABASE_URI'],pool_size=5000,pool_pre_ping=True,pool_recycle=3600)
class facultyModel():
def __init__(self):
try:
self.meta = MetaData()
self.users = Table("users", self.meta, autoload_with=engine)
except Exception as e:
print(e)
def get_faculty_email_data(self,email):
stmt = text("select * from users where email = '{}'".format(email))
with engine.connect() as conn:
results = conn.execute(stmt).first()
results = dict(results._mapping) if results else None
return results
def get_otp_random(self,user_id):
stmt = text("select otp from users where user_id = {} ".format(user_id))
with engine.connect() as conn:
results = conn.execute(stmt).first()
results = dict(results._mapping) if results else None
return results
def update_member(self,user_id,data):
stmt = self.users.update().values(data).where(self.users.c.user_id.in_([user_id]))
select_stmt = text("select * from users where user_id = "+str(user_id)+" ")
with engine.connect() as conn:
result = conn.execute(stmt)
select_result = conn.execute(select_stmt).first()
conn.commit()
result_2 = dict(select_result._mapping) if select_result else None
return result_2
def get_member(self,user_id):
stmt = text("select * from users where user_id = {} ".format(user_id))
with engine.connect() as conn:
results = conn.execute(stmt).first()
results = dict(results._mapping) if results else None
return results
def get_workshop_data(self):
stmt = text("select * from m_workshop;")
with engine.connect() as conn:
results = conn.execute(stmt).all()
results = [dict(r._mapping) for r in results] if results else None
return results
def get_faculty_slotes(self,deuser_id):
stmt = text(f"select * from master_slotes ms inner join facultycourse fc on ms.Workshop_id = fc.Workshop_Id and user_id = {deuser_id} left join faculty_preference_timing fpt on fpt.master_slot_id = ms.master_slote_id and fc.user_id = fpt.user_id group by master_slote_id ;")
with engine.connect() as conn:
results = conn.execute(stmt).all()
results = [dict(r._mapping) for r in results] if results else None
return results if results else None
def insert_faculty_prference(self,deuser_id,m_slot_id):
stmt = text(f"insert into faculty_preference_timing(user_id,master_slot_id) values({deuser_id},{m_slot_id})")
with engine.connect() as conn:
results = conn.execute(stmt)
conn.commit()
return results if results else None
def delete_faculty_prference(self,deuser_id,m_slot_id):
stmt = text(f"delete from faculty_preference_timing where user_id = {deuser_id} and master_slot_id = {m_slot_id}")
with engine.connect() as conn:
results = conn.execute(stmt)
conn.commit()
return results if results else None
def get_faculty_preferred_slotes(self,deuser_id,conf_id):
stmt = text(f"select * from master_slotes ms inner join facultycourse fc on ms.Workshop_id = fc.Workshop_Id and user_id = {deuser_id} inner join workshopcourses wc on wc.WorkshopCourseId = fc.course_id inner join faculty_preference_timing fpt on fpt.master_slot_id = ms.master_slote_id and fc.user_id = fpt.user_id where wc.conf_id = {conf_id} group by master_slote_id ;")
with engine.connect() as conn:
results = conn.execute(stmt).all()
results = [dict(r._mapping) for r in results] if results else None
return results if results else None
def get_course_data(self,user_id,conf_id):
stmt = text(f"select * from workshopcourses w left join facultycourse f on w.WorkshopCourseId = f.course_id and f.user_id = {user_id} where w.conf_id = {conf_id} order by order_no,WorkshopId")
with engine.connect() as conn:
results = conn.execute(stmt).all()
results = [dict(r._mapping) for r in results] if results else None
return results
def get_user_workshop_data(self,user_id,conf_id):
stmt = text(f"select * from m_workshop w inner join workshopcourses wc on wc.WorkshopId = w.WorkshopId inner join facultycourse f on wc.WorkshopCourseId = f.course_id and f.user_id = {user_id} and wc.conf_id = {conf_id} group by f.Workshop_id;")
with engine.connect() as conn:
results = conn.execute(stmt).all()
results = [dict(r._mapping) for r in results] if results else None
return results
def get_user_course_data(self,user_id,conf_id):
stmt = text(f"select * from workshopcourses w inner join facultycourse f on w.WorkshopCourseId = f.course_id and f.user_id = {user_id} and w.conf_id = {conf_id} order by order_no,CourseName")
with engine.connect() as conn:
results = conn.execute(stmt).all()
results = [dict(r._mapping) for r in results] if results else None
return results
def get_old_coursedata(self,workshopid,user_id):
stmt = text(f"select * from facultycourse where Workshop_id = {workshopid} and user_id = {user_id} ;")
with engine.connect() as conn:
results = conn.execute(stmt).all()
results = [dict(r._mapping) for r in results] if results else None
return results
def insert_course_db(self,insert_fellowship,workshopid,user_id):
with engine.connect() as conn:
stmt_1 = ('''INSERT INTO facultycourse (Workshop_id,user_id,course_id) VALUES''')
row_val = []
for i in insert_fellowship:
row_val.append(('(' + '''{},{},{}''' +')').format(workshopid,user_id,i))
stmt_1 = stmt_1 + ",".join(row_val)
stmt_1 = stmt_1 + ';'
result = conn.execute(text(stmt_1))
conn.commit()
return result
def delete_course_db(self,delete_fellowship,user_id):
with engine.connect() as conn:
stmt = text("delete from facultycourse WHERE course_id IN("+str(delete_fellowship)+") and user_id = "+str(user_id))
result = conn.execute(stmt)
conn.commit()
return result
app.jinja_env.globals.update(facultyModel=facultyModel)
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists