const db = require('../models'); const logger = require('winston'); module.exports = { authenticateChannelCredentials (channelName, userPassword) { return new Promise((resolve, reject) => { if (!channelName) { resolve(true); return; } const userName = channelName.substring(1); logger.debug(`authenticateChannelCredentials > channelName: ${channelName} username: ${userName} pass: ${userPassword}`); db.User .findOne({where: { userName }}) .then(user => { if (!user) { logger.debug('no user found'); resolve(false); return; } if (!user.validPassword(userPassword, user.password)) { logger.debug('incorrect password'); resolve(false); return; } logger.debug('user found:', user.dataValues); resolve(true); }) .catch(error => { logger.error(error); reject(); }); }); }, };