From e53fea3b779f2ea75ccf0470aad2c5d055146b12 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 2 Oct 2020 00:50:07 -0400 Subject: fixer fallback --- lib/rates.js | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/rates.js b/lib/rates.js index 952be031..fdb7f5ac 100644 --- a/lib/rates.js +++ b/lib/rates.js @@ -13,14 +13,29 @@ let fetchRates; l.warn("Failed to read fx file"); } - let today = JSON.stringify(new Date()).replace(/T.*/, "").replace(/"/, ""); + let today = JSON.stringify(new Date()) + .replace(/T.*/, "") + .replace(/"/, ""); if (date !== today) { try { - let { data: { rates: fx }} = await axios.get('https://api.exchangerate.host/latest?base=USD'); + let { + data: { rates: fx } + } = await axios.get("https://api.exchangerate.host/latest?base=USD"); fs.writeFileSync("fx", JSON.stringify({ date, fx })); } catch (e) { - l.error("error fetching rates", e.message); + try { + let { + data: { rates: fx } + } = await axios.get(`http://data.fixer.io/api/latest?access_key=${config.fixer}`); + let USD = fx["USD"]; + Object.keys(fx).map(k => { + fx[k] = parseFloat((fx[k] / fx["USD"]).toFixed(6)); + }); + fs.writeFileSync("fx", JSON.stringify({ date, fx })); + } catch (e) { + l.error("error fetching rates", e.message); + } } } -- cgit v1.2.3