/home/techb158/workloadmatch.com/api/routes
NameSizeModeActions
ai_generate.php116420644editdlrm
assignments.php99310644editdlrm
auth.php66970644editdlrm
chat.php99340644editdlrm
courses.php72250644editdlrm
coursesessions.php67050644editdlrm
dashboard.php62320644editdlrm
groups.php110990644editdlrm
logs.php35870644editdlrm
managers.php96120644editdlrm
masters.php66850644editdlrm
notifications.php59750644editdlrm
preferences.php64870644editdlrm
programs.php48820644editdlrm
reports.php136960644editdlrm
roles.php85160644editdlrm
schedules.php110420644editdlrm
settings.php42950644editdlrm
teachers.php160130644editdlrm
timeslots.php48070644editdlrm
Edit: /home/techb158/workloadmatch.com/api/routes/coursesessions.php (6705B)
prepare(" SELECT cgs.*, c.Course_Name, g.Group_Name FROM course_group_schedule cgs LEFT JOIN Courses c ON c.Course_ID = cgs.Course_ID LEFT JOIN manager_group_name g ON g.Group_ID = cgs.Group_ID $whereClause ORDER BY cgs.Start_Date DESC "); if ($params) $stmt->bind_param($types, ...$params); $stmt->execute(); $result = $stmt->get_result(); $items = $result->fetch_all(MYSQLI_ASSOC); $stmt->close(); Response::success($items); } function getCourseSession(?string $courseId, string $sessionId, mysqli $mysqli): void { Auth::requireLogin(); $stmt = $mysqli->prepare(" SELECT cgs.*, c.Course_Name, g.Group_Name FROM course_group_schedule cgs LEFT JOIN Courses c ON c.Course_ID = cgs.Course_ID LEFT JOIN manager_group_name g ON g.Group_ID = cgs.Group_ID WHERE cgs.Schedule_ID = ? "); $stmt->bind_param('i', $sessionId); $stmt->execute(); $result = $stmt->get_result(); $item = $result->fetch_assoc(); $stmt->close(); if (!$item) Response::notFound('Session not found'); Response::success($item); } function createCourseSession(?string $courseId, ?array $body, mysqli $mysqli): void { Auth::requireAnyRole(['admin_profile', 'master_profile', 'manager_profile']); if (!$courseId) Response::error('Course ID required'); $groupId = $body['Group_ID'] ?? null; $timeSlot = $body['Time_Slot'] ?? ''; $startDate = $body['Start_Date'] ?? null; $endDate = $body['End_Date'] ?? null; $startTime = $body['Start_Time'] ?? null; $endTime = $body['End_Time'] ?? null; $assigned = (int)($body['Assigned'] ?? 0); if (!$groupId || !$startDate || !$endDate) { Response::validationError(['Group_ID', 'Start_Date', 'End_Date' => 'Required']); } $stmt = $mysqli->prepare("INSERT INTO course_group_schedule (Course_ID, Group_ID, Time_Slot, Start_Date, End_Date, Start_Time, End_Time, Assigned) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"); $stmt->bind_param('iisssssi', $courseId, $groupId, $timeSlot, $startDate, $endDate, $startTime, $endTime, $assigned); $stmt->execute(); $newId = $stmt->insert_id; $stmt->close(); log_activity($mysqli, 'create', 'course_session', $newId, "Course $courseId / Group $groupId", 'Session created via API'); $stmt = $mysqli->prepare(" SELECT cgs.*, c.Course_Name, g.Group_Name FROM course_group_schedule cgs LEFT JOIN Courses c ON c.Course_ID = cgs.Course_ID LEFT JOIN manager_group_name g ON g.Group_ID = cgs.Group_ID WHERE cgs.Schedule_ID = ? "); $stmt->bind_param('i', $newId); $stmt->execute(); $result = $stmt->get_result(); $item = $result->fetch_assoc(); $stmt->close(); Response::created($item); } function updateCourseSession(string $sessionId, ?array $body, mysqli $mysqli): void { Auth::requireAnyRole(['admin_profile', 'master_profile', 'manager_profile']); $stmt = $mysqli->prepare("SELECT * FROM course_group_schedule WHERE Schedule_ID = ?"); $stmt->bind_param('i', $sessionId); $stmt->execute(); $result = $stmt->get_result(); $existing = $result->fetch_assoc(); $stmt->close(); if (!$existing) Response::notFound('Session not found'); $courseId = $body['Course_ID'] ?? $existing['Course_ID']; $groupId = $body['Group_ID'] ?? $existing['Group_ID']; $timeSlot = $body['Time_Slot'] ?? $existing['Time_Slot']; $startDate = $body['Start_Date'] ?? $existing['Start_Date']; $endDate = $body['End_Date'] ?? $existing['End_Date']; $startTime = $body['Start_Time'] ?? $existing['Start_Time']; $endTime = $body['End_Time'] ?? $existing['End_Time']; $assigned = (int)($body['Assigned'] ?? $existing['Assigned']); $stmt = $mysqli->prepare("UPDATE course_group_schedule SET Course_ID = ?, Group_ID = ?, Time_Slot = ?, Start_Date = ?, End_Date = ?, Start_Time = ?, End_Time = ?, Assigned = ? WHERE Schedule_ID = ?"); $stmt->bind_param('iisssssii', $courseId, $groupId, $timeSlot, $startDate, $endDate, $startTime, $endTime, $assigned, $sessionId); $stmt->execute(); $stmt->close(); log_activity($mysqli, 'update', 'course_session', $sessionId, "Course $courseId", 'Session updated via API'); $stmt = $mysqli->prepare(" SELECT cgs.*, c.Course_Name, g.Group_Name FROM course_group_schedule cgs LEFT JOIN Courses c ON c.Course_ID = cgs.Course_ID LEFT JOIN manager_group_name g ON g.Group_ID = cgs.Group_ID WHERE cgs.Schedule_ID = ? "); $stmt->bind_param('i', $sessionId); $stmt->execute(); $result = $stmt->get_result(); $item = $result->fetch_assoc(); $stmt->close(); Response::success($item, 'Session updated'); } function deleteCourseSession(string $sessionId, mysqli $mysqli): void { Auth::requireAnyRole(['admin_profile', 'master_profile']); $stmt = $mysqli->prepare("SELECT * FROM course_group_schedule WHERE Schedule_ID = ?"); $stmt->bind_param('i', $sessionId); $stmt->execute(); $result = $stmt->get_result(); $existing = $result->fetch_assoc(); $stmt->close(); if (!$existing) Response::notFound('Session not found'); $stmt = $mysqli->prepare("DELETE FROM course_group_schedule WHERE Schedule_ID = ?"); $stmt->bind_param('i', $sessionId); $stmt->execute(); $stmt->close(); log_activity($mysqli, 'delete', 'course_session', $sessionId, 'Session deleted via API'); Response::success(null, 'Session deleted'); }