This repository has been archived on 2026-05-01. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
chatless/backend/service-authentication/mongodbQueries.js
NyxiumYuuki c5406006da updated
2021-05-31 23:09:58 +02:00

58 lines
2 KiB
JavaScript

const config = require('./config');
const mongoDB = require ('./mongodbConnect').getDB();
function checkLoginQuery(login, password){
// SELECT idUtilisateurs
// FROM utilisateurs
// WHERE login = ? AND password = ?;
return new Promise((resolve, reject) => {
resolve(mongoDB.collection(config.mongodbUtilisateurs).find(
{login: login, password: password},
{projection: {_id: 1}}).count());
});
}
module.exports.checkLoginQuery = checkLoginQuery;
function register(login, password){
// INSERT INTO users(login, password)
return new Promise((resolve, reject) => {
mongoDB.collection(config.mongodbUtilisateurs).updateOne(
{'login': login},
{$set: { 'login': login, 'password': password}},
{upsert:true},function(err,res){
//console.log(res);
if(res !== undefined){
resolve(res.upsertedCount === 1);
}
});
});
}
module.exports.register = register;
function getUsersQuery(username){
return new Promise((resolve, reject) => {
mongoDB.collection(config.mongodbUtilisateurs).find(
{ $and: [{'login': {$ne: 'Server'}}, {'login': {$ne: username}}]},
{projection: {_id: 0, password: 0}}
).toArray(function (err, result){
if(err) throw err;
resolve(result);
});
});
}
module.exports.getUsersQuery = getUsersQuery
function changePasswordQuery(login, password, newPassword){
return new Promise((resolve, reject) => {
mongoDB.collection(config.mongodbUtilisateurs).findOneAndUpdate(
{'login': login, 'password': password},
{$set: { 'login': login, 'password': newPassword}}
,function(err,res){
if(res !== undefined){
console.log(res);
resolve(res.lastErrorObject.n === 1);
}
});
});
}
module.exports.changePasswordQuery = changePasswordQuery;