Sindbad~EG File Manager
from sqlalchemy import create_engine, MetaData, Table, insert, select, update, delete, text
from core import app
from sqlalchemy.sql import and_, or_
from sqlalchemy import asc, desc
from flask import Flask, flash
engine = create_engine(app.config['DATABASE_URI'])
class UserModel:
def __init__(self):
try:
self.meta = MetaData()
self.users = Table("users", self.meta, autoload_with=engine)
except Exception as e:
print(e)
def getUsers(self):
with engine.connect() as conn:
stmt = self.users.select()
result = conn.execute(stmt)
results = [dict(r) for r in result] if result else None
return results
def getUserbyEmail(self,email):
with engine.connect() as conn:
stmt = self.users.select().where(self.users.c.email.in_([email]))
result = conn.execute(stmt).first()
if result:
return dict(result._mapping)
else:
return None
def insert(self, data):
with engine.connect() as conn:
result = conn.execute(self.users.insert().values(**data))
conn.commit()
pk_id = result.inserted_primary_key[0] if result.inserted_primary_key else None
return pk_id
def update(self, user_id, datas):
with engine.connect() as conn:
stmt = self.users.update().where(self.users.c.user_id.in_([user_id])).values(**datas)
result = conn.execute(stmt)
conn.commit()
return result
def delete(self, user_id):
with engine.connect() as conn:
stmt = delete(self.users).where(self.users.c.user_id.in_([user_id]))
conn.commit()
conn.execute(stmt)
return "deleted"
def searchUsers(self, searchText):
with engine.connect() as conn:
stmt = text(f"SELECT * FROM users WHERE name LIKE '%{searchText}%' OR mobile LIKE '%{searchText}%' OR email LIKE '%{searchText}%';")
result = conn.execute(stmt)
return result
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists