aboutsummaryrefslogtreecommitdiffstats
path: root/index.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2020-03-11 15:10:40 -0700
committerAdam Soltys <[email protected]>2020-03-11 15:10:40 -0700
commitc0888fab024cc9f7c99812bfabf9d7774312dbf7 (patch)
treecad95683af97432f6092a2c2bae10fbb7a588db5 /index.js
parentbf2b51f0c2ae9b8f0f330dde6411e45fc0da8a25 (diff)
downloadcoinos-server-c0888fab024cc9f7c99812bfabf9d7774312dbf7.tar.gz
coinos-server-c0888fab024cc9f7c99812bfabf9d7774312dbf7.zip
refactor
Diffstat (limited to 'index.js')
-rw-r--r--index.js79
1 files changed, 28 insertions, 51 deletions
diff --git a/index.js b/index.js
index e2116a39..b84aa10f 100644
--- a/index.js
+++ b/index.js
@@ -1,63 +1,40 @@
const bodyParser = require("body-parser");
const compression = require("compression");
const cookieParser = require("cookie-parser");
-const BitcoinCore = require("bitcoin-core");
const cors = require("cors");
const express = require("express");
-const config = require("./config");
-const bolt11 = require("bolt11");
+l = require("pino")();
+config = require("./config");
-const l = require("pino")();
+SATS = 100000000;
+toSats = n => parseInt((n * SATS).toFixed())
-(async () => {
- const bc = new BitcoinCore(config.bitcoin);
- const app = express();
- app.enable("trust proxy");
- app.use(bodyParser.urlencoded({ extended: true }));
- app.use(bodyParser.json());
- app.use(cookieParser());
- app.use(cors({ credentials: true, origin: "http://*:*" }));
- app.use(compression());
+app = express();
+app.enable("trust proxy");
+app.use(bodyParser.urlencoded({ extended: true }));
+app.use(bodyParser.json());
+app.use(cookieParser());
+app.use(cors({ credentials: true, origin: "http://*:*" }));
+app.use(compression());
- const server = require("http").Server(app);
- const db = require("./db");
- const [socket, emit] = require("./sockets")(app, db, server);
- const passport = require("./passport")(db);
- const auth = passport.authenticate("jwt", { session: false });
+server = require("http").Server(app);
+require("./db");
+require("./lib/sockets");
+require("./lib/passport");
+require("./lib/rates");
- app.use(passport.initialize());
+require("./routes/payments");
+require("./routes/users");
- require("./rates")(app, socket);
+app.use((err, req, res, next) => {
+ l.info("res", res);
+ res.status(500);
+ res.send("An error occurred");
+ l.error("uncaught error", err.stack);
+ return res.end();
+});
- const seen = [];
- const addresses = {};
- await db.User.findAll({
- attributes: ["username", "address", "liquid"]
- }).map(u => {
- addresses[u.address] = u.username;
- if (u.liquid) addresses[u.liquid] = u.username;
- });
-
- const payments = (await db.Payment.findAll({
- attributes: ["hash"]
- })).map(p => p.hash);
-
- app.get("/rates", (req, res) => {
- res.send(app.get("rates"));
- });
-
- require("./payments")(app, auth, addresses, bc, db, emit, seen, payments);
- require("./users")(addresses, auth, app, bc, db, emit);
-
- app.use(function(err, req, res, next) {
- res.status(500);
- res.send("An error occurred");
- l.error(err.stack);
- return res.end();
- });
-
- server.listen(config.port, () =>
- console.log(`CoinOS Server listening on port ${config.port}`)
- );
-})();
+server.listen(config.port, () =>
+ console.log(`CoinOS Server listening on port ${config.port}`)
+);