This repository was archived by the owner on Feb 28, 2025. It is now read-only.
forked from yearn-integrations/yearn-api
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathapp.js
More file actions
81 lines (67 loc) · 2.46 KB
/
app.js
File metadata and controls
81 lines (67 loc) · 2.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
require("dotenv").config();
const express = require("express");
const app = express();
const cors = require("cors");
const bodyParser = require("body-parser");
const compression = require('compression');
const swaggerUi = require("swagger-ui-express");
const swaggerDocument = require("./swagger.json");
const db = require("./config/db");
const jobs = require("./jobs/task");
const port = process.env.PORT || 8080;
const userRouter = require("./routes/userRoute");
const stakingRouter = require("./routes/stakingRoute");
const eventRouter = require("./routes/eventRoute");
const vaultRouter = require("./routes/vaultRoute");
const reimbursementRouter = require("./routes/reimbursementRouter");
const partnerRouter = require("./routes/partnershipRoute");
const v2Router = require('./routes/v2Routes');
const { updateCronjobNotInExecution } = require("./models/cronjob.model");
async function init() {
// Improve debugging
process.on("unhandledRejection", (reason, p) => {
console.log("Unhandled Rejection at:", p, "reason:", reason);
});
db.connectDB(async (err) => {
if (err) throw err;
// Update cronjob in collection as not in execution after restart
await updateCronjobNotInExecution();
jobs.saveVault();
jobs.saveVaultAPY();
jobs.savePolygonVaultAPY();
jobs.saveBSCVaultAPY();
jobs.saveAvalancheVaultAPY();
jobs.savePricePerFullShare();
jobs.saveHistoricalAPY();
jobs.savePolygonHistoricalAPY();
jobs.saveBSCHistoricalAPY();
jobs.saveAvalancheHistoricalAPY();
jobs.saveHistoricalTVL();
jobs.saveHistoricalPools();
jobs.saveDAOmineHistoricalPools();
jobs.saveABIPools();
jobs.saveVipApr();
jobs.savePerformance();
jobs.saveTokenPrice();
jobs.saveTotalDepositedAmount();
});
app.use(cors());
app.use(compression())
app.use(
bodyParser.urlencoded({
extended: true,
})
);
app.use(bodyParser.json());
app.use(compression())
app.use("/api-docs", swaggerUi.serve, swaggerUi.setup(swaggerDocument));
app.use("/user", userRouter);
app.use("/staking", stakingRouter);
app.use("/event", eventRouter);
app.use("/vaults", vaultRouter);
app.use("/v2", v2Router);
app.use("/reimbursement-addresses", reimbursementRouter);
app.use("/partner", partnerRouter);
app.listen(port, () => console.log(`Listening on ${port}`));
}
init();