Skip to content
Snippets Groups Projects
Commit 3cd87ae7 authored by Bastien's avatar Bastien
Browse files

fonctions back

parent 6d8bec65
No related branches found
No related tags found
No related merge requests found
...@@ -61,6 +61,17 @@ exports.getUserInformations = async (req, res, next) => { ...@@ -61,6 +61,17 @@ exports.getUserInformations = async (req, res, next) => {
}; };
exports.getUserSeenMovies= async (req, res, next) => {
let username = req.session.username;
try {
let result = await userServices.getUserSeenMovies(username);
res.status(200).json(result);
} catch (error) {
res.status(500).json({ error : error.toString()});
}
};
// exports.changeUserInfos = async (req, res, next) => { // exports.changeUserInfos = async (req, res, next) => {
......
...@@ -11,6 +11,8 @@ router.post('/signup', controller.signup); ...@@ -11,6 +11,8 @@ router.post('/signup', controller.signup);
router.get('/logout',auth.auth,controller.logout); router.get('/logout',auth.auth,controller.logout);
router.get('/seenMovies',auth.auth,controller.getUserSeenMovies);
// router.put('/',auth.auth,controller.changeUserInfos); // router.put('/',auth.auth,controller.changeUserInfos);
......
...@@ -100,4 +100,34 @@ exports.deleteMovieUserRate = async (movieId, userId) => { ...@@ -100,4 +100,34 @@ exports.deleteMovieUserRate = async (movieId, userId) => {
} catch (error) { } catch (error) {
throw new Error(error); throw new Error(error);
} }
}
/**
* Récupère les films associés à un genre en fonction de son identifiant unique.
*
* @param {string} styleId - L'identifiant unique du genre (idGen).
* @returns {Promise<Array<Object>>} Une promesse qui se résout avec un tableau d'objets contenant les informations sur les films associés au genre.
* La promesse se rejette avec une erreur si l'opération échoue.
*/
exports.getMoviesByStyle = async (styleId) => {
try {
return await moviesDb.getMoviesByStyle(styleId);
} catch (error) {
throw new Error(error);
}
}
/**
* Récupère les genres associés à un film en fonction de son identifiant unique.
*
* @param {string} movieId - L'identifiant unique du film (tconst).
* @returns {Promise<Array<Object>>} Une promesse qui se résout avec un tableau d'objets contenant les informations sur les genres associés au film.
* La promesse se rejette avec une erreur si l'opération échoue.
*/
exports.getMovieStyles = async (movieId) => {
try {
return await moviesDb.getMovieStyles(movieId);
} catch (error) {
throw new Error(error);
}
} }
\ No newline at end of file
const personDb = require('../models/personDb'); const personDb = require('../models/personDb');
/**
* Récupère les informations d'une personne en fonction de son identifiant unique.
*
* @param {string} personId - L'identifiant unique de la personne (nconst).
* @returns {Promise<Object|null>} Une promesse qui se résout avec un objet contenant les informations de la personne.
* La promesse se rejette avec une erreur si l'opération échoue.
*/
exports.getPersonById = async (personId) => { exports.getPersonById = async (personId) => {
try { try {
return await personDb.getPersonById(personId); return await personDb.getPersonById(personId);
...@@ -8,6 +15,13 @@ exports.getPersonById = async (personId) => { ...@@ -8,6 +15,13 @@ exports.getPersonById = async (personId) => {
} }
} }
/**
* Récupère les films associés à une personne (acteur, réalisateur, etc.) en fonction de son identifiant unique.
*
* @param {string} personId - L'identifiant unique de la personne (nconst).
* @returns {Promise<Array<Object>>} Une promesse qui se résout avec un tableau d'objets contenant les informations sur les films associés à la personne.
* La promesse se rejette avec une erreur si l'opération échoue.
*/
exports.getPersonMovies = async (personId) => { exports.getPersonMovies = async (personId) => {
try { try {
return await personDb.getPersonMovies(personId); return await personDb.getPersonMovies(personId);
......
const userDb = require('../models/userDb'); const userDb = require('../models/userDb');
const bcrypt = require('bcryptjs'); const bcrypt = require('bcryptjs');
/**
* Enregistre un nouvel utilisateur dans la base de données.
*
* @param {string} username - Le nom d'utilisateur du nouvel utilisateur.
* @param {string} lastname - Le nom de famille du nouvel utilisateur.
* @param {string} firstname - Le prénom du nouvel utilisateur.
* @param {string} birthdate - La date de naissance du nouvel utilisateur.
* @param {string} password - Le mot de passe du nouvel utilisateur.
* @returns {Promise<Object>} Une promesse qui se résout avec un objet contenant des informations sur l'opération d'inscription.
* La promesse se rejette avec une erreur si l'opération échoue.
*/
exports.signup = async (username, lastname, firstname, birthdate, password) => { exports.signup = async (username, lastname, firstname, birthdate, password) => {
try { try {
...@@ -11,6 +23,14 @@ exports.signup = async (username, lastname, firstname, birthdate, password) => { ...@@ -11,6 +23,14 @@ exports.signup = async (username, lastname, firstname, birthdate, password) => {
} }
} }
/**
* Gère le processus de connexion d'un utilisateur.
*
* @param {string} username - Le nom d'utilisateur de l'utilisateur tentant de se connecter.
* @param {string} password - Le mot de passe fourni par l'utilisateur.
* @returns {Promise<boolean>} Une promesse qui se résout avec un booléen indiquant si l'authentification a réussi.
* La promesse se rejette avec une erreur si l'opération échoue.
*/
exports.login = async (username, password) => { exports.login = async (username, password) => {
try { try {
let userInfos = await userDb.getuserPasswordHash(username); let userInfos = await userDb.getuserPasswordHash(username);
...@@ -32,10 +52,34 @@ exports.login = async (username, password) => { ...@@ -32,10 +52,34 @@ exports.login = async (username, password) => {
} }
} }
/**
* Récupère les informations d'un utilisateur en fonction de son nom d'utilisateur.
*
* @param {string} username - Le nom d'utilisateur de l'utilisateur dont les informations sont récupérées.
* @returns {Promise<Object|null>} Une promesse qui se résout avec un objet contenant les informations de l'utilisateur.
* La promesse se rejette avec une erreur si l'opération échoue.
*/
exports.getUserInformations = async (username) => { exports.getUserInformations = async (username) => {
try { try {
return await userDb.getuserInformations(username); return await userDb.getuserInformations(username);
} catch (error) { } catch (error) {
throw new Error(error); throw new Error(error);
} }
}
/**
* Récupère les films vus par un utilisateur en fonction de son nom d'utilisateur.
*
* @param {string} username - Le nom d'utilisateur de l'utilisateur dont les films vus sont récupérés.
* @returns {Promise<Array<Object>>} Une promesse qui se résout avec un tableau d'objets contenant les informations sur les films vus par l'utilisateur.
* Chaque objet du tableau a une structure similaire à celui renvoyé par userDb.getUserSeenMovies.
* La promesse se rejette avec une erreur si l'opération échoue.
*/
exports.getUserSeenMovies = async (username) => {
try {
return await userDb.getUserSeenMovies(username);
}
catch (error) {
throw new Error(error);
}
} }
\ 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