добавлен ответ с курсом валют

This commit is contained in:
Данил 2024-02-18 22:59:54 +03:00
parent cce658783f
commit 12ce6b7522
2 changed files with 39 additions and 22 deletions

50
main.js
View file

@ -1,29 +1,35 @@
const fastify = require('fastify')({ logger: true }); const fastify = require('fastify')({ logger: true });
const schedule = require('node-schedule');
const pool = require("./postgresql.js");
const saveRate = require('./utils/saveRate.js');
const response = require('./utils/errorResponse');
fastify.route({
method: 'GET',
url: '/',
schema: {
querystring: {
}, schedule.scheduleJob('30 8 * * *', async function () {
response: { console.log('I save the currency data');
200: { await saveRate();
});
} fastify.get('/api/getRate/', async function (req, reply) {
} if (!req.query?.codeCurrency) return response(
}, 400,
preHandler: async (res, reply) => { 'error',
'codeCurrency parameter is required'
);
}, if (!req.query?.periodStart) return response(400, 'error', 'period parameter is required');
handler: async (res, reply) => {
} const data = await pool.query('SELECT * FROM currency WHERE from_currency = $1 AND date = $2', [
req.query.codeCurrency,
req.query.periodStart
]).then(response('error', 500, 'Internal Server Error'));
console.log(typeof data['rows'])
return data['rows'];
});
fastify.listen({ port: 3000 }, err => {
if (err) throw err
console.log(`server listening on ${fastify.server.address().port}`)
}) })
try {
await fastify.listen({ port: 3000 })
} catch (err) {
fastify.log.error(err)
process.exit(1)
}

11
utils/errorResponse.js Normal file
View file

@ -0,0 +1,11 @@
function response(status, statusCode, message) {
return {
status: status,
statusCode: status,
data: {
message: message
}
}
}
module.exports = response;