Skip to content

Commit 6d31c82

Browse files
committed
set new format for mysql request
1 parent f8e1e8c commit 6d31c82

File tree

5 files changed

+293
-313
lines changed

5 files changed

+293
-313
lines changed

controllers/pedidos-controller.js

+106-119
Original file line numberDiff line numberDiff line change
@@ -1,134 +1,121 @@
1-
const mysql = require('../mysql').pool;
1+
const mysql = require('../mysql');
22

3-
exports.getpedidos = (req, res, next) => {
4-
mysql.getConnection((error, conn) => {
5-
if(error){ return res.status(500).send({error: error})}
6-
conn.query(
7-
`SELECT pedidos.id_pedido,
8-
pedidos.quantidade,
9-
produtos.id_produto,
10-
produtos.nome_produto,
11-
produtos.preco_produto
12-
FROM pedidos
13-
INNER JOIN produtos
14-
ON produtos.id_produto = pedidos.id_produto;`,
15-
(error, result, fields) => {
16-
if(error){ return res.status(500).send({error: error})}
17-
const response = {
18-
pedidos: result.map(pedido => {
19-
return {
20-
id_pedido: pedido.id_pedido,
21-
quantidade: pedido.quantidade,
22-
produto:{
23-
id_produtos: pedido.id_produtos,
24-
nome_produto: pedido.nome_produto,
25-
preco_produto: pedido.preco_produto
26-
},
27-
request: {
28-
tipo: 'GET',
29-
descicao: 'Retorna os detalhes de um pedido especifico',
30-
url: process.env.URL_API + '/pedidos/' + pedido.id_pedido
31-
}
32-
}
33-
})
3+
exports.getpedidos = async (req, res, next) => {
4+
try {
5+
const query = `SELECT pedidos.id_pedido,
6+
pedidos.quantidade,
7+
produtos.id_produto,
8+
produtos.nome_produto,
9+
produtos.preco_produto
10+
FROM pedidos
11+
INNER JOIN produtos
12+
ON produtos.id_produto = pedidos.id_produto;`
13+
const result = await mysql.execute(query);
14+
const response = {
15+
pedidos: result.map(pedido => {
16+
return {
17+
id_pedido: pedido.id_pedido,
18+
quantidade: pedido.quantidade,
19+
produto:{
20+
id_produtos: pedido.id_produtos,
21+
nome_produto: pedido.nome_produto,
22+
preco_produto: pedido.preco_produto
23+
},
24+
request: {
25+
tipo: 'GET',
26+
descicao: 'Retorna os detalhes de um pedido especifico',
27+
url: process.env.URL_API + 'pedidos/' + pedido.id_pedido
3428
}
35-
return res.status(200).send({ response })
3629
}
37-
)
38-
});
30+
})
31+
}
32+
return res.status(200).send({ response })
33+
} catch (error) {
34+
return res.status(500).send({error: error})
35+
}
3936
};
4037

41-
exports.postPedidos = (req, res, next ) => {
42-
mysql.getConnection((error, conn) => {
43-
if (error) { return res.status(500).send({ error: error})}
44-
conn.query('SELECT * FROM produtos WHERE id_produto = ?',
45-
[req.body.id_produto],
46-
(error, result, field) => {
47-
if(error){ return res.status(500).send({error: error})}
48-
if(result.length == 0){
49-
return res.status(404).send({
50-
mensagem: 'Produto não encontrado!!'
51-
})
52-
}
53-
conn.query(
54-
'INSERT INTO pedidos(id_produto, quantidade) VALUES (?,?)',
55-
[req.body.id_produto, req.body.quantidade],
56-
(error, result, field) => {
57-
conn.release();
58-
if(error){ return res.status(500).send({error: error})}
59-
const response = {
60-
mensagem: 'Pedido inserido com sucesso!!',
61-
pedidoCriado: {
62-
id_pedido: result.id_pedido,
63-
id_produto: req.body.id_produto,
64-
quantidade: req.body.quantidade,
65-
request: {
66-
tipo: 'GET',
67-
descicao: 'Retorna todos os pedidos',
68-
url: process.env.URL_API + '/pedidos'
69-
}
70-
}
71-
}
72-
return res.status(201).send(response);
38+
exports.postPedidos = async (req, res, next ) => {
39+
40+
try {
41+
const queryProduto = 'SELECT * FROM produtos WHERE id_produto = ?';
42+
const resultProduto = await mysql.execute(queryProduto, [req.body.id_produto]);
43+
if(resultProduto.length == 0){
44+
return res.status(404).send({ mensagem: 'Produto não encontrado!!' })
45+
}
46+
47+
const queryPedido = 'INSERT INTO pedidos(id_produto, quantidade) VALUES (?,?)';
48+
const resultPedidos = await mysql.execute(queryPedido, [req.body.id_produto, req.body.quantidade]);
49+
const response = {
50+
mensagem: 'Pedido inserido com sucesso!!',
51+
pedidoCriado: {
52+
id_pedido: resultPedidos.id_pedido,
53+
id_produto: req.body.id_produto,
54+
quantidade: req.body.quantidade,
55+
request: {
56+
tipo: 'GET',
57+
descicao: 'Retorna todos os pedidos',
58+
url: process.env.URL_API + '/pedidos'
59+
}
7360
}
74-
)
75-
});
76-
});
61+
}
62+
return res.status(201).send(response);
63+
64+
} catch (error) {
65+
return res.status(500).send({error: error})
66+
}
7767
};
7868

79-
exports.getUmPedido = (req, res, next) => {
80-
mysql.getConnection((error, conn) => {
81-
if(error){ return res.status(500).send({error: error})}
82-
conn.query(
83-
'SELECT * FROM pedidos WHERE id_pedido = ?;',
84-
[req.params.id_pedido],
85-
(error, result, fields) => {
86-
if(error){ return res.status(500).send({error: error})}
87-
if(result.length == 0){
88-
return res.status(404).send({
89-
mensagem: 'Não foi encontrado pedido com esse ID'
90-
})
91-
}
92-
const response = {
93-
produto: {
94-
id_pedido: result[0].id_pedido,
95-
id_produto: result[0].id_produto,
96-
quantidade: result[0].quantidade,
97-
request: {
98-
tipo: 'GET',
99-
descicao: 'Retorna todos os pedidos',
100-
url: process.env.URL_API + '/pedidos'
101-
}
102-
}
69+
exports.getUmPedido = async (req, res, next) => {
70+
71+
try {
72+
const query = 'SELECT * FROM pedidos WHERE id_pedido = ?;';
73+
const result = await mysql.execute(query, [req.params.id_pedido]);
74+
75+
if(result.length == 0){
76+
return res.status(404).send({ mensagem: 'Não foi encontrado pedido com esse ID' })
77+
}
78+
79+
const response = {
80+
produto: {
81+
id_pedido: result[0].id_pedido,
82+
id_produto: result[0].id_produto,
83+
quantidade: result[0].quantidade,
84+
request: {
85+
tipo: 'GET',
86+
descicao: 'Retorna todos os pedidos',
87+
url: process.env.URL_API + '/pedidos'
10388
}
104-
return res.status(201).send(response);
10589
}
106-
)
107-
});
90+
}
91+
return res.status(201).send(response);
92+
93+
} catch (error) {
94+
return res.status(500).send({error: error})
95+
}
10896
};
10997

110-
exports.deletePedido = (req, res, next ) => {
111-
mysql.getConnection((error, conn) => {
112-
if(error){ return res.status(500).send({error: error})}
113-
conn.query(
114-
'DELETE FROM pedidos WHERE id_pedido = ?', [req.body.id_pedido],
115-
(error, result, field) => {
116-
conn.release();
117-
if(error){ return res.status(500).send({error: error})}
118-
const response = {
119-
mensagem: 'Pedido removido com sucesso',
120-
request: {
121-
tipo: 'POST',
122-
descricao: 'Insere um pedido',
123-
url: process.env.URL_API + '/pedidos',
124-
body: {
125-
id_produto: 'Number',
126-
quantidade: 'Number'
127-
}
128-
}
98+
exports.deletePedido = async (req, res, next ) => {
99+
try {
100+
const query = 'DELETE FROM pedidos WHERE id_pedido = ?';
101+
await mysql.execute(query, [req.body.id_pedido]);
102+
103+
const response = {
104+
mensagem: 'Pedido removido com sucesso',
105+
request: {
106+
tipo: 'POST',
107+
descricao: 'Insere um pedido',
108+
url: process.env.URL_API + '/pedidos',
109+
body: {
110+
id_produto: 'Number',
111+
quantidade: 'Number'
129112
}
130-
return res.status(202).send(response);
113+
}
131114
}
132-
)
133-
});
115+
return res.status(202).send(response);
116+
117+
} catch (error) {
118+
119+
return res.status(500).send({error: error})
120+
}
134121
};

0 commit comments

Comments
 (0)