74 lines
2.4 KiB
Python
74 lines
2.4 KiB
Python
from models.database import Database
|
|
from models.user import User
|
|
from models.city import City
|
|
|
|
class Search:
|
|
@staticmethod
|
|
def search_members(query):
|
|
cur = Database.connection.cursor()
|
|
cur.execute("""SELECT * FROM users""")
|
|
rows = cur.fetchall()
|
|
|
|
payload = []
|
|
for row in rows:
|
|
user = User(Database.connection)._set_row_values(row)
|
|
if str(user.id) == query:
|
|
payload.append(user)
|
|
continue
|
|
|
|
if user.role == "MEMBER":
|
|
if user.username in query or user.firstname in query or user.lastname in query or user.email in query or user.phone in query:
|
|
payload.append(user)
|
|
|
|
return payload
|
|
|
|
@staticmethod
|
|
def search_advisors(query):
|
|
cur = Database.connection.cursor()
|
|
cur.execute("""SELECT * FROM users""")
|
|
rows = cur.fetchall()
|
|
|
|
payload = []
|
|
for row in rows:
|
|
user = User(Database.connection)._set_row_values(row)
|
|
if str(user.id) == user.id:
|
|
payload.append(user)
|
|
continue
|
|
|
|
if user.role == "ADVISOR":
|
|
if user.username in query or user.firstname in query or user.lastname in query or user.email in query or user.phone in query:
|
|
payload.append(user)
|
|
|
|
return payload
|
|
|
|
@staticmethod
|
|
def search_admins(query):
|
|
cur = Database.connection.cursor()
|
|
cur.execute("""SELECT * FROM users""")
|
|
rows = cur.fetchall()
|
|
|
|
payload = []
|
|
for row in rows:
|
|
user = User(Database.connection)._set_row_values(row)
|
|
if str(user.id) == user.id:
|
|
payload.append(user)
|
|
continue
|
|
|
|
if user.role == "SYSTEM_ADMIN":
|
|
if user.username in query or user.firstname in query or user.lastname in query or user.email in query or user.phone in query:
|
|
payload.append(user)
|
|
|
|
return payload
|
|
|
|
@staticmethod
|
|
def get_all_cites():
|
|
cur = Database.connection.cursor()
|
|
cur.execute("SELECT * FROM cities")
|
|
rows = cur.fetchall()
|
|
|
|
payload = []
|
|
for row in rows:
|
|
city = City(Database.connection)._set_row_values(row)
|
|
payload.append(city)
|
|
|
|
return payload |