Passed
Pull Request — master (#237)
by Daniel
02:04
created

getRegNummer.ts ➔ handler   B

Complexity

Conditions 4

Size

Total Lines 48
Code Lines 38

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 38
dl 0
loc 48
rs 8.968
c 0
b 0
f 0
cc 4
1
import axios from "axios";
2
import { sanitize } from "isomorphic-dompurify";
3
import { VercelRequest, VercelResponse } from "@vercel/node";
4
import { IStatensVegvesenFullData } from "../scripts/types/typeDefinitions";
5
6
export default async function handler(
7
  req: VercelRequest,
8
  res: VercelResponse
9
): Promise<void> {
10
  const { regNummer = "" } = req.query;
11
12
  if (regNummer === undefined) {
13
    res.status(400).json({ error: "Mangler regNummer parameter" });
14
    return;
15
  }
16
17
  //const urlToFetch = `https://www.vegvesen.no/ws/no/vegvesen/kjoretoy/felles/datautlevering/enkeltoppslag/kjoretoydata?kjennemerke=${regNummer}`;
18
  const urlToFetch = `https://www.vegvesen.no/ws/no/vegvesen/kjoretoy/felles/datautlevering/enkeltoppslag/kjoretoydata?kjennemerke=ce65676`;
19
20
  try {
21
    const response = await axios.get<IStatensVegvesenFullData>(urlToFetch, {
22
      headers: {
23
        "SVV-Authorization": `Apikey ${process.env.SVV_API_KEY}`,
24
        "X-Client-Identifier": "my-app",
25
      },
26
    });
27
28
    console.log("Response er: ", response);
29
    res.status(500).json({ debug: `Debug ${response}` });
30
31
32
    if (response.status === 200) {
33
      const {
34
        kjennemerke,
35
        registrering: { forstegangsregistrering, forstegangsregistreringEier },
36
        periodiskKjoretoykontroll: { sistKontrollert },
37
      } = response.data;
38
39
      const sanitizedData = {
40
        kjennemerke: sanitize(kjennemerke),
41
        forstegangsregistreringEier: sanitize(forstegangsregistreringEier),
42
        forstegangsregistrering: sanitize(forstegangsregistrering),
43
        sistKontrollert: sanitize(sistKontrollert),
44
      };
45
46
      res.status(200).json(sanitizedData);
47
    } else {
48
      res.status(500).json({ error: `Feil under henting av data  ${response}` });
49
    }
50
  } catch (error) {
51
    console.error(error);
52
    res.status(500).json({ error: `Feil under henting av data  - error ${error}` });
53
  }
54
}
55