order.controller.js 1.63 KB
Newer Older
Jiwon Yoon's avatar
Jiwon Yoon committed
1
import Order from "../schemas/Order.js";
2
import User from "../schemas/User.js";
Jiwon Yoon's avatar
Jiwon Yoon committed
3
4
5
6
7
8
9
10
11
12
13
14
15
16

const addorder = async (req, res) => {
    const { userId, products, receiverInfo, total } = req.body
    try {
        const newOrder = await new Order({
            userId, products, receiverInfo, total
        }).save()
        res.status(200).send('Order DB에 저장 완료')
    } catch (error) {
        console.log(error)
        res.status(500).send('Order DB에 저장 실패')
    }
}

17
18
19
20
21
22
23
24
25
26
27
const Ordered = async (req, res) => {
    const { db } = req.body
    try {
        const ordered = await req.body.findOne({}, { _id: 0}).select(`${db}`)
        console.log("sub= ",ordered);
        res.json(ordered);
    } catch (error) {
        res.status(500).send('카테고리를 불러오지 못했습니다.')
    }
}

Jiwon Yoon's avatar
Jiwon Yoon committed
28
29
const showorder = async (req, res) => {
    try {
30
        const order = await Order.find({ userId: req.userId }).sort({_id:-1}).limit(1).populate({
Jiwon Yoon's avatar
Jiwon Yoon committed
31
32
33
            path: 'products.productId',
            model: 'Product'
        })
34
35
        console.log(order)
        res.status(200).json(order[0])
Jiwon Yoon's avatar
Jiwon Yoon committed
36
37
38
39
40
41
42
    } catch (error) {
        console.log(error)
        res.status(500).send('쇼핑카트를 불러오지 못했습니다.')
    }
}


43
44
45
46
47
48
49
50
51
52
53
54
55
const orderById = async (req, res, next, id) => {
    try {
        const user = await User.findById(id)
        if (!user) {
            res.status(404).send('사용자를 찾을 수 없습니다')
        }
        req.userId = user
        next()
    } catch (error) {
        console.log(error);
        res.status(500).send('사용자 아이디 검색 실패')
    }
}
Jiwon Yoon's avatar
Jiwon Yoon committed
56
57
58



이재연's avatar
병합    
이재연 committed
59
export default { addorder, showorder, Ordered, orderById}