2023-03-28 07:31:44 +02:00
|
|
|
const express = require("express");
|
|
|
|
const app = express();
|
|
|
|
const cors = require("cors");
|
2023-03-28 16:56:48 +02:00
|
|
|
const mongoose = require("mongoose");
|
2023-03-28 07:31:44 +02:00
|
|
|
require("dotenv").config();
|
2017-02-18 20:06:54 +01:00
|
|
|
|
2023-03-28 07:31:44 +02:00
|
|
|
const PORT = process.env.PORT || 16749;
|
2023-03-28 16:56:48 +02:00
|
|
|
const MONGODB_URI = process.env.MONGODB_URI || "";
|
|
|
|
|
|
|
|
mongoose.connect(MONGODB_URI, {
|
|
|
|
// @ts-ignore
|
|
|
|
useNewUrlParser: true,
|
|
|
|
useUnifiedTopology: true,
|
|
|
|
});
|
|
|
|
|
|
|
|
const exerciseLogsSchema = new mongoose.Schema({
|
|
|
|
username: { type: String, required: true },
|
|
|
|
log: [
|
|
|
|
{
|
|
|
|
description: { type: String, required: true },
|
|
|
|
duration: { type: Number, required: true },
|
|
|
|
date: { type: String, required: true },
|
|
|
|
},
|
|
|
|
],
|
|
|
|
});
|
|
|
|
|
|
|
|
const exerciseLogs = mongoose.model("ExerciseLogs", exerciseLogsSchema);
|
2017-02-18 20:06:54 +01:00
|
|
|
|
2023-03-28 07:31:44 +02:00
|
|
|
app.use(cors());
|
|
|
|
app.use(express.static("public"));
|
2023-03-28 16:56:48 +02:00
|
|
|
app.use(express.urlencoded({ extended: false }));
|
2023-03-28 07:31:44 +02:00
|
|
|
app.get("/", (req, res) => {
|
|
|
|
res.sendFile(__dirname + "/views/index.html");
|
|
|
|
});
|
2017-02-18 20:06:54 +01:00
|
|
|
|
2023-03-28 16:56:48 +02:00
|
|
|
app.post("/api/users", (req, res) => {
|
|
|
|
const username = req.body.username;
|
|
|
|
const exerciseLogsModel = new exerciseLogs({ username: username });
|
|
|
|
exerciseLogsModel
|
|
|
|
.save()
|
|
|
|
.then((user) => {
|
|
|
|
if (user) return res.json({ username: user.username, _id: user._id });
|
|
|
|
res.status(500);
|
|
|
|
res.json({ error: `Error creating user: ${username}` });
|
|
|
|
})
|
|
|
|
.catch((err) => {
|
|
|
|
res.status(500);
|
|
|
|
return res.json({
|
|
|
|
error: `Error type 2 while creating user: ${username}`,
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
2023-03-28 07:31:44 +02:00
|
|
|
const listener = app.listen(PORT, () => {
|
|
|
|
console.log("Your app is listening on port " + listener.address().port);
|
|
|
|
});
|