=====роут (подготовка)=====
**Роут корзины routes/card.js**
const {Router} = require('express');//или const express.Router = require('express'); - модуль express
const Card = require('../models/card');
const Course = require('../models/course');
const router = Router();
/**
* Добавить в корзину
* первый параметр адрес страницы, в данном случае используется префикс при регистрации ройтера,
* второй параметр callback - обработчик запроса req - request , запрос от браузера
* res - response, ответ сервера
*/
router.post('/add', async (req, res) => {
const course = await Course.getById(req.body.id);
await Card.add(course);//метод добавления в корзину
res.redirect('/card');//редирект н страничку корзины
});
/**
* Страница card, вывод корзины
* первый параметр адрес страницы, в данном случае используется префикс при регистрации ройтера,
* второй параметр callback - обработчик запроса req - request , запрос от браузера
*/
router.get('/', async (req, res) => {
const card = await Card.fetch();//
//console.log(card);
res.render('card', {
title: "Корзина",//прокидываем параметры в шаблон
courses: card.courses,
price: card.price,
isCard: true
})//рендерим используя шаблонизатор
});
/**
* Удалить позицию в заказе
* первый параметр адрес страницы, в данном случае используется префикс при регистрации ройтера,
* с динамическим параметром id
* второй параметр callback - обработчик запроса req - request , запрос от браузера
*/
router.delete('/remove/:id', async (req, res)=>{
const card = await Card.remove(req.params.id);//Обращаемся к модели и удаляем позицию
res.status(200).json(card)//возвращаем статус 200 и json строку
});
module.exports = router;//Экспортирум роутер
**Модель корзины - models/card.js**
class Card {
add(){
}
fetch(){
}
}
module.export = Card;
Корзина