Skip to content
636 changes: 636 additions & 0 deletions postman/Web3API.postman_collection.json

Large diffs are not rendered by default.

6 changes: 4 additions & 2 deletions src/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,11 @@ app.use(appBase, router);
pool.connect((err) => {
if (err) {
console.error('Error connecting to database', err);
process.exit(1);
}
console.log('Desconectado da database');
// process.exit(1);
} else {
console.log('Connected to database');
}
});

module.exports = app;
11 changes: 10 additions & 1 deletion src/controllers/cars.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,15 @@ const createCar = async (req, res, next) => {
}
};

const listCar = async (req, res) => {
try {
const cars = await Car.listCar();
res.send(cars);
} catch (err) {
res.status(500).json({ error: err.message });
}
};

const updateCar = async (req, res) => {
try {
const car = req.body;
Expand All @@ -32,4 +41,4 @@ const deleteCar = async (req, res) => {
}
};

module.exports = { createCar, deleteCar, updateCar };
module.exports = { createCar, deleteCar, updateCar, listCar };
13 changes: 12 additions & 1 deletion src/controllers/client.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,17 @@ const createClient = async (req, res, next) => {
}
};


const listarCliente = async (req, res) => {
try{
const clientes = await Client.listarCliente();
res.send(clientes);
} catch (error) {
console.log(error);
res.status(500).json({error: err.message});
}
};

const updateClient = async (req, res) => {
try {
const client = req.body;
Expand All @@ -34,4 +45,4 @@ const updateClient = async (req, res) => {



module.exports = { createClient, updateClient, deleteClient };
module.exports = { createClient, updateClient, deleteClient, listarCliente };
22 changes: 21 additions & 1 deletion src/controllers/ticket.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,26 @@ const createTicket = async (req, res, next) => {
}
};

const listarTickets = async (req, res) =>{
try{
const tickets = await Ticket.listarTickets();
res.send(tickets);
} catch (error) {
console.error(error);
res.status(500).json({ error: 'Erro ao listar Ticket' });
}
};

const listarTicketsAll = async (req, res) =>{
try{
const tickets = await Ticket.listarTicketsAll();
res.send(tickets);
} catch (error) {
console.error(error);
res.status(500).json({ error: 'Erro ao listar Ticket' });
}
};

const encerrarTicket = async (req, res) => {
try {
const { id } = req.params;
Expand All @@ -22,4 +42,4 @@ const encerrarTicket = async (req, res) => {
};


module.exports = { createTicket, encerrarTicket };
module.exports = { createTicket, encerrarTicket, listarTickets,listarTicketsAll };
12 changes: 11 additions & 1 deletion src/controllers/tipo.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,16 @@ const updateTipo = async (req, res) => {
}
};

const listarTipos = async (req, res) => {
try {
const tipos = await Tipo.listarTipos();
res.send(tipos);
} catch (error){
console.log(error);
res.status(500).json({ error: 'Erro ao listar tipo' });
}
};

const deleteTipo = async (req, res) => {
try {
const { id } = req.params;
Expand All @@ -32,4 +42,4 @@ const deleteTipo = async (req, res) => {
}
};

module.exports = { createTipo, deleteTipo, updateTipo };
module.exports = { createTipo, deleteTipo, updateTipo, listarTipos };
11 changes: 10 additions & 1 deletion src/controllers/vaga.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,15 @@ const createVaga = async (req, res, next) => {
}
};

const listarVagas = async (req,res) =>{
try{
const vagas = await Vaga.listarVagas();
res.send(vagas);
} catch (error) {
console.log(error);
}
};

const deleteVaga = async (req, res) => {
try {
const { id } = req.params;
Expand All @@ -22,4 +31,4 @@ const deleteVaga = async (req, res) => {
}
};

module.exports = { createVaga, deleteVaga };
module.exports = { createVaga, deleteVaga, listarVagas };
14 changes: 13 additions & 1 deletion src/models/cars.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,18 @@ const { placa, cliente_id } = car;
return result.rows[0];
};

const listCar = async () => {

const query = {
text: `select car.id id, car.placa placa, car.cliente_id cliente_id, cli.nome as cliente_nome
from carro car
full join cliente cli
on cli.id = car.cliente_id`,

};
const result = await pool.query(query);
return result.rows;
};

const updateCar = async (car) => {
const { placa, cliente_id, id } = car;
Expand All @@ -31,5 +43,5 @@ const deleteCar = async (id) => {
}

module.exports = {
insertCar, deleteCar, updateCar
insertCar, deleteCar, updateCar, listCar
};
7 changes: 6 additions & 1 deletion src/models/client.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@ const { nome, cpf, telefone } = client;
return result.rows[0];
};

const listarCliente = async () =>{
const query = {text: 'select * from cliente'};
const result = await pool.query(query);
return result.rows;
}

const updateClient = async (client) => {
const { nome, cpf, telefone, id } = client;
Expand All @@ -31,5 +36,5 @@ const deleteClient = async (id) => {
}

module.exports = {
insertClient, deleteClient, updateClient
insertClient, deleteClient, updateClient, listarCliente
};
35 changes: 34 additions & 1 deletion src/models/ticket.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,39 @@ const insertTicket = async (req, res) => {
return result.rows[0];
};

const listarTickets = async (req, res) => {
const query = {
text: `SELECT to_char(ticket.hora_entrada at time zone 'UTF-4', 'HH24:MI:SS') as hora_entrada,
cliente.nome as nome_cliente, carro.placa as nome_placa, tipo.descr as tipo_vaga,
tipo.preco as preco_tipo, ticket.vaga_id as id_vaga, ticket.id as ticket_id,
coalesce(to_char(ticket.hora_saida at time zone 'UTF-4', 'HH24:MI:SS'),
'Não recuperado') as hora_saida, coalesce(total_pago, 0.0) as custo
FROM ticket
join tipo on tipo.id = ticket.tipo_id
join carro on carro.id = ticket.carro_id
join cliente on cliente.id = carro.cliente_id
where ticket.estado = true`
}
const result = await pool.query(query);
return result.rows;
}

const listarTicketsAll = async (req, res) => {
const query = {
text: `SELECT to_char(ticket.hora_entrada at time zone 'UTF-4', 'HH24:MI:SS') as hora_entrada,
cliente.nome as nome_cliente, carro.placa as nome_placa, tipo.descr as tipo_vaga,
tipo.preco as preco_tipo, ticket.vaga_id as id_vaga, ticket.id as ticket_id,
coalesce(to_char(ticket.hora_saida at time zone 'UTF-4', 'HH24:MI:SS'),
'Não recuperado') as hora_saida, coalesce(total_pago, 0.0) as custo
FROM ticket
join tipo on tipo.id = ticket.tipo_id
join carro on carro.id = ticket.carro_id
join cliente on cliente.id = carro.cliente_id`
}
const result = await pool.query(query);
return result.rows;
}

const encerraTicket = async (id) => {
const query = {
text: 'select encerrar_ticket($1)',
Expand All @@ -20,5 +53,5 @@ const encerraTicket = async (id) => {
}

module.exports = {
insertTicket, encerraTicket
insertTicket, encerraTicket, listarTickets, listarTicketsAll
};
8 changes: 7 additions & 1 deletion src/models/tipo.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,12 @@ const { preco, descr } = tipo;
return result.rows[0];
};

const listarTipos = async () => {
const query = {text: "select * from tipo"};
const result = await pool.query(query);
return result.rows;
};


const updateTipo = async (tipo) => {
console.log(tipo);
Expand All @@ -32,5 +38,5 @@ const deleteTipo = async (id) => {
}

module.exports = {
insertTipo, deleteTipo, updateTipo
insertTipo, deleteTipo, updateTipo, listarTipos
};
12 changes: 11 additions & 1 deletion src/models/vaga.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,16 @@ const insertVaga = async () => {
return result.rows[0];
};

const listarVagas = async () =>{
const query ={
text: 'select * from vaga'
};
const result = await pool.query(query);
return result.rows;


};

const deleteVaga = async (id) => {
const query = {
text: 'delete from vaga where id=$1 RETURNING *',
Expand All @@ -19,5 +29,5 @@ const deleteVaga = async (id) => {
}

module.exports = {
insertVaga, deleteVaga
insertVaga, deleteVaga, listarVagas
};
4 changes: 4 additions & 0 deletions src/routes/cars.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,8 @@ router.put('/update', verifyToken, carController.updateCar, (req, res) => {
res.status(200).json({message: 'car atualizado com sucesso'})
});

router.get('/list', verifyToken, carController.listCar, (req, res) => {

});

module.exports = router;
2 changes: 2 additions & 0 deletions src/routes/client.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,6 @@ router.put('/update', verifyToken, clientController.updateClient, (req, res) =>
res.status(200).json({message: 'Client atualizado com sucesso'})
});

router.get('/list', verifyToken, clientController.listarCliente, (req, res)=>{});

module.exports = router;
3 changes: 3 additions & 0 deletions src/routes/ticket.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,8 @@ router.put('/:id', verifyToken, ticketController.encerrarTicket, (req, res) => {
res.status(200).json({ message: 'Ticket encerrado com sucesso' });
});

router.get('/listAtivo', verifyToken, ticketController.listarTickets, (req, res)=>{});
router.get('/listAll', verifyToken, ticketController.listarTicketsAll, (req, res)=>{});


module.exports = router;
4 changes: 4 additions & 0 deletions src/routes/tipo.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,8 @@ router.put('/update', verifyToken, tipoController.updateTipo, (req, res) => {
res.status(200).json({message: 'Tipo atualizado com sucesso'})
});

router.get('/list', verifyToken, tipoController.listarTipos, (req, res) => {

});

module.exports = router;
2 changes: 2 additions & 0 deletions src/routes/vaga.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,6 @@ router.delete('/:id', verifyToken, vagaController.deleteVaga, (req, res) => {
res.status(200).json({ message: 'Vaga excluída com sucesso' });
});

router.get('/list', verifyToken, vagaController.listarVagas, (req, res) => {})

module.exports = router;