from models.database import Database from models.user import User class Search: @staticmethod def search_members(query): cur = Database.connection.cursor() cur.execute(""" SELECT * FROM users WHERE id LIKE ? OR username LIKE ? OR firstname LIKE ? OR lastname LIKE ? OR email LIKE ? OR phone LIKE ? """, (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 user.role == "MEMBER": payload.append(user) return payload @staticmethod def search_advisors(query): cur = Database.connection.cursor() cur.execute(""" SELECT * FROM users WHERE id LIKE ? OR username LIKE ? OR firstname LIKE ? OR lastname LIKE ? OR email LIKE ? OR phone LIKE ? """, (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 user.role == "ADVISOR": payload.append(user) return payload @staticmethod def search_admins(query): cur = Database.connection.cursor() cur.execute(""" SELECT * FROM users WHERE id LIKE ? OR username LIKE ? OR firstname LIKE ? OR lastname LIKE ? OR email LIKE ? OR phone LIKE ? """, (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 user.role == "SYSTEM_ADMIN": payload.append(user) return payload