Utilisation simultanée de mongodb et mysql

This commit is contained in:
Rampeur
2025-08-14 18:22:05 +02:00
parent 49b1a3f6b3
commit 8a011af73a
40 changed files with 3003 additions and 152 deletions
+6 -25
View File
@@ -5,7 +5,9 @@ var LocalStrategy = require('passport-local').Strategy;
var HeaderAPIKeyStrategy = require('passport-headerapikey').HeaderAPIKeyStrategy;
var mongoose = require('mongoose');
var Application = mongoose.model('Application');
var User = mongoose.model('User');
//var User = mongoose.model('User');
const { UserService } = require('../src/services');
passport.use('headerapikey', new HeaderAPIKeyStrategy(
{ header: 'Authorization', prefix: `${process.env.AUTHORIZATION_PREFIX} ` },
@@ -19,32 +21,9 @@ passport.use('headerapikey', new HeaderAPIKeyStrategy(
if (!application) {
return done({message: "Application can't be found.", status: 404}, false, false);
}
console.log('encryptedKey: ', encryptedKey);
return done(null, application);
});
}).catch(done);
/*
const salt = secret;
Promise.resolve(bcrypt.hash(apikey, salt)).then(function (encryptedKey) {
Application.findOne({ encryptedKey: encryptedKey })
.populate('author')
.then(function (application) {
if (!application) {
return done({message: "Application can't be found.", status: 404}, false, false);
}
console.log('encryptedKey: ', encryptedKey);
return done(null, application);
return {app: application, prom: Promise.resolve(bcrypt.compare(apikey, application.apikey))};
}).then(function (res) {
res.prom.then(function (valid) {
if (!valid) {
return done(null, false, {app: res.app, valid: valid});
}
return done(null, res.app, valid);
});
});
}).catch(done);
*/
}
));
@@ -52,7 +31,9 @@ passport.use('local', new LocalStrategy({
usernameField: 'user[email]',
passwordField: 'user[password]'
}, function (email, password, done) {
User.findOne({ email: email }).then(function (user) {
UserService.getUserByEmail({ email }).then(function (user) {
//User.findOne({ email: email }).then(function (user) {
//console.log(user);
if (!user || !user.validPassword(password)) {
return done(null, false, { errors: { 'email ou mot de passe': 'invalide' } });
}