reserves.js 2.64 KB
Newer Older
1
const express = require('express');
2
const User = require('../schemas/user');
3
4
5
6
7
8
9
10
11
const Reserve = require('../schemas/reserve');
const { verifyToken } = require('./middlewares');

const router = express.Router();

router.post('/', function (req, res, next) {
    console.log('/reserve post req.body', req.body)

    const reserve = new Reserve({
12
        user: req.body._id,
13
14
15
16
17
        date: req.body.date,
        time: req.body.time,
        room: req.body.room,
        name: req.body.name,
        reason: req.body.reason,
CHAERIN KIM's avatar
CHAERIN KIM committed
18
        students: req.body.students,
19
        approve: req.body.approve,
CHAERIN KIM's avatar
CHAERIN KIM committed
20
        num: req.body.students.length + 1,
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
    });

    reserve.save()
        .then((result) => {
            console.log(result);
            res.status(201).json(result);
        })
        .catch((err) => {
            console.error(err);
            next(err);
        });
});

// router.get('/:_id', verifyToken, function (req, res, next) {
router.get('/:_id', function (req, res, next) {
    console.log('/reserves get req.params', req.params)
37
    Reserve.find({ user: req.params._id }, function (err, reserve) {
38
        if (err) return res.status(500).json({ error: err });
39
        console.log('reserve list', reserve)
40
41
42
43
44
        res.status(201).json(reserve);

    })
});

45
46
47
48
49
50
51
52
53
54
router.get('/admin/:_id', function (req, res, next) {
    console.log('/reserves get req.params', req.params)
    
    Reserve.find({ approve: false }).populate('user').exec(function (err, reserve) {
        if (err) return res.status(500).json({ error: err });
        console.log('reserve list', reserve)
        res.status(201).json(reserve);
    })
});

55
56
57
58
router.delete('/:_id', function (req, res, next) {
    console.log('/reserves delete req.params', req.params)
    Reserve.findOne({ _id: req.params._id }, function (err, reserve) {
        if (err) return res.status(500).json({ error: err });
59

60
61
62
63
64
65
66
67
68
69
70
71
        reserve.remove()
            .then(() => {
                console.log();
                res.status(201).json();
            })
            .catch((err) => {
                console.error(err);
                next(err);
            });
    })
});

72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
router.put('/:id', function (req, res, next) {
    console.log('/reserves put req.body', req.params)
    User.findOne({ _id: req.params.id }, 'password', function (err, reserve) {
        if (err) return res.status(500).json({ error: err });
        reserve.approve = true;
        reserve.save()
            .then((result) => {
                console.log(result);
                res.status(201).json(result);
            })
            .catch((err) => {
                console.error(err);
                next(err);
            });
    });
});

89
module.exports = router;