crypto-coingecko/Back/src/application_controller.js
2022-12-10 23:05:30 +02:00

91 lines
2.2 KiB
JavaScript

var express = require('express');
var router = express.Router();
const api_helper = require('./thirdparty_api')
const config = require('./config');
// total coins 13081
// per page coins 100
// max page 131
// last lenth 81
router.get('/coins/markets', function (req, res) {
let page = req.query.page || 1;
let per_page = req.query.per_page || 100;
let url = config.coingecko.api_url + `/coins/markets?vs_currency=usd&order=market_cap_desc&per_page=${per_page}&page=${page}&sparkline=false`;
api_helper.REMOTE_API_call(url)
.then(response => {
console.log("response.length : ", response.length);
console.log("response.page : ", page);
//console.log("url : ", url);
res.json(response);
})
.catch(error => {
console.log("error: ", error);
res.send(error);
})
})
router.get('/count', function (req, res) {
let url = config.coingecko.api_url + '/global';
console.log("url: ", url);
api_helper.REMOTE_API_call(url)
.then(response => {
res.json({'count': response.data.active_cryptocurrencies});
})
.catch(error => {
console.log("error: ", error);
res.send(error);
})
})
router.get('/coin/:id', function (req, res) {
let id = req.params['id'];
let url = config.coingecko.api_url + '/coins/' + id;
console.log("id: ", id);
api_helper.REMOTE_API_call(url)
.then(response => {
res.json(response);
})
.catch(error => {
console.log("error: ", error);
res.send(error);
})
})
router.get('/coin/:id/chart', function (req, res) {
let id = req.params['id'];
let url = config.coingecko.api_url + '/coins/' + id + '/market_chart?vs_currency=usd&days=max';
console.log("chart url:", url)
api_helper.REMOTE_API_call(url)
.then(response => {
res.json(response);
})
.catch(error => {
console.log("error: ", error);
res.send(error);
})
})
router.get('/global', function (req, res) {
let url = config.coingecko.api_url + '/global';
api_helper.REMOTE_API_call(url)
.then(response => {
res.json(response.data);
})
.catch(error => {
console.log("error: ", error);
res.send(error);
})
})
module.exports = router;