ticketfee.controller.js 1.93 KB
Newer Older
Kim, Subin's avatar
Kim, Subin committed
1
2
3
4
import { TicketFee } from "../db/index.js";

const getAll = async (req, res) => {
    try {
Kim, Subin's avatar
Kim, Subin committed
5
6
        const findAll = await TicketFee.findAll({ attributes: { exclude: ['createdAt', 'updatedAt'] } })
        return res.json(findAll)
Kim, Subin's avatar
Kim, Subin committed
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
    } catch (error) {
        return res.status(500).send(error.message || "관람료 정보 가져오는 중 에러 발생")
    }
}

const getOne = async (req, res) => {
    try {
        const { theaterType } = req.params
        const find = await TicketFee.findOne({ where: { theaterType: theaterType }, attributes: { exclude: ['createdAt', 'updatedAt'] } })
        if (!find) throw new Error("해당 정보를 찾지 못했습니다.");
        return res.json(find)
    } catch (error) {
        return res.status(500).send(error.message || "관람료 정보 가져오는 중 에러 발생")
    }
}

const edit = async (req, res) => {
    try {
        const { theaterType } = req.body
        let response = null
        const result = await TicketFee.findOrCreate({
            where: { theaterType: theaterType },
            defaults: { ...req.body }
        })
        if (!result[1]) {
            const updateData = await TicketFee.update({ ...req.body }, { where: { theaterType: theaterType } })
            response = updateData
        } else response = result[0]
        return res.json(response)
    } catch (error) {
        return res.status(500).send(error.message || "관람료 정보 수정 중 에러 발생")
    }
}

const remove = async (req, res) => {
    try {
        const { theaterType } = req.query
Kim, Subin's avatar
Kim, Subin committed
44
45
46
        const delNum = await TicketFee.destroy({ where: { theaterType: theaterType } })
        if (delNum) res.json(delNum)
        else throw new Error("해당 정보를 서버에서 삭제하는데 실패했습니다.");
Kim, Subin's avatar
Kim, Subin committed
47
48
49
50
51
52
53
54
55
56
57
    } catch (error) {
        return res.status(500).send(error.message || "관람료 정보 삭제 중 에러 발생")
    }
}

export default {
    getAll,
    getOne,
    edit,
    remove
}