| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- const express = require('express')
- const { sequelize } = require('./models')
- const { QueryTypes } = require('sequelize')
- const app = express()
- const port = 3000
- app.use(express.json())
- app.get('/api/menu-item', async (req, res) => {
- try {
- res.json(await sequelize.query(`
- SELECT *
- FROM MenuItem
- `, {
- logging: false,
- type: QueryTypes.SELECT
- }))
- } catch (error) {
- console.error(error)
- } finally {
- res.end()
- }
- })
- app.post('/api/cart', async (req, res) => {
- try {
- await sequelize.query(`
- INSERT INTO Cart (menuItemId, quantity)
- VALUES (:menuItemId, :quantity)
- `,{
- logging: false,
- type: QueryTypes.INSERT,
- replacements: {
- menuItemId: req.body.menuItemId,
- quantity: req.body.quantity
- }
- })
- } catch (error) {
- console.warn('ошибка при добавлении блюда в корзину:', error.message)
- res.status(500).send(error.message)
- } finally {
- res.end()
- }
- })
- app.patch('/api/cart/:id', async (req, res) => {
- try {
- await sequelize.query(`
- UPDATE Cart
- SET quantity=:quantity
- WHERE id=:id
- `,{
- logging: false,
- replacements: {
- id: req.params.id,
- quantity: req.body.quantity
- }
- })
- } catch (error) {
- console.warn('ошибка при редактировании корзины:', error.message)
- res.status(500).send(error.message)
- } finally {
- res.end()
- }
- })
- app.delete('/api/cart/:id', async (req, res) => {
- try {
- await sequelize.query(`
- DELETE
- FROM Cart
- WHERE id=:id
- `,{
- logging: false,
- replacements: {
- id: req.params.id
- }
- })
- } catch (error) {
- console.warn('ошибка при удалении блюда из корзины:', error.message)
- res.status(500).send(error.message)
- } finally {
- res.end()
- }
- })
- app.listen(port, () => {
- console.log(`Example app listening on port ${port}`)
- })
|