Skip to content
Snippets Groups Projects
user.js 1.15 KiB
Newer Older
Bastien's avatar
Bastien committed
const userDb = require('../models/userDb');
const bcrypt = require('bcryptjs');

exports.signup = async (username, lastname, firstname, birthdate, password) => {

    try {
        const hash = await bcrypt.hash(password, 10);
        return await userDb.insertUser(username, lastname, firstname, hash, birthdate);
    } catch (error) {
        throw new Error(error);
    }
}

exports.login = async (username, password) => {
    try {
        let userInfos = await userDb.getuserPasswordHash(username);
        if (userInfos != null) {
            const match = await bcrypt.compare(password, userInfos.mdp);
            if (match) {
                return true;
            } else {
                // Le mot de passe donné ne corresponds pas à celui dans la bdd
                return false;
            }
        }
        else {
            //pas d'utilisateur trouvé avec ce username
            return false;
        }
    } catch (error) {
        throw new Error(error);
    }
}

exports.getUserInformations = async (username) => {
    try {
        return await userDb.getuserInformations(username);
    } catch (error) {
        throw new Error(error);
    }
}