-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathapp.js
96 lines (84 loc) · 3.63 KB
/
app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
const express = require('express');
const bodyParser = require('body-parser');
const cors = require('cors');
const verifyToken = require('./middlewares/authMiddleware');
const fileUpload = require('express-fileupload');
const app = express();
app.use(express.json());
app.use(cors());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.text({ type: 'application/xml' }));
app.use(fileUpload());
app.use('/uploads', express.static('uploads'));
// Create tables if they do not exist
const { createSuperUserTable } = require('./models/superUserModel');
const { createXmlDataDeptTable } = require('./models/DeptModel');
const { createXmlDataTeacherTable } = require('./models/teacherModel');
const { createChairmanToDepartmentTable } = require('./models/departmentChairmanModel');
const { createXmlDataStaffTable } = require('./models/staffModel');
const { createXmlDataRoomTable } = require('./models/roomModel');
const { createXmlDataSessionTable } = require('./models/sessionModel');
const { createXmlDataStudentTable } = require('./models/studentModel');
const { createXmlDataExamYearTable } = require('./models/examYearModel');
const { createCourseTable, createPrerequisiteCourseTable, createCourseChapterTable, createCourseObjectiveTable, createStudentLearningOutcomesTable, createRecommendedBookTable } = require('./models/syllabusModel');
const { createScheduleTable} = require('./models/RoutineModel');
const { createHolidayTable} = require('./models/holidaysModel');
createSuperUserTable();
createXmlDataDeptTable();
createXmlDataTeacherTable();
createChairmanToDepartmentTable();
createXmlDataStaffTable();
createXmlDataRoomTable();
createXmlDataSessionTable();
createXmlDataStudentTable();
createXmlDataExamYearTable();
createCourseTable();
createPrerequisiteCourseTable();
createCourseChapterTable();
createCourseObjectiveTable();
createStudentLearningOutcomesTable();
createRecommendedBookTable();
createScheduleTable();
createHolidayTable();
// Routes
const superUserRoutes = require('./routes/superUserRoutes');
const DeptRoutes = require('./routes/DeptRoutes');
const teacherRoutes = require('./routes/teacherRoutes');
const staffRoutes = require('./routes/staffRoutes');
const roomRoutes = require('./routes/roomRoutes');
const departmentChairmanRoutes = require('./routes/departmentChairmanRoutes');
const sessionRoutes = require('./routes/sessionRoutes');
const studentRoutes = require('./routes/studentRoutes');
const examYearRoutes = require('./routes/examYearRoutes');
const authRoutes = require('./routes/authRoute');
const syllabusRoute = require('./routes/syllabusRoutes');
const syllabusRouteTest = require('./routes/syllabusTest');
const syllabusFilterRoute = require('./routes/syllabusFilterRoutes');
const dataFetch=require('./routes/DataFetch');
const routineGenerator=require('./routes/routineGeneratorRoutes');
const teacherImageUpload = require('./controllers/teacherImageUpload');
app.use('/api/auth', authRoutes);
app.use('/api', superUserRoutes);
app.use('/api', DeptRoutes);
app.use('/api', teacherRoutes);
app.use('/api', staffRoutes);
app.use('/api', roomRoutes);
app.use('/api', departmentChairmanRoutes);
app.use('/api', sessionRoutes);
app.use('/api', studentRoutes);
app.use('/api', examYearRoutes);
app.use('/api', syllabusRoute);
app.use('/api', syllabusRouteTest);
app.use('/api', syllabusFilterRoute);
app.use('/api', dataFetch);
app.use('/api', routineGenerator);
app.use('/', teacherImageUpload);
// Protected routes
// app.get('/api/protected', verifyToken, (req, res) => {
// res.json({
// message: 'This is a protected route',
// authData: req.authData
// });
// });
module.exports = app;