@KirillSviblovo71

Не добавляется товар в корзину, в чем может быть проблема?

При добавление товара в корзину с бэка приходит ответ о создании корзины с пустым массивов
Код в basketController
async append(req, res, next) {
try {
let basketId
if (!req.signedCookies.basketId) {
let created = await BasketModel.create({ userId: req.user.id }) // связываем корзину с пользователем
basketId = created.id

}
else {
basketId = parseInt(req.signedCookies.basketId)
}

const {productId, quantity} = req.params
const basket = await BasketModel.append(basketId, productId, quantity)
res.cookie('basketId', basket.id, {maxAge, signed})
res.json(basket)
} catch(e) {
next(AppError.badRequest(e.message))
}

}
Код в basketModelasync append(basketId, productId, quantity, userId) {
let basket = await BasketMapping.findByPk(basketId, {
attributes: ['id'],
include: [
{model: ProductMapping, attributes: ['id', 'name', 'price']},
]
})

if (!basket) {
basket = await BasketMapping.create({userId: userId})
}
// проверяем, есть ли уже этот товар в корзине
const basket_product = await BasketProductMapping.findOne({
where: {basketId, productId}
})

if (basket_product) { // есть в корзине
await basket_product.increment('quantity', {by: quantity})
} else { // нет в корзине
await BasketProductMapping.create({basketId, productId, quantity})
}

// обновим объект корзины, чтобы вернуть свежие данные
await basket.reload()
return pretty(basket)
}

Я новичок в этом, хочется понять в чем ошибка
  • Вопрос задан
  • 68 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы