Skip to content
Snippets Groups Projects
Commit 381ca560 authored by Bilel El Yaagoubi's avatar Bilel El Yaagoubi
Browse files

thx hamza

parent 3bd59a5d
Branches
No related tags found
1 merge request!8Movie page
Pipeline #42597 failed
const express = require("express");
const GenreModel = require("../models/genre");
const router = express.Router();
module.exports = router;
// router.get("/popular/:number", async function (req, res) {
// try {
// const filmNumber = await req.params["number"];
// const getGenres = await GenreModel.find({})
// .sort({ popularity: "desc" })
// .limit(filmNumber);
// res.send(getGenres);
// } catch (error) {
// console.log(error);
// }
// });
router.get("/genre/id/:id", async function (req, res) {
try {
const genreId = await req.params["id"];
const getGenres = await GenreModel.findOne({ id: genreId });
res.send(getGenres.name);
} catch (error) {
console.log(error);
}
});
// router.post("/new", async function (req, res) {
// try {
// const newGenre = new GenreModel({
// // Genre attributes
// publisher: req.body.publisher,
// title: req.body.title,
// date: req.body.date,
// imageURL: req.body.imageURL,
// viewers: req.body.viewers,
// });
// // Create a new genre instance
// const createdGenre = await newGenre.save();
// // What to do after genre has been saved !
// console.log("Genre Saved");
// res.send(createdGenre);
// } catch (error) {
// console.log(error);
// }
// });
// router.put("/id/:id", async function (req, res) {
// try {
// const genreId = await req.params["id"];
// await GenreModel.findByIdAndUpdate(genreId, {
// publisher: req.body.publisher,
// title: req.body.title,
// date: req.body.date,
// imageURL: req.body.imageURL,
// viewers: req.body.viewers,
// });
// res.send("Done");
// } catch (error) {
// console.log(error);
// res.send("Invalid Id");
// }
// });
...@@ -5,6 +5,7 @@ const mongoose = require("mongoose"); ...@@ -5,6 +5,7 @@ const mongoose = require("mongoose");
const indexRouter = require("./routes/index"); const indexRouter = require("./routes/index");
const usersRouter = require("./routes/users"); const usersRouter = require("./routes/users");
const moviesRouter = require("./routes/movies"); const moviesRouter = require("./routes/movies");
const genresRouter = require("./routes/genres");
const routeNotFoundJsonHandler = require("./services/routeNotFoundJsonHandler"); const routeNotFoundJsonHandler = require("./services/routeNotFoundJsonHandler");
const jsonErrorHandler = require("./services/jsonErrorHandler"); const jsonErrorHandler = require("./services/jsonErrorHandler");
...@@ -22,6 +23,7 @@ app.use("/", indexRouter); ...@@ -22,6 +23,7 @@ app.use("/", indexRouter);
app.use("/users", usersRouter); app.use("/users", usersRouter);
app.use("/movies", moviesRouter); app.use("/movies", moviesRouter);
app.use("/genres", genresRouter);
// Register 404 middleware and error handler // Register 404 middleware and error handler
app.use(routeNotFoundJsonHandler); // this middleware must be registered after all routes to handle 404 correctly app.use(routeNotFoundJsonHandler); // this middleware must be registered after all routes to handle 404 correctly
......
...@@ -2,13 +2,21 @@ ...@@ -2,13 +2,21 @@
<div class="parent"> <div class="parent">
<h1>{{ movieTitle }}</h1> <h1>{{ movieTitle }}</h1>
<h4>{{ movieVoteAverage }}</h4> <h4>{{ movieVoteAverage }}</h4>
<h4>{{ movieGenres }}</h4> <h4>{{ genreArray }}</h4>
<h4>{{ movieOverview }} {{ movieOverview }} {{ movieOverview }}</h4> <h4>{{ movieOverview }} {{ movieOverview }} {{ movieOverview }}</h4>
</div> </div>
</template> </template>
<script> <script>
import axios from "axios";
const backendURL = process.env.VUE_APP_BACKEND_BASE_URL;
export default { export default {
data: function () {
return {
genreArray: [],
};
},
props: { props: {
movieTitle: String, movieTitle: String,
movieDate: String, movieDate: String,
...@@ -16,6 +24,43 @@ export default { ...@@ -16,6 +24,43 @@ export default {
movieOverview: String, movieOverview: String,
movieVoteAverage: Number, movieVoteAverage: Number,
}, },
methods: {
developGenre: async function (genreId) {
try {
console.log("g");
const response = await axios
.get(backendURL + "/genres/genre/id/" + genreId)
.then();
console.log("oi");
console.log(response.data);
return response.data;
} catch (error) {
console.log(error);
}
},
developGenres: function (genreIdArray) {
try {
var res = [];
console.log("f");
console.log(genreIdArray);
// console.log([12, 16].map(this.developGenre));
const genreArray = genreIdArray.map(this.developGenre);
return Promise.all(genreArray);
} catch (error) {
console.log("e");
console.log(error);
}
},
},
created() {
console.log("a");
console.log();
console.log("b");
this.genreArray = this.developGenres([12, 16]).then((results) => {
this.genreArray = results;
});
},
}; };
</script> </script>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment