Skip to content

Commit a756731

Browse files
committed
refactor: move all produtosService calls to carrinhosService
1 parent 2837023 commit a756731

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

src/controllers/carrinhos-controller.js

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
'use strict'
22

33
const constant = require('../utils/constants')
4-
const produtosService = require('../services/produtos-service')
54
const service = require('../services/carrinhos-service')
65

76
exports.get = async (req, res) => {
@@ -49,13 +48,9 @@ exports.cancelarCompra = async (req, res) => {
4948
const usuarioTemCarrinho = isNotUndefined(carrinhoDoUsuario[0])
5049

5150
if (usuarioTemCarrinho) {
52-
const produtos = carrinhoDoUsuario[0].produtos
51+
const { produtos } = carrinhoDoUsuario[0]
5352

54-
produtos.forEach(async (produto) => {
55-
const { idProduto, quantidade } = produto
56-
const { quantidade: quantidadeEmEstoque } = await produtosService.getDadosDoProduto({ _id: idProduto })
57-
await produtosService.updateById(idProduto, { $set: { quantidade: quantidadeEmEstoque + quantidade } })
58-
})
53+
service.reabasteceEstoque(produtos)
5954

6055
await service.deleteById(carrinhoDoUsuario[0]._id)
6156
return res.status(200).send({ message: `${constant.DELETE_SUCCESS}. ${constant.REPLENISHED_STOCK}` })

src/services/carrinhos-service.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,14 @@ exports.quantidadeTotal = async (produtos) => {
8282
}, Promise.resolve(0))
8383
}
8484

85+
exports.reabasteceEstoque = produtos => {
86+
produtos.forEach(async (produto) => {
87+
const { idProduto, quantidade } = produto
88+
const { quantidade: quantidadeEmEstoque } = await produtosService.getDadosDoProduto({ _id: idProduto })
89+
await produtosService.updateById(idProduto, { $set: { quantidade: quantidadeEmEstoque + quantidade } })
90+
})
91+
}
92+
8593
const idUsuario = async (authorization) => {
8694
const { email, password } = authService.verifyToken(authorization)
8795
const { _id } = await usuariosService.getDadosDoUsuario({ email, password })

0 commit comments

Comments
 (0)