����JFIF���������
__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
import express from "express";
import { userAuth, checkRole } from "../middlewares/AuthMiddleware.js";
import validateBody from "../middlewares/Validator.js";
import { addReplySchema, createQuerySchema } from "../validations/studentValidation.js";
import {createQuery, addReplyToQuery, getMyQueries, getQueryDetails, getMyClasses} from '../controllers/student/studentQueryController.js'
import {getAnswers, submitAnswers, listTeachersForSurvey, getSurveyQuestions} from '../controllers/student/teacherSurveyAns.js'
import {
getStudentHistory,
getStudentSubjects,
getStudentSummary,
getStudentAnalytics,
getSubjectReport
} from '../controllers/student/studentGrades.js'
import {uploadFile} from '../config/multer.js'
import {
getDashboardSummary,
getTimetable
} from '../controllers/student/studentDashboardController.js'
import {
getAttendanceByStudent,
getAttendanceByMonth,
getAttendanceSummaryCard,
getAttendanceYearlySummary
} from '../controllers/student/studentAttendance.js'
import {
getStudentAssignments,
getAssignmentDetails,
submitAssignment,
getMySubmissions,
getMySubmissionDetails,
getMyGrades,
getMyEnrollment
} from "../controllers/student/studentAssignmnet.js";
import {
getStudentQuizDashboardCards,
getStudentQuizzes,
submitQuiz,
getStudentQuizResult,
getStudentQuizDetails
} from "../controllers/student/studentQuiz.js";
import {
getStudentNotifications,
getStudentNotificationDetail
} from '../controllers/notificationController.js'
import {
getEventDetails,
getStudentDetails,
getStudentEvents,
} from '../controllers/student/studentProfile.js'
import {
changeStudentEmail,
changeStudentPassword,
getStudentProfile,
updateStudentProfile
} from '../controllers/student/settingController.js'
import {
studentApplyLeave,
studentCancelLeave,
studentGetLeaveDetails,
studentGetMyLeaves,
studentGetMyQuota
} from '../controllers/student/studentLeave.js'
const router = express.Router();
router.use(userAuth, checkRole(["student"]));
// Student Query Routes
router.post("/queries",uploadFile.array('files', 5), validateBody(createQuerySchema), createQuery);
router.get("/my-queries", getMyQueries);
router.get("/query/:id", getQueryDetails);
router.post("/query/:id/responses",uploadFile.array('files', 5), validateBody(addReplySchema), addReplyToQuery);
router.get('/my-classes', getMyClasses)
// Teacher Survey Answer Routes
router.get("/teacher-survey/answers", getAnswers);
router.post("/teacher-survey/answers", submitAnswers);
router.get("/teacher-survey/teachers", listTeachersForSurvey);
router.get("/teacher-survey-questions", getSurveyQuestions);
//Dashboard Routes
router.get('/dashboard/summary', getDashboardSummary);
router.get('/dashboard/timetable', getTimetable);
// Student Attendance Routes
router.get('/attendance', getAttendanceByStudent);
router.get('/attendance/summary-card', getAttendanceSummaryCard);
router.get('/attendance/monthly', getAttendanceByMonth);
router.get('/attendance/yearly-summary', getAttendanceYearlySummary);
// Student Assignment Routes
router.get("/assignment", getStudentAssignments);
router.get("/assignment/:id", getAssignmentDetails);
router.get('/enrollment', getMyEnrollment)
router.post(
"/assignment/:id/submit",
uploadFile.array("submissionFiles", 20),
submitAssignment
);
router.get("/assignment/me/submissions", getMySubmissions);
router.get("/assignment/:assignmentId/submission/:submissionId", getMySubmissionDetails);
router.get("/assignment/me/grades", getMyGrades);
// Student Quiz Routes
router.get("/quiz/dashboard-cards", getStudentQuizDashboardCards);
router.get("/quiz", getStudentQuizzes);
router.post("/quiz/:id/submit", submitQuiz);
router.get("/quiz/:id/result", getStudentQuizResult)
router.get("/quiz/:id/details", getStudentQuizDetails);
// Student Grades Routes
router.get("/grades/summary", getStudentSummary);
router.get("/grades/subjects", getStudentSubjects);
router.get("/grades/history", getStudentHistory);
router.get("/grades/analytics", getStudentAnalytics);
router.get("/grades/subject/:courseId", getSubjectReport);
// Student Notifications Routes
router.get("/notifications", getStudentNotifications);
router.get("/notifications/:id", getStudentNotificationDetail);
// Student Profile Route
router.get("/profile/details", getStudentDetails);
router.get("/profile/events", getStudentEvents);
router.get("/profile/events/:id", getEventDetails);
router.get('/profile', getStudentProfile);
router.patch('/change-email', changeStudentEmail)
router.patch('/change-password', changeStudentPassword)
router.patch('/change-profile', updateStudentProfile)
router.post("/leave/apply", studentApplyLeave);
router.get("/my-leaves", studentGetMyLeaves);
router.get("/my-quota", studentGetMyQuota);
router.get("/details/:id", studentGetLeaveDetails);
router.delete("/cancel/:id", studentCancelLeave);
export default router;| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| accountsRoutes.js | File | 5.47 KB | 0644 |
|
| adminRoutes.js | File | 19.54 KB | 0644 |
|
| health.js | File | 255 B | 0644 |
|
| hrRoutes.js | File | 15.27 KB | 0644 |
|
| index.js | File | 573 B | 0644 |
|
| studentRoutes.js | File | 4.82 KB | 0644 |
|
| teacherRoutes.js | File | 8.8 KB | 0644 |
|
| userRoutes.js | File | 794 B | 0644 |
|