@@ -36,27 +36,30 @@ exports.post = async (req, res) => {
3636
3737 const produtos = req . body . produtos
3838 for ( let index = 0 ; index < produtos . length ; index ++ ) {
39+ produtos [ index ] . quantidade = parseInt ( produtos [ index ] . quantidade )
3940 const { idproduto, quantidade } = produtos [ index ]
4041 if ( ! await produtosService . existeProduto ( { _id : idproduto } ) ) {
4142 return res . status ( 400 ) . send ( { message : constant . IDPRODUTO_INVALIDO , item : { index, idproduto, quantidade } } )
4243 }
4344
44- const { quantidade : quantidadeEmEstoque , preco } = await produtosService . getDadosDoProduto ( { _id : idproduto } )
45- if ( quantidade > quantidadeEmEstoque ) {
46- return res . status ( 400 ) . send ( { message : constant . ESTOQUE_INSUFICIENTE , item : { index, idproduto, quantidade, quantidadeEmEstoque } } )
45+ const { quantidade : quantidadeestoque , preco } = await produtosService . getDadosDoProduto ( { _id : idproduto } )
46+ if ( quantidade > quantidadeestoque ) {
47+ return res . status ( 400 ) . send ( { message : constant . ESTOQUE_INSUFICIENTE , item : { index, idproduto, quantidade, quantidadeestoque } } )
4748 }
4849 Object . assign ( produtos [ index ] , { precounitario : preco } )
4950 }
5051 let precototal = 0
52+ let quantidadetotal = 0
5153 for ( let index = 0 ; index < produtos . length ; index ++ ) {
5254 const { idproduto, quantidade } = produtos [ index ]
5355 const { quantidade : quantidadeEmEstoque , preco } = await produtosService . getDadosDoProduto ( { _id : idproduto } )
5456 const novaQuantidade = quantidadeEmEstoque - quantidade
5557 await produtosService . updateById ( idproduto , { $set : { quantidade : novaQuantidade } } )
5658 precototal += preco * quantidade
59+ quantidadetotal += quantidade
5760 }
5861
59- Object . assign ( req . body , { precototal, idusuario : _id } )
62+ Object . assign ( req . body , { precototal, quantidadetotal , idusuario : _id } )
6063
6164 const dadosCadastrados = await service . criarCarrinho ( req . body )
6265 res . status ( 201 ) . send ( { message : constant . POST_SUCESS , _id : dadosCadastrados . _id } )
@@ -65,7 +68,10 @@ exports.post = async (req, res) => {
6568 }
6669}
6770
68- // user tem que ser dono do carrinho
71+ /*
72+ user tem que ser dono do carrinho ou adm
73+ somar estoque do produto
74+ */
6975
7076// exports.delete = async (req, res) => {
7177// try {
0 commit comments