diff options
| author | Adam Soltys <[email protected]> | 2018-02-05 19:25:54 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2018-02-05 19:38:15 -0800 |
| commit | cf5a62c26205fa2e9e36d788d4bfb7ec9f96cc66 (patch) | |
| tree | 2cea9038aa71beded1c0867671499eb3544c59ae /app.js | |
| parent | 709d1f04d073d9b46e42819bd0224da6a4157814 (diff) | |
| download | coinos-server-cf5a62c26205fa2e9e36d788d4bfb7ec9f96cc66.tar.gz coinos-server-cf5a62c26205fa2e9e36d788d4bfb7ec9f96cc66.zip | |
rename app to index
Diffstat (limited to 'app.js')
| -rw-r--r-- | app.js | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/app.js b/app.js deleted file mode 100644 index 5b2561a1..00000000 --- a/app.js +++ /dev/null @@ -1,105 +0,0 @@ -import ba from 'bitcoinaverage' -import bitcoin from 'bitcoin-core' -import bodyParser from 'body-parser' -import cache from './cache' -import compression from 'compression' -import cookieParser from 'cookie-parser' -import cors from 'cors' -import dotenv from 'dotenv' -import express from 'express' -import fs from 'fs' -import grpc from 'grpc' -import passport from './passport' -import jwt from 'jsonwebtoken' -import bcrypt from 'bcrypt' -import { graphqlExpress, graphiqlExpress } from 'apollo-server-express' - -dotenv.config() -const l = console.log - -;(async () => { - const app = express() - const db = await require('./db.js') - app.enable('trust proxy') - app.use(bodyParser.urlencoded({ extended: true })) - app.use(bodyParser.json()) - app.use(cookieParser()) - app.use(cors()) - app.use(compression()) - app.use(passport.initialize()) - - const restClient = ba.restfulClient(process.env.BITCOINAVERAGE_PUBLIC, process.env.BITCOINAVERAGE_SECRET) - const lnrpc = await require('lnrpc')({ server: 'localhost:10001' }) - const adminMacaroon = fs.readFileSync('/home/adam/.lnd/data/core_test/admin.macaroon'); - const meta = new grpc.Metadata(); - meta.add('macaroon', adminMacaroon.toString('hex')); - - app.get('/balance', async (req, res) => { - res.json(await lnrpc.walletBalance({witness_only: true}, meta)) - }) - - let fetchRates - (fetchRates = () => { - restClient.tickerGlobalPerSymbol('BTCCAD', (data) => { - app.set('rates', JSON.parse(data)) - }) - setTimeout(fetchRates, 120000) - })() - - app.get('/rates', (req, res) => { - res.json(app.get('rates')) - }) - - app.post('/login', (req, res) => { - db.User.findOne({ - where: { - username: req.body.username - } - }).then((user) => { - bcrypt.compare(req.body.password, user.password).then((result) => { - if (result) { - let payload = { username: user.username } - let token = jwt.sign(payload, process.env.SECRET) - res.cookie('token', token, { expires: new Date(Date.now() + 9999999) }) - res.json({ user, token }) - } else { - res.status(401).end() - } - }).catch((err) => { - console.log(err) - res.status(401).end() - }) - }).catch((err) => { - console.log(err) - res.status(401).end() - }) - }) - - app.get('/secret', passport.authenticate('jwt', { session: false }), (req, res) => { - res.json({message: 'Success! You can not see this without a token'}) - }) - - app.get('/api/users/me', - passport.authenticate('basic', { session: false }), - function(req, res) { - res.json({ id: req.user.id, username: req.user.username }); - }); - - app.use('/graphql', bodyParser.json(), graphqlExpress({ - schema: db.gqlschema, - context: {}, - tracing: true, - cacheControl: true, - })) - - app.use('/graphiql', graphiqlExpress({ endpointURL: '/graphql' })) - - app.use(function (err, req, res, next) { - res.status(500) - res.send('An error occurred') - console.error(err.stack) - return res.end() - }) - - app.listen(3000) -})() |
