MCPcopy Create free account
hub / github.com/BrasilAPI/BrasilAPI / FipeTruckAutomakers

Function FipeTruckAutomakers

pages/api/fipe/marcas/v1/index.js:11–39  ·  view source on GitHub ↗
(request, response)

Source from the content-addressed store, hash-verified

9import { listReferenceTables } from '@/services/fipe/referenceTable';
10
11async function FipeTruckAutomakers(request, response) {
12 const referenceTableCode = request.query.tabela_referencia;
13 const referenceTable = referenceTableCode
14 ? parseInt(referenceTableCode, 10)
15 : undefined;
16
17 if (referenceTableCode) {
18 const referenceTables = await listReferenceTables();
19
20 const hasReferenceTable = !!referenceTables.find(
21 (table) => table.codigo === referenceTable
22 );
23
24 if (!hasReferenceTable) {
25 throw new BadRequestError({ message: 'Tabela de referência inválida' });
26 }
27 }
28
29 const automakers = (
30 await Promise.all([
31 listCarAutomakers({ referenceTable }),
32 listTruckAutomakers({ referenceTable }),
33 listMotorcycleAutomakers({ referenceTable }),
34 ])
35 )
36 .reduce((array, item) => array.concat(...item), [])
37 .sort((a, b) => parseInt(a.valor, 10) - parseInt(b.valor, 10));
38 return response.status(200).json(automakers);
39}
40
41export default app({ cache: 86400 }).get(FipeTruckAutomakers);

Callers

nothing calls this directly

Calls 4

listReferenceTablesFunction · 0.90
listCarAutomakersFunction · 0.90
listTruckAutomakersFunction · 0.90
listMotorcycleAutomakersFunction · 0.90

Tested by

no test coverage detected