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