diff --git a/backend/.env.example b/backend/.env.example deleted file mode 100644 index 71b3cd7f04b26ba97e500533623b56cdcac0f6df..0000000000000000000000000000000000000000 --- a/backend/.env.example +++ /dev/null @@ -1,3 +0,0 @@ -PORT=3000 -NODE_ENV=development -MONGO_DB_URL=mongodb://username:password@hostname:27017/databasename?ssl=true diff --git a/backend/models/movie.js b/backend/models/movie.js new file mode 100644 index 0000000000000000000000000000000000000000..5b8ff95dd647776da0a2598b2c05f813df7cc7b2 --- /dev/null +++ b/backend/models/movie.js @@ -0,0 +1,12 @@ +const mongoose = require("mongoose"); + +const MovieSchema = new mongoose.Schema({ + title: { type: String, required: true, unique: true }, + type: { type: String }, + description: { type : String }, + url: { type : String }, +}); + +const MovieModel = mongoose.model("MovieModel", MovieSchema, "movies"); + +module.exports = MovieModel; diff --git a/backend/routes/movies.js b/backend/routes/movies.js index 8ff906c0767b6a325697b99d0f1f7de7d5e37a23..beb0408ece0365e614f242b974df2a60a5544f81 100644 --- a/backend/routes/movies.js +++ b/backend/routes/movies.js @@ -1,8 +1,36 @@ const express = require("express"); const router = express.Router(); +const MovieModel = require("../models/movie"); router.get("/", function (req, res) { - res.send(["element1", "element2"]); + MovieModel.find({}).then(function (movies) { + res.json({ movies: movies }); + }); +}); + +router.post("/new", async function (req, res) { + try { + const newMovie = new MovieModel({ + title: req.body.title, + type: req.body.type, + }); + + + const createdMovie = await newMovie.save() + + res.status(201).json(createdMovie); + +}catch (error) { + console.error(error); + if (error.code === 11000) { + res.status(400).json({ + message: `Movie with title "${newMovie.title}" already exists`, + }); + } else { + res.status(500).json({ message: "Error while creating the movie" }); + } + }; + }); module.exports = router; diff --git a/backend/server.js b/backend/server.js index 2d9f2f0661fb7430a9023df0c546acb33ef8b334..1fce99bf8a2ce7041e695db5eb21cbd0ce3b9b89 100644 --- a/backend/server.js +++ b/backend/server.js @@ -1,14 +1,14 @@ const express = require("express"); const logger = require("morgan"); const cors = require("cors"); -//const mongoose = require("mongoose"); +const mongoose = require("mongoose"); const indexRouter = require("./routes/index"); const usersRouter = require("./routes/users"); const moviesRouter = require("./routes/movies"); const routeNotFoundJsonHandler = require("./services/routeNotFoundJsonHandler"); const jsonErrorHandler = require("./services/jsonErrorHandler"); -//mongoose.connect(process.env.MONGO_DB_URL); +mongoose.connect(process.env.MONGO_DB_URL); const app = express();