You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
761 B

5 years ago
5 years ago
5 years ago
5 years ago
  1. const express = require("express");
  2. const expressWs = require("express-ws");
  3. const SQLite3Repository = require("./repositories/sqlite3");
  4. const repo = new SQLite3Repository("stuff.db");
  5. repo.setup().catch(err => {
  6. console.error("Failed to setup db:", err);
  7. process.exit(1);
  8. }).then(() => {
  9. console.log("Datbase setup complete.")
  10. });
  11. const app = express();
  12. expressWs(app);
  13. app.use(express.json({strict: false}));
  14. app.use("/api/bike/", require("./api/bike")(repo));
  15. app.use("/api/program/", require("./api/program")(repo));
  16. app.use("/api/workout/", require("./api/workout")(repo));
  17. const port = process.env.PORT || 8780;
  18. const host = process.env.HOST || "0.0.0.0";
  19. app.listen(port, host, () => {
  20. console.log(`Listening on ${host}:${port}...`)
  21. });