Skip to content
Snippets Groups Projects
Commit 63837e74 authored by Bastien's avatar Bastien
Browse files

Merge branch 'test-vue' of https://forge.univ-lyon1.fr/p2306959/projet-tutore-s5 into test-vue

parents ad614416 1101b807
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