import logging import database.connection as connection logger = logging.getLogger(__name__) class Students: def getAllStudents(): conn = None try: conn = connection.get_db_connection() if not conn: return None cursor = conn.cursor() cursor.execute("SELECT id,username FROM students") result = cursor.fetchall() cursor.close() return result if result else None except Exception as e: logger.error(f"Database query error in getAllStudents: {e}") return None finally: if conn: connection.release_db_connection(conn) def getStudentById(student_id): conn = None try: conn = connection.get_db_connection() if not conn: return None cursor = conn.cursor() cursor.execute( "SELECT id,username, name, created_at, email, phone_number, last_seen, is_verfied, birthday FROM students WHERE id = %s", (student_id,)) result = cursor.fetchall() cursor.close() return result[0] if result else None except Exception as e: logger.error(f"Database query error in getStudentById: {e}") return None finally: if conn: connection.release_db_connection(conn) class Teachers: def getAllTeachers(): conn = None try: conn = connection.get_db_connection() if not conn: return None cursor = conn.cursor() cursor.execute("SELECT id,username FROM teachers") result = cursor.fetchall() cursor.close() return result if result else None except Exception as e: logger.error(f"Database query error in getAllTeachers: {e}") return None finally: if conn: connection.release_db_connection(conn) def getTeachertById(teacher_id): conn = None try: conn = connection.get_db_connection() if not conn: return None cursor = conn.cursor() cursor.execute( "SELECT id, username, name, created_at, email, phone_number, last_seen, is_verfied, birthday, about_me, job_title FROM teachers WHERE id = %s", (teacher_id, )) result = cursor.fetchall() cursor.close() return result[0] if result else None except Exception as e: logger.error(f"Database query error in getTeacherById: {e}") return None finally: if conn: connection.release_db_connection(conn) def createTeacher(name, email, phone_number, password, username, birthday, about_me, job_title): conn = None try: conn = connection.get_db_connection() if not conn: return False cursor = conn.cursor() cursor.execute( "INSERT INTO teachers (name, email, phone_number, hashed_password, username, birthday, about_me, job_title) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)", (name, email, phone_number, password, username, birthday, about_me, job_title) ) conn.commit() cursor.close() return True except Exception as e: logger.error(f"Database query error in createTeacher: {e}") return False finally: if conn: connection.release_db_connection(conn)