From 4e3397c74c62edab61ec4f8a783e071167ba523c Mon Sep 17 00:00:00 2001 From: vietlecd <120305631+vietlecd@users.noreply.github.com> Date: Wed, 17 Apr 2024 12:49:39 +0700 Subject: [PATCH] new commit ( 17/04 ) --- qlsv_be/.gitignore | 1 + .../admin/control_panel.controller.js | 41 ++++++--- .../controllers/admin/student.controller.js | 88 ++++++++++++++++++- .../controllers/admin/teacher.controller.js | 65 +++++++++++++- .../controllers/users/bangdiem.controller.js | 9 ++ .../users/bangdieukhien.controller.js | 9 ++ .../controllers/users/lichthi.controller.js | 29 ++++++ .../controllers/users/student.controller.js | 18 ++-- .../users/studentdashboard.controller.js | 9 ++ .../users/teacherdashboard.controller.js | 9 ++ .../users/thongtindt.controller.js | 16 ++-- .../users/thongtingv.controller.js | 12 +++ .../users/thongtinsv.controller.js | 14 +-- qlsv_be/controllers/users/tkb.controller.js | 9 ++ qlsv_be/models/course.model.js | 3 +- qlsv_be/models/student.model.js | 44 +++++++--- qlsv_be/models/teacher.model.js | 36 ++++---- qlsv_be/routes/admin/control_panel.route.js | 6 +- qlsv_be/routes/admin/dashboard.route.js | 4 +- qlsv_be/routes/admin/student.route.js | 7 +- qlsv_be/routes/admin/teacher.route.js | 6 +- qlsv_be/routes/users/index.route.js | 2 +- .../routes/users/studentdashboard.route.js | 7 ++ qlsv_be/routes/users/teacher.route.js | 5 +- .../routes/users/teacherdashboard.route.js | 8 ++ 25 files changed, 380 insertions(+), 77 deletions(-) create mode 100644 qlsv_be/.gitignore create mode 100644 qlsv_be/controllers/users/bangdiem.controller.js create mode 100644 qlsv_be/controllers/users/bangdieukhien.controller.js create mode 100644 qlsv_be/controllers/users/lichthi.controller.js create mode 100644 qlsv_be/controllers/users/studentdashboard.controller.js create mode 100644 qlsv_be/controllers/users/teacherdashboard.controller.js create mode 100644 qlsv_be/controllers/users/thongtingv.controller.js create mode 100644 qlsv_be/controllers/users/tkb.controller.js create mode 100644 qlsv_be/routes/users/teacherdashboard.route.js diff --git a/qlsv_be/.gitignore b/qlsv_be/.gitignore new file mode 100644 index 0000000..30bc162 --- /dev/null +++ b/qlsv_be/.gitignore @@ -0,0 +1 @@ +/node_modules \ No newline at end of file diff --git a/qlsv_be/controllers/admin/control_panel.controller.js b/qlsv_be/controllers/admin/control_panel.controller.js index 48b2bbe..1448cb6 100644 --- a/qlsv_be/controllers/admin/control_panel.controller.js +++ b/qlsv_be/controllers/admin/control_panel.controller.js @@ -1,5 +1,5 @@ // Import necessary modules and models -const Course = require('path_to_course_model'); +const Course = require('../../models/course.model'); // Get all courses const getCourses = async (req, res) => { @@ -17,6 +17,7 @@ const addCourse = async (req, res) => { // Logic to add a new course to the database try { const newCourse = new Course({ + semester: req.body.semester, courseCode: req.body.courseCode, scheduleDay: req.body.scheduleDay, scheduleTime: req.body.scheduleTime, @@ -33,23 +34,43 @@ const addCourse = async (req, res) => { // Update an existing course const updateCourse = async (req, res) => { - // Logic to update a course based on its ID try { - const updatedCourse = await Course.findByIdAndUpdate(req.params.id, req.body, { new: true }); - res.json(updatedCourse); - } catch (error) { - res.status(400).send(error.message); + const courseUpdate = { + semester: req.body.semester, + courseCode: req.body.courseCode, + scheduleDay: req.body.scheduleDay, + scheduleTime: req.body.scheduleTime, + classroom: req.body.classroom, + studentCount: req.body.studentCount, + instructorName: req.body.instructorName + }; + + const course = await Course.findOneAndUpdate({ courseCode: req.params.courseCode }, courseUpdate, { new: true }); + + if (!course) { + return res.status(404).send(); + } + + res.send(course); + } catch (e) { + res.status(400).send(e); } }; + // Delete a course const deleteCourse = async (req, res) => { - // Logic to delete a course based on its ID try { - await Course.findByIdAndDelete(req.params.id); - res.status(204).send(); + const { courseCode } = req.params; + const deletedCourse = await Course.findOneAndDelete({ courseCode: courseCode }); + + if (!deletedCourse) { + return res.status(404).send('Course not found'); + } + + res.status(204).send('Success'); // No content to send back, but indicate success } catch (error) { - res.status(500).send(error.message); + res.status(500).send(error.message); } }; diff --git a/qlsv_be/controllers/admin/student.controller.js b/qlsv_be/controllers/admin/student.controller.js index 7a40d1c..b3f5c59 100644 --- a/qlsv_be/controllers/admin/student.controller.js +++ b/qlsv_be/controllers/admin/student.controller.js @@ -1,11 +1,95 @@ const Student = require('../../models/student.model'); // Get all students -exports.getAllStudents = async (req, res) => { +const getAllStudents = async (req, res) => { try { const students = await Student.find(); res.json(students); } catch (error) { res.json({ message: error }); } -}; \ No newline at end of file +}; + +// Add a new student +const addStudent = async (req, res) => { + try { + const newStudent = new Student({ + name: req.body.name, + email: req.body.email, + password: req.body.password, + mssv: req.body.mssv, + private_info: req.body.private_info, + training_info: req.body.training_info + }); + await newStudent.save(); + res.status(201).json(newStudent); + } catch (error) { + res.status(400).send(error.message); + } + }; + +// Delete a student +const deleteStudent = async (req, res) => { + const { mssv } = req.params; + + try { + const deletedStudent = await Student.findOneAndDelete({ mssv: mssv }); + if (!deletedStudent) { + return res.status(404).json({ message: "Student not found." }); + } + + res.status(200).json({ message: "Student deleted successfully." }); + } catch (error) { + res.status(500).json({ message: error.message }); + } +}; + +// Update an existing student +const updateStudent = async (req, res) => { + try { + const studentUpdated = { + name: req.body.name, + email: req.body.email, + password: req.body.password, + mssv: req.body.mssv, + private_info: req.body.private_info, + training_info: req.body.training_info + } + + const student = await Student.findOneAndUpdate({ mssv: req.params.mssv }, studentUpdated, { new: true }); + + if (!student) { + return res.status(404).send(); + } + + res.send(student); + } catch (e) { + res.status(400).send(e); + } +}; + +// Find a student by mssv +const findStudentByMssv = async (req, res) => { + const { mssv } = req.params; + + try { + const student = await Student.findOne({ mssv: mssv }); + if (!student) { + return res.status(404).json({ message: "Student not found." }); + } + + res.status(200).json(student); + } catch (error) { + res.status(500).json({ message: error.message }); + } +}; + +module.exports = { + getAllStudents, + addStudent, + deleteStudent, + updateStudent, + findStudentByMssv +} + + diff --git a/qlsv_be/controllers/admin/teacher.controller.js b/qlsv_be/controllers/admin/teacher.controller.js index 4ef7afc..619c504 100644 --- a/qlsv_be/controllers/admin/teacher.controller.js +++ b/qlsv_be/controllers/admin/teacher.controller.js @@ -1,11 +1,72 @@ const Teacher = require('../../models/teacher.model'); // Get all teachers -exports.getAllTeachers = async (req, res) => { +const getAllTeachers = async (req, res) => { try { const teachers = await Teacher.find(); res.json(teachers); } catch (error) { res.json({ message: error }); } -}; \ No newline at end of file +}; + +const addTeacher = async (req, res) => { + try { + const newTeacher = new Teacher({ + name: req.body.name, + email: req.body.email, + password: req.body.password, + msgv: req.body.msgv, + private_info: req.body.private_info, + contact_info: req.body.contact_info + }); + await newTeacher.save(); + res.status(201).json(newTeacher); + } catch (error) { + res.status(400).send(error.message); + } +}; + +const deleteTeacher = async (req, res) => { + const { msgv } = req.params; + + try { + const deletedTeacher = await Teacher.findOneAndDelete({ msgv: msgv }); + if (!deletedTeacher) { + return res.status(404).json({ message: "Teacher not found." }); + } + } + catch (error) { + res.status(500).json({ message: error.message }); + } +}; + +const updateTeacher = async (req, res) => { + try { + const teacherUpdated = { + name: req.body.name, + email: req.body.email, + password: req.body.password, + msgv: req.body.msgv, + private_info: req.body.private_info, + contact_info: req.body.contact_info + } + + const teacher = await Teacher.findOneAndUpdate({ msgv: req.params.msgv }, teacherUpdated, { new: true }); + + if (!teacher) { + return res.status(404).send(); + } + + res.json(teacher); + } catch (error) { + res.status(400).json({ message: error.message }); + } +}; + +module.exports = { + getAllTeachers, + addTeacher, + deleteTeacher, + updateTeacher +} \ No newline at end of file diff --git a/qlsv_be/controllers/users/bangdiem.controller.js b/qlsv_be/controllers/users/bangdiem.controller.js new file mode 100644 index 0000000..4752488 --- /dev/null +++ b/qlsv_be/controllers/users/bangdiem.controller.js @@ -0,0 +1,9 @@ +module.exports.dashboard = (req, res) => { + try { + // Thực hiện các thao tác thành công ở đây + res.send("Xin chào! Đây là dòng tin nhắn thành công của bangdiem."); + } catch (error) { + // Xử lý lỗi khi có lỗi xảy ra + res.send("Xin lỗi! Đây là dòng tin nhắn thất bại của bangdiem."); + } +}; diff --git a/qlsv_be/controllers/users/bangdieukhien.controller.js b/qlsv_be/controllers/users/bangdieukhien.controller.js new file mode 100644 index 0000000..6dd2c99 --- /dev/null +++ b/qlsv_be/controllers/users/bangdieukhien.controller.js @@ -0,0 +1,9 @@ +module.exports.dashboard = (req, res) => { + try { + // Thực hiện các thao tác thành công ở đây + res.send("Xin chào! Đây là dòng tin nhắn thành công của bangdieukhien."); + } catch (error) { + // Xử lý lỗi khi có lỗi xảy ra + res.send("Xin lỗi! Đây là dòng tin nhắn thất bại của bangdieukhien."); + } +}; diff --git a/qlsv_be/controllers/users/lichthi.controller.js b/qlsv_be/controllers/users/lichthi.controller.js new file mode 100644 index 0000000..16e1c73 --- /dev/null +++ b/qlsv_be/controllers/users/lichthi.controller.js @@ -0,0 +1,29 @@ +const LichThi = require("../../models/course.model"); + +// Get all lich thi +const getAllLichThi = async (req, res) => { + try { + const lichThi = await LichThi.find(); + res.json(lichThi); + } catch (error) { + res.json({ message: error }); + } +}; + +//Get info of a lich thi +const getLichThi = async (req, res) => { + const { courseCode } = req.params; + + try { + const lichThi = await LichThi.findOne({ courseCode: courseCode }); + if (!lichThi) { + return res.status(404).json({ message: "Lich thi not found." }); + } + res.json({ semester: lichThi.semester, courseCode: lichThi.courseCode, scheduleDay: lichThi.scheduleDay }); + } + catch (error) { + res.status(500).json({ message: error.message }); + } +} + +module.exports = { getAllLichThi, getLichThi }; \ No newline at end of file diff --git a/qlsv_be/controllers/users/student.controller.js b/qlsv_be/controllers/users/student.controller.js index 095183a..3cbdcfa 100644 --- a/qlsv_be/controllers/users/student.controller.js +++ b/qlsv_be/controllers/users/student.controller.js @@ -1,7 +1,7 @@ const bcrypt = require('bcrypt'); const jwt = require('jsonwebtoken'); const { validationResult } = require('express-validator'); -const studentModel = require('../../models/student.model'); +const teacherModel = require('../../models/teacher.model'); exports.login = async (req, res) => { const errors = validationResult(req); @@ -11,15 +11,15 @@ exports.login = async (req, res) => { const { email, password } = req.body; try { - const student = await studentModel.findOne({ email: email }); - if (!student) { - return res.status(404).json({ message: "No student record found" }); + const teacher = await teacherModel.findOne({ email: email }); + if (!teacher) { + return res.status(404).json({ message: "No teacher record found" }); } - const isMatch = await bcrypt.compare(password, student.password); + const isMatch = await bcrypt.compare(password, teacher.password); if (!isMatch) { return res.status(401).json({ message: "Incorrect password" }); } - const token = jwt.sign({ email: student.email, role: student.role }, process.env.JWT_SECRET, { expiresIn: '1d' }); + const token = jwt.sign({ email: teacher.email, role: teacher.role }, process.env.JWT_SECRET, { expiresIn: '1d' }); res.json({ message: "Login successful", token: token }); } catch (err) { res.status(500).json({ message: "Login error", error: err.message }); @@ -35,9 +35,9 @@ exports.register = async (req, res) => { const { name, email, password } = req.body; try { const hash = await bcrypt.hash(password, 10); - const student = await studentModel.create({ name, email, password: hash }); - res.status(201).json({ message: "student registered successfully", student: { id: student._id, name: student.name, email: student.email } }); + const teacher = await teacherModel.create({ name, email, password: hash }); + res.status(201).json({ message: "teacher registered successfully", teacher: { id: teacher._id, name: teacher.name, email: teacher.email } }); } catch (err) { - res.status(500).json({ message: "Error registering student", error: err.message }); + res.status(500).json({ message: "Error registering teacher", error: err.message }); } }; \ No newline at end of file diff --git a/qlsv_be/controllers/users/studentdashboard.controller.js b/qlsv_be/controllers/users/studentdashboard.controller.js new file mode 100644 index 0000000..91ba79e --- /dev/null +++ b/qlsv_be/controllers/users/studentdashboard.controller.js @@ -0,0 +1,9 @@ +module.exports.dashboard = (req, res) => { + try { + // Thực hiện các thao tác thành công ở đây + res.send("Xin chào! Đây là dòng tin nhắn thành công của tôi."); + } catch (error) { + // Xử lý lỗi khi có lỗi xảy ra + res.send("Xin lỗi! Đây là dòng tin nhắn thất bại của tôi."); + } +}; diff --git a/qlsv_be/controllers/users/teacherdashboard.controller.js b/qlsv_be/controllers/users/teacherdashboard.controller.js new file mode 100644 index 0000000..91ba79e --- /dev/null +++ b/qlsv_be/controllers/users/teacherdashboard.controller.js @@ -0,0 +1,9 @@ +module.exports.dashboard = (req, res) => { + try { + // Thực hiện các thao tác thành công ở đây + res.send("Xin chào! Đây là dòng tin nhắn thành công của tôi."); + } catch (error) { + // Xử lý lỗi khi có lỗi xảy ra + res.send("Xin lỗi! Đây là dòng tin nhắn thất bại của tôi."); + } +}; diff --git a/qlsv_be/controllers/users/thongtindt.controller.js b/qlsv_be/controllers/users/thongtindt.controller.js index 91ba79e..8945446 100644 --- a/qlsv_be/controllers/users/thongtindt.controller.js +++ b/qlsv_be/controllers/users/thongtindt.controller.js @@ -1,9 +1,9 @@ -module.exports.dashboard = (req, res) => { - try { - // Thực hiện các thao tác thành công ở đây - res.send("Xin chào! Đây là dòng tin nhắn thành công của tôi."); - } catch (error) { - // Xử lý lỗi khi có lỗi xảy ra - res.send("Xin lỗi! Đây là dòng tin nhắn thất bại của tôi."); - } +const thongDaoTao = require('../../models/teacher.model'); + + +module.exports.dashboard = async (req, res) => { + const thongtindaotao = await thongDaoTao.find({ + deleted: false + }); + console.log( thongtindaotao); }; diff --git a/qlsv_be/controllers/users/thongtingv.controller.js b/qlsv_be/controllers/users/thongtingv.controller.js new file mode 100644 index 0000000..c3d7b00 --- /dev/null +++ b/qlsv_be/controllers/users/thongtingv.controller.js @@ -0,0 +1,12 @@ +const thongtinGiangVien = require('../../models/teacher.model'); + +module.exports.dashboard = async (req, res) => { + try { + const thongtingiangvien = await thongtinGiangVien.find(); + console.log(thongtingiangvien); + res.json(thongtingiangvien); // send response to client + } catch (error) { + console.error(error); + res.status(500).send('Server error'); // send error response to client + } +}; \ No newline at end of file diff --git a/qlsv_be/controllers/users/thongtinsv.controller.js b/qlsv_be/controllers/users/thongtinsv.controller.js index 6900a6c..644bd3c 100644 --- a/qlsv_be/controllers/users/thongtinsv.controller.js +++ b/qlsv_be/controllers/users/thongtinsv.controller.js @@ -1,10 +1,12 @@ +const thongSinhVien = require('../../models/student.model'); -module.exports.dashboard = (req, res) => { +module.exports.dashboard = async (req, res) => { try { - // Thực hiện các thao tác thành công ở đây - res.send("Xin chào! Đây là dòng tin nhắn thành công của tôi."); + const thongtinsinhvien = await thongSinhVien.find(); + console.log(thongtinsinhvien); + res.json(thongtinsinhvien); // send response to client } catch (error) { - // Xử lý lỗi khi có lỗi xảy ra - res.send("Xin lỗi! Đây là dòng tin nhắn thất bại của tôi."); + console.error(error); + res.status(500).send('Server error'); // send error response to client } -}; +}; \ No newline at end of file diff --git a/qlsv_be/controllers/users/tkb.controller.js b/qlsv_be/controllers/users/tkb.controller.js new file mode 100644 index 0000000..a7f2b00 --- /dev/null +++ b/qlsv_be/controllers/users/tkb.controller.js @@ -0,0 +1,9 @@ +module.exports.dashboard = (req, res) => { + try { + // Thực hiện các thao tác thành công ở đây + res.send("Xin chào! Đây là dòng tin nhắn thành công của tkb."); + } catch (error) { + // Xử lý lỗi khi có lỗi xảy ra + res.send("Xin lỗi! Đây là dòng tin nhắn thất bại của tkb."); + } +}; diff --git a/qlsv_be/models/course.model.js b/qlsv_be/models/course.model.js index 4721e0d..319a69f 100644 --- a/qlsv_be/models/course.model.js +++ b/qlsv_be/models/course.model.js @@ -1,7 +1,8 @@ const mongoose = require('mongoose'); const courseSchema = new mongoose.Schema({ - courseCode: { type: String, required: true }, + semester: { type: String, required: true }, + courseCode: { type: String, required: true}, scheduleDay: { type: String, required: true }, scheduleTime: { type: String, required: true }, classroom: { type: String, required: true }, diff --git a/qlsv_be/models/student.model.js b/qlsv_be/models/student.model.js index 7eab768..34b1f3a 100644 --- a/qlsv_be/models/student.model.js +++ b/qlsv_be/models/student.model.js @@ -1,30 +1,48 @@ const mongoose = require('mongoose'); const studentSchema = new mongoose.Schema({ - name: String, + name: String, email: String, - password: String, - role: { - type: String, - default: 'user' + password: { + type: String, + default: '123456' }, - deleted: Boolean, - studentProfile: { - hoVaTenLot: String, - ten: String, + mssv: { + type: String, + require: true, + unique: true + }, + private_info:{ ngaySinh: Date, - gioiTinh: String, + gioiTinh: { type: String, enum: ['Nam', 'Nu'] }, + soCCCD: String, + ngayCapCCCD: Date, + noiCapCCCD: String, khoa: String, - maLop: String, + maLop: { type: String, ref: 'Lop' }, diaChi: String, soDienThoai: String, emailTruongCap: String, + emailLienLac: String, + }, + // Training information + training_info:{ namNhapHoc: String, + giaHanHocKy: String, + soHocKyDaoTao: Number, + soHocKyDaoTaoToiDa: Number, thoiGianDaoTao: String, + thoiGianDaoTaoToiDa: String, namHoc: String, - nganhDaoTao: String + capHoc: String, + heDaoTao: String, + nganhDaoTao: String, + trangThaiSinhVien: String, + }}, + { + timestamps: true // Enable createdAt and updatedAt fields } -}); +); const studentModel = mongoose.model('student', studentSchema); module.exports = studentModel; diff --git a/qlsv_be/models/teacher.model.js b/qlsv_be/models/teacher.model.js index 3201ee1..7d84989 100644 --- a/qlsv_be/models/teacher.model.js +++ b/qlsv_be/models/teacher.model.js @@ -3,26 +3,28 @@ const mongoose = require('mongoose'); const teacherSchema = new mongoose.Schema({ name: String, email: String, - password: String, - role: { + password: { type: String, - default: 'user' + default: '123456' }, - deleted: Boolean, - teacherProfile: { - hoVaTenLot: String, - ten: String, - ngaySinh: Date, + msgv: { + type: String, + require: true, + unique: true + }, + private_info: { + ngaySinh: Date, gioiTinh: String, - khoa: String, - maLop: String, - diaChi: String, - soDienThoai: String, - emailTruongCap: String, - namNhapHoc: String, - thoiGianDaoTao: String, - namHoc: String, - nganhDaoTao: String + soCCCD: Number, + ngaycapCCCD: Date, + noicapCCCD: String, + bangcap: String, + }, + contact_info: { + diachi: String, + sodienthoai: Number, + emailtruongcap: String, + emaillienlac: String } }); diff --git a/qlsv_be/routes/admin/control_panel.route.js b/qlsv_be/routes/admin/control_panel.route.js index a100a1c..9f60e2f 100644 --- a/qlsv_be/routes/admin/control_panel.route.js +++ b/qlsv_be/routes/admin/control_panel.route.js @@ -1,5 +1,5 @@ const express = require('express'); -const controlPanelController = require('./control_panel.controller'); +const controlPanelController = require('../../controllers/admin/control_panel.controller'); const router = express.Router(); @@ -10,9 +10,9 @@ router.get('/courses', controlPanelController.getCourses); router.post('/courses', controlPanelController.addCourse); // Update an existing course -router.put('/courses/:id', controlPanelController.updateCourse); +router.put('/courses/:courseCode', controlPanelController.updateCourse); // Delete a course -router.delete('/courses/:id', controlPanelController.deleteCourse); +router.delete('/courses/:courseCode', controlPanelController.deleteCourse); module.exports = router; diff --git a/qlsv_be/routes/admin/dashboard.route.js b/qlsv_be/routes/admin/dashboard.route.js index 3109194..f409744 100644 --- a/qlsv_be/routes/admin/dashboard.route.js +++ b/qlsv_be/routes/admin/dashboard.route.js @@ -3,7 +3,7 @@ const express = require('express'); const router = express.Router(); const studentRoute = require('./student.route'); const teacherRoute = require('./teacher.route'); -//const control_panelRoute = require('./control_panel.route'); +const control_panelRoute = require('./control_panel.route'); // Import routes // Dashboard route @@ -12,6 +12,6 @@ router.get('/', (req, res) => { }); router.use('/student', studentRoute); router.use('/teacher', teacherRoute); -//router.use('/control_panel', control_panelRoute); +router.use('/controlpanel', control_panelRoute); module.exports = router; \ No newline at end of file diff --git a/qlsv_be/routes/admin/student.route.js b/qlsv_be/routes/admin/student.route.js index e5fa912..36696c9 100644 --- a/qlsv_be/routes/admin/student.route.js +++ b/qlsv_be/routes/admin/student.route.js @@ -5,5 +5,10 @@ const router = express.Router(); const studentController = require('../../controllers/admin/student.controller'); -router.use('/', studentController.getAllStudents); +router.get('/', studentController.getAllStudents); +router.post('/add', studentController.addStudent); +router.put('/:mssv', studentController.updateStudent); +router.delete('/:mssv', studentController.deleteStudent); +router.get('/:mssv', studentController.findStudentByMssv); + module.exports = router; \ No newline at end of file diff --git a/qlsv_be/routes/admin/teacher.route.js b/qlsv_be/routes/admin/teacher.route.js index f20dbcd..8b8e532 100644 --- a/qlsv_be/routes/admin/teacher.route.js +++ b/qlsv_be/routes/admin/teacher.route.js @@ -4,5 +4,9 @@ const router = express.Router(); const teacherController = require('../../controllers/admin/teacher.controller'); -router.use('/', teacherController.getAllTeachers); +router.get('/', teacherController.getAllTeachers); +router.post('/add', teacherController.addTeacher); +router.put('/:msgv', teacherController.updateTeacher); +router.delete('/:msgv', teacherController.deleteTeacher); + module.exports = router; \ No newline at end of file diff --git a/qlsv_be/routes/users/index.route.js b/qlsv_be/routes/users/index.route.js index 93e47c7..2c533d3 100644 --- a/qlsv_be/routes/users/index.route.js +++ b/qlsv_be/routes/users/index.route.js @@ -3,6 +3,6 @@ const studentRoute = require('./student.route'); module.exports = (app) => { - app.use('/teacher',teacherRoute); app.use('/student',studentRoute); + app.use('/teacher',teacherRoute); } \ No newline at end of file diff --git a/qlsv_be/routes/users/studentdashboard.route.js b/qlsv_be/routes/users/studentdashboard.route.js index 99ae18c..ba6ff33 100644 --- a/qlsv_be/routes/users/studentdashboard.route.js +++ b/qlsv_be/routes/users/studentdashboard.route.js @@ -4,7 +4,14 @@ const router = express.Router(); const thongtinSinhVien = require('../../controllers/users/thongtinsv.controller'); const thongtinDaoTao = require('../../controllers/users/thongtindt.controller'); +const tkb = require('../../controllers/users/tkb.controller'); +const bangdiem = require('../../controllers/users/bangdiem.controller'); +const lichthi = require('../../controllers/users/lichthi.controller'); router.use('/thongtinsinhvien',thongtinSinhVien.dashboard); router.use('/thongtindaotao',thongtinDaoTao.dashboard); +router.use('/tkb',tkb.dashboard); +router.get('/lichthi',lichthi.getAllLichThi); +router.get('/lichthi/:courseCode',lichthi.getLichThi); +router.use('/bangdiem',bangdiem.dashboard); module.exports = router; \ No newline at end of file diff --git a/qlsv_be/routes/users/teacher.route.js b/qlsv_be/routes/users/teacher.route.js index 0592e13..c5e0b26 100644 --- a/qlsv_be/routes/users/teacher.route.js +++ b/qlsv_be/routes/users/teacher.route.js @@ -1,7 +1,7 @@ const express = require('express'); const router = express.Router(); - const teacherController = require('../../controllers/users/teacher.controller'); +const teacherDashboard = require('./teacherdashboard.route'); const { body } = require('express-validator'); const verifyUser = require('../../middlewares/verify.user'); @@ -18,4 +18,7 @@ router.post('/login', [ body('password').notEmpty().withMessage('Password is required'), ], teacherController.login); +router.use('/dashboard', teacherDashboard); + + module.exports = router; \ No newline at end of file diff --git a/qlsv_be/routes/users/teacherdashboard.route.js b/qlsv_be/routes/users/teacherdashboard.route.js new file mode 100644 index 0000000..ecaa31a --- /dev/null +++ b/qlsv_be/routes/users/teacherdashboard.route.js @@ -0,0 +1,8 @@ +const express = require('express'); +const router = express.Router(); +const thongtinGiangVien = require('../../controllers/users/thongtingv.controller'); +const bangdieukhien = require('../../controllers/users/bangdieukhien.controller'); + +router.use('/thongtingiangvien',thongtinGiangVien.dashboard); +router.use('/bangdieukhien',bangdieukhien.dashboard); +module.exports = router; \ No newline at end of file