-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgetapplicants.js
43 lines (38 loc) · 1.14 KB
/
getapplicants.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
const express = require('express');
const router = express.Router();
const db = require('./db.js');
router.get('/:postId', (req, res) => {
const post_id = req.params.postId;
const query = `
SELECT
a.applicant_id,
a.status,
u.nickname,
u.user_image,
LEFT(u.student_id, 2) AS student_id,
m1.major_name AS major1,
m2.major_name AS major2,
m3.major_name AS major3
FROM
applications a
JOIN
users u ON a.applicant_id = u.user_id
LEFT JOIN
majors m1 ON u.major1 = m1.major_id
LEFT JOIN
majors m2 ON u.major2 = m2.major_id
LEFT JOIN
majors m3 ON u.major3 = m3.major_id
WHERE
a.post_id = ?;
`;
db.query(query, [post_id], (err, results) => {
if (err) {
console.error('Error fetching applicants information: ' + err.stack);
res.status(500).json({ error: 'Internal server error' });
return;
}
res.status(200).json({ data: results });
});
});
module.exports = router;