Adicionando rotas e lógica para Vans e Locadores de Vans

This commit is contained in:
Matheus Albino Brunhara
2022-06-19 22:21:12 -05:00
parent 01a30b0f17
commit 98fb081648
11 changed files with 495 additions and 0 deletions

67
src/routes/vans.routes.ts Normal file
View File

@@ -0,0 +1,67 @@
import { Router } from 'express';
import { getRepository } from 'typeorm';
import Van from '../models/Van';
import ensureAuthenticated from '../middlewares/ensureAuthenticated';
import FindVanService from '../services/FindVanService';
import CreateVanService from '../services/CreateVanService';
import UpdateVanService from '../services/UpdateVanService';
const vansRouter = Router();
vansRouter.get('/list', async (request, response) => {
const vansRepository = getRepository(Van);
const vans = await vansRepository.find();
return response.json({ data: vans });
});
vansRouter.get('/:id', ensureAuthenticated, async (request, response) => {
const { id } = request.params;
const findVan = new FindVanService();
const van = await findVan.execute(id);
return response.json({ data: van });
});
vansRouter.post('/', async (request, response) => {
const { plate, brand, model, seats_number } = request.body;
const createVan = new CreateVanService();
const van = await createVan.execute({
plate,
brand,
model,
seats_number,
});
return response.json({ message: 'Van criada com sucesso.', data: van });
});
vansRouter.patch(
'/edit/:plate',
ensureAuthenticated,
async (request, response) => {
const { brand, model, seats_number } = request.body;
const { plate } = request.params;
const updateUserService = new UpdateVanService();
await updateUserService.execute({
plate,
brand,
model,
seats_number,
});
return response.json({ message: 'Informações da van atualizadas com sucesso.' });
},
);
export default vansRouter;