From 01d117cdd731c4b50c73ea3b1ee7656a513b761c Mon Sep 17 00:00:00 2001 From: El Yaagoubi Bilel <bilel.el-yaagoubi@student-cs.fr> Date: Tue, 7 Jun 2022 13:29:13 +0200 Subject: [PATCH] start of work --- backend/models/movies.js | 12 ++++++++++++ backend/routes/movies.js | 30 ++++++++++++++++++++++++++++++ backend/server.js | 3 +++ 3 files changed, 45 insertions(+) create mode 100644 backend/models/movies.js create mode 100644 backend/routes/movies.js diff --git a/backend/models/movies.js b/backend/models/movies.js new file mode 100644 index 0000000..d2ac6e9 --- /dev/null +++ b/backend/models/movies.js @@ -0,0 +1,12 @@ +const mongoose = require("mongoose"); + +const MovieSchema = new mongoose.Schema({ + publisher: { type: String, required: true }, + title: { type: String, required: true, unique: true }, + date: { type: String }, + imageURL: { type: String }, +}); + +const MovieModel = mongoose.model("MovieModel", MovieSchema, "movies"); + +module.exports = MovieModel; diff --git a/backend/routes/movies.js b/backend/routes/movies.js new file mode 100644 index 0000000..11b4885 --- /dev/null +++ b/backend/routes/movies.js @@ -0,0 +1,30 @@ +const express = require("express"); +const MovieModel = require("../models/movies"); +const router = express.Router(); + +module.exports = router; + +router.get("/", function (req, res) { + res.send("Hello world"); +}); + +router.post("/new", async function (req, res) { + try { + const newMovie = new MovieModel({ + // Movie attributes + publisher: req.body.publisher, + title: req.body.title, + date: req.body.date, + imageURL: req.body.imageURL, + }); + + // Create a new movie instance + const createdMovie = await newMovie.save(); + + // What to do after movie has been saved ! + console.log("Movie Saved"); + res.send(createdMovie); + } catch (error) { + console.log(error); + } +}); diff --git a/backend/server.js b/backend/server.js index 17e62cf..fd19e9f 100644 --- a/backend/server.js +++ b/backend/server.js @@ -4,6 +4,7 @@ const cors = require("cors"); 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"); @@ -20,6 +21,8 @@ app.use(express.urlencoded({ extended: false })); app.use("/", indexRouter); app.use("/users", usersRouter); +app.use("/movies", moviesRouter); + // Register 404 middleware and error handler app.use(routeNotFoundJsonHandler); // this middleware must be registered after all routes to handle 404 correctly app.use(jsonErrorHandler); // this error handler must be registered after all middlewares to catch all errors -- GitLab