diff --git a/server/routes/getRate.js b/server/routes/getRate.js index ec06aed..50e831f 100644 --- a/server/routes/getRate.js +++ b/server/routes/getRate.js @@ -18,6 +18,7 @@ module.exports = async function getRateRoute(fastify) { query['from_currency'], query['conv_currency'], query['date'], + query['conv_amount'] ? query['conv_amount'] : 1 ); else if (query['start_date'] && query['end_date']) rate_res = await rate.getPeriod( diff --git a/shared/database/src/main.js b/shared/database/src/main.js index 815ca6f..dc4ae1c 100644 --- a/shared/database/src/main.js +++ b/shared/database/src/main.js @@ -1,7 +1,7 @@ const pool = require('./postgresql.js'); const logger = require('../../logger/src/main.js'); -async function getDay(from_currency, conv_currency, date) { +async function getDay(from_currency, conv_currency, date, conv_amount) { if (!from_currency || !conv_currency) return new Error('fromCurrency and convCurrency are required'); else if (!date) return new Error('date is required'); @@ -12,8 +12,16 @@ async function getDay(from_currency, conv_currency, date) { [from_currency.toUpperCase(), conv_currency.toUpperCase(), date], ); + if (data?.['rows'].length <= 0) return 'Missing data'; + if (conv_amount) { + let conv_rate = data?.['rows'][0]['rate'] * conv_amount; + const point = conv_rate.toString().indexOf('.') + 4; + + data['rows'][0]['rate'] = Number(conv_rate.toString().slice(0, point)); + } + logger.debug(data['rows'][0]); return data['rows'][0];