Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | 1x 1x 335x 33x 302x 302x 302x 302x 12x 290x 16x 274x 9x 265x 12x 253x 9x 244x |
const errors = require('@feathersjs/errors');
module.exports = getUserData;
function getUserData (data, checks = []) {
if (Array.isArray(data) ? data.length === 0 : data.total === 0) {
throw new errors.BadRequest('User not found.',
{ errors: { $className: 'badParams' } });
}
const users = Array.isArray(data) ? data : data.data || [ data ];
const user = users[0];
Iif (users.length !== 1) {
throw new errors.BadRequest('More than 1 user selected.',
{ errors: { $className: 'badParams' } });
}
if (checks.includes('isNotVerified') && user.isVerified) {
throw new errors.BadRequest('User is already verified.',
{ errors: { $className: 'isNotVerified' } });
}
if (checks.includes('isNotVerifiedOrHasVerifyChanges') &&
user.isVerified && !Object.keys(user.verifyChanges || {}).length
) {
throw new errors.BadRequest('User is already verified & not awaiting changes.',
{ errors: { $className: 'nothingToVerify' } });
}
if (checks.includes('isVerified') && !user.isVerified) {
throw new errors.BadRequest('User is not verified.',
{ errors: { $className: 'isVerified' } });
}
if (checks.includes('verifyNotExpired') && user.verifyExpires < Date.now()) {
throw new errors.BadRequest('Verification token has expired.',
{ errors: { $className: 'verifyExpired' } });
}
if (checks.includes('resetNotExpired') && user.resetExpires < Date.now()) {
throw new errors.BadRequest('Password reset token has expired.',
{ errors: { $className: 'resetExpired' } });
}
return user;
}
|