UNPKG

@speakr/speakr-module-services

Version:
69 lines (62 loc) 1.74 kB
"use strict"; const db = require('../../db/'); module.exports = { byId, byEmailOrUsername, byIdHash, byResetPasswordToken }; function byResetPasswordToken(options) { return db.users.findOne({ where : { reset_password_token: options.reset_password_token, reset_password_sent_at: {$gt: Date.now() }}}) .then((users) => { if(!!users) { options.users = users; return Promise.resolve(options); } else { return Promise.reject('User not found, or reset token has expired.'); } }); } function byId(options) { let where = { id: options.user.network_id }; return db.users.findOne({where}) .then((users) => { delete options.user.network_id; if(!!users) { options.user = users; return Promise.resolve(options); } else { return Promise.resolve(options); } }); } function byEmailOrUsername(options) { return db.users.findOne({where: { $or: [{ email: options.params.email }, { username: options.params.email} ]}}) .then((users) => { if (!users) { return Promise.reject({ code: 500, section: '/feature/user/read/byEmail', message: 'email does not exist' }); } else { options.users = users; return Promise.resolve(options); } }); } function byIdHash(options) { const id_hash = options.req.headers.user_id_hash || options.req.params.user_hash; const where = { id_hash }; return db.users.findOne({ where }).then(users => { if(!users) throw new Error(`Couldn't find user with id_hash :: ${id_hash}`) options.users = users; return Promise.resolve(options) }).catch(err => Promise.reject(err)) }