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""", (f"%{query}%", f"%{query}%", f"%{query}%", f"%{query}%", f"%{query}%", f"%{query}%")) 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""", (f"%{query}%", f"%{query}%", f"%{query}%", f"%{query}%", f"%{query}%", f"%{query}%")) 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