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.

32 lines
809 B

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