From e73c5018549c338e1dd5be8c0d82e1765ee4741a Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 5 Jan 2018 14:46:02 -0800 Subject: fetch rates using bitcoinaverage rest client --- app.js | 45 ++++++++++++++++++++++++++++++--------------- 1 file changed, 30 insertions(+), 15 deletions(-) (limited to 'app.js') diff --git a/app.js b/app.js index 6c2fb5e5..efd9d11c 100644 --- a/app.js +++ b/app.js @@ -1,15 +1,15 @@ -const express = require('express') -const bodyParser = require('body-parser') -const cookieParser = require('cookie-parser') -const passport = require('./passport') -const cache = require('./cache') -const dotenv = require('dotenv') -const ba = require('bitcoinaverage') +import express from 'express' +import bodyParser from 'body-parser' +import cookieParser from 'cookie-parser' +import passport from './passport' +import cache from './cache' +import dotenv from 'dotenv' +import ba from 'bitcoinaverage' dotenv.config() require('dotenv').config() -app = express() +const app = express() app.enable('trust proxy') app.use(require('./blockcypher')) app.use(bodyParser.urlencoded({ extended: true })) @@ -17,22 +17,35 @@ app.use(bodyParser.json()) app.use(cookieParser()) app.use(passport.initialize()) -const users = require("./routes/users") -const transactions = require("./routes/transactions") +const users = require('./routes/users') +const transactions = require('./routes/transactions') +const restClient = ba.restfulClient(process.env.BITCOINAVERAGE_PUBLIC, process.env.BITCOINAVERAGE_SECRET) app.get('/users.json', transactions.index) -app.post("/login", users.login) +app.post('/login', users.login) app.post('/users', users.create) app.get('/verify/:token', users.verify) app.post('/:user', users.update) -//app.post('/:user/transactions', transactions.create) +// app.post('/:user/transactions', transactions.create) app.get('/:user/transactions', transactions.index) app.post('/transactions/:txid', transactions.update) -app["delete"]('/:user/transactions/:txid', transactions["delete"]) +app['delete']('/:user/transactions/:txid', transactions['delete']) app.get('/:user.json', users.json) -app.get("/secret", passport.authenticate('jwt', { session: false }), users.secret) +app.get('/secret', passport.authenticate('jwt', { session: false }), users.secret) -app.use(function(err, req, res, next) { +let fetchRates +(fetchRates = () => { + restClient.tickerGlobalPerSymbol('BTCUSD', (data) => { + app.set('rates', JSON.parse(data)) + }) + setTimeout(fetchRates, 120000) +})() + +app.get('/rates', (req, res) => { + res.json(app.get('rates')) +}) + +app.use(function (err, req, res, next) { res.status(500) res.send('An error occurred') console.error(err.stack) @@ -40,3 +53,5 @@ app.use(function(err, req, res, next) { }) app.listen(3000) + + -- cgit v1.2.3