Skip to content
Snippets Groups Projects
Commit 1101b807 authored by Pascalou's avatar Pascalou
Browse files

Page de acteurs, realisateurs...

parent 37ea4332
No related branches found
No related tags found
No related merge requests found
const db = require('../models/db');
exports.getPersonInformations = (req, res, next) => {
let personId = req.params.id;
db.query('SELECT * FROM Personne WHERE nconst = ?',
[personId], function (error, results, fields) {
if (error) {
res.status(500).json({ error });
} else {
let infos = results[0];
res.status(200).json(infos);
}
})
};
\ No newline at end of file
const express = require('express');
const router = express.Router();
const controller = require('../controllers/personController');
router.get('/:id(nm\\d+)',controller.getPersonInformations);
module.exports = router;
\ No newline at end of file
......@@ -18,6 +18,8 @@ const userRoutes = require('./routes/user');
app.use('/user', userRoutes);
const moviesRoutes = require('./routes/movies');
app.use('/movies',moviesRoutes);
const personRoutes = require('./routes/person');
app.use('/person',personRoutes);
app.listen(port, () => {
console.log(`Serveur en cours d'exécution sur le port ${port}`);
......
......@@ -5,6 +5,7 @@ import Inscription from '../views/Inscription.vue'
import MonCompte from '../views/MonCompte.vue'
import PageFilm from '../views/PageFilm.vue'
import SearchResults from '../views/SearchResults.vue'
import PagePersonne from '../views/PagePersonne.vue'
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
......@@ -38,7 +39,12 @@ const router = createRouter({
path: '/search',
name: 'search',
component: SearchResults
}
},
{
path: '/person/:id',
name: 'person',
component: PagePersonne
},
]
})
......
......@@ -14,7 +14,7 @@ let note = ref('');
let nbNotes = ref('');
async function getUserInfo() {
async function getFilmInfo() {
try {
const response = await fetch('http://localhost:3000/movies/' + route.params.id, { credentials: 'include' });
......@@ -40,7 +40,7 @@ async function getUserInfo() {
}
onMounted(() => {
getUserInfo();
getFilmInfo();
});
</script>
......
<script setup>
import Header from '@/components/Header.vue'
import { ref, onMounted } from 'vue';
import {useRoute} from 'vue-router';
const route = useRoute();
let nom = ref('');
let prenom = ref('');
let birthYear = ref('');
let deathYear = ref('');
let profession = ref('');
async function getPersonInfo() {
try {
const response = await fetch('http://localhost:3000/person/' + route.params.id, { credentials: 'include' });
if (response.ok) {
const data = await response.json();
if (data) {
nom.value = data.nom;
prenom.value = data.prenom;
birthYear.value = data.birthYear;
deathYear.value = data.deathYear;
profession.value = data.primaryProfession;
}
} else {
const errorData = await response.json();
console.error('Error:', response.status, errorData);
}
} catch (error) {
console.error('Error during API call:', error);
}
}
onMounted(() => {
getPersonInfo();
});
</script>
<template>
<Header>
</Header>
<h1> {{ nom }} {{ prenom }}</h1>
<h2>Date de naissance : {{ birthYear }}</h2>
<h2 v-if="deathYear">Date de décès : {{ deathYear }} </h2>
<h2>Profession : {{ profession }}</h2>
</template>
<style scoped></style>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment