Comparing version 0.0.4 to 0.0.5
@@ -11,12 +11,29 @@ 'use strict'; | ||
exports.default = function (create, user) { | ||
exports.default = function (create, find, user) { | ||
var password = user.password; | ||
var email = user.email; | ||
var reject = Promise.reject; | ||
return create('user', _extends({}, user, { | ||
var userAlreadyExistsError = function userAlreadyExistsError() { | ||
return new Error('This email address is already taken.'); | ||
}; | ||
// override password with the hashed one | ||
password: (0, _utils.hash)(password) | ||
})); | ||
var rejectIfExists = function rejectIfExists(users) { | ||
if (users.length) return reject(); | ||
return true; | ||
}; | ||
var createUser = function createUser() { | ||
return create('user', _extends({}, user, { | ||
// override password with the hashed one | ||
password: (0, _utils.hash)(password) | ||
})); | ||
}; | ||
return find('user', { email: email }).then(rejectIfExists).then(createUser).catch(function () { | ||
throw userAlreadyExistsError(); | ||
}); | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9hdXRoU2lnbnVwLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7O2tCQUVlLFVBQUMsTUFBRCxFQUFTLElBQVQsRUFBa0I7QUFBQSxNQUN2QixRQUR1QixHQUNWLElBRFUsQ0FDdkIsUUFEdUI7OztBQUcvQixTQUFPLE9BQU8sTUFBUCxlQUVGLElBRkU7OztBQUtMLGNBQVUsaUJBQUssUUFBTDtBQUxMLEtBQVA7QUFPRCxDIiwiZmlsZSI6ImF1dGhTaWdudXAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBoYXNoIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBkZWZhdWx0IChjcmVhdGUsIHVzZXIpID0+IHtcbiAgY29uc3QgeyBwYXNzd29yZCB9ID0gdXNlcjtcblxuICByZXR1cm4gY3JlYXRlKCd1c2VyJywge1xuICAgIC8vIG1lcmdlIHVzZXIgZmllbGRzXG4gICAgLi4udXNlcixcblxuICAgIC8vIG92ZXJyaWRlIHBhc3N3b3JkIHdpdGggdGhlIGhhc2hlZCBvbmVcbiAgICBwYXNzd29yZDogaGFzaChwYXNzd29yZCksXG4gIH0pO1xufTtcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9hdXRoU2lnbnVwLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7O2tCQUVlLFVBQUMsTUFBRCxFQUFTLElBQVQsRUFBZSxJQUFmLEVBQXdCO0FBQUEsTUFDN0IsUUFENkIsR0FDVCxJQURTLENBQzdCLFFBRDZCO0FBQUEsTUFDbkIsS0FEbUIsR0FDVCxJQURTLENBQ25CLEtBRG1CO0FBQUEsTUFFN0IsTUFGNkIsR0FFbEIsT0FGa0IsQ0FFN0IsTUFGNkI7OztBQUlyQyxNQUFNLHlCQUF5QixTQUF6QixzQkFBeUI7QUFBQSxXQUM3QixJQUFJLEtBQUosQ0FBVSxzQ0FBVixDQUQ2QjtBQUFBLEdBQS9COztBQUdBLE1BQU0saUJBQWlCLFNBQWpCLGNBQWlCLENBQUMsS0FBRCxFQUFXO0FBQ2hDLFFBQUksTUFBTSxNQUFWLEVBQWtCLE9BQU8sUUFBUDtBQUNsQixXQUFPLElBQVA7QUFDRCxHQUhEOztBQUtBLE1BQU0sYUFBYSxTQUFiLFVBQWE7QUFBQSxXQUFNLE9BQU8sTUFBUCxlQUVwQixJQUZvQjs7O0FBS3ZCLGdCQUFVLGlCQUFLLFFBQUw7QUFMYSxPQUFOO0FBQUEsR0FBbkI7O0FBUUEsU0FBTyxLQUFLLE1BQUwsRUFBYSxFQUFFLFlBQUYsRUFBYixFQUNKLElBREksQ0FDQyxjQURELEVBRUosSUFGSSxDQUVDLFVBRkQsRUFHSixLQUhJLENBR0UsWUFBTTtBQUNYLFVBQU0sd0JBQU47QUFDRCxHQUxJLENBQVA7QUFNRCxDIiwiZmlsZSI6ImF1dGhTaWdudXAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBoYXNoIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBkZWZhdWx0IChjcmVhdGUsIGZpbmQsIHVzZXIpID0+IHtcbiAgY29uc3QgeyBwYXNzd29yZCwgZW1haWwgfSA9IHVzZXI7XG4gIGNvbnN0IHsgcmVqZWN0IH0gPSBQcm9taXNlO1xuXG4gIGNvbnN0IHVzZXJBbHJlYWR5RXhpc3RzRXJyb3IgPSAoKSA9PlxuICAgIG5ldyBFcnJvcignVGhpcyBlbWFpbCBhZGRyZXNzIGlzIGFscmVhZHkgdGFrZW4uJyk7XG5cbiAgY29uc3QgcmVqZWN0SWZFeGlzdHMgPSAodXNlcnMpID0+IHtcbiAgICBpZiAodXNlcnMubGVuZ3RoKSByZXR1cm4gcmVqZWN0KCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG5cbiAgY29uc3QgY3JlYXRlVXNlciA9ICgpID0+IGNyZWF0ZSgndXNlcicsIHtcbiAgICAvLyBtZXJnZSB1c2VyIGZpZWxkc1xuICAgIC4uLnVzZXIsXG5cbiAgICAvLyBvdmVycmlkZSBwYXNzd29yZCB3aXRoIHRoZSBoYXNoZWQgb25lXG4gICAgcGFzc3dvcmQ6IGhhc2gocGFzc3dvcmQpLFxuICB9KTtcblxuICByZXR1cm4gZmluZCgndXNlcicsIHsgZW1haWwgfSlcbiAgICAudGhlbihyZWplY3RJZkV4aXN0cylcbiAgICAudGhlbihjcmVhdGVVc2VyKVxuICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICB0aHJvdyB1c2VyQWxyZWFkeUV4aXN0c0Vycm9yKCk7XG4gICAgfSk7XG59O1xuIl19 |
@@ -75,3 +75,3 @@ 'use strict'; | ||
value: function authSignup(user) { | ||
return (0, _authSignup3.default)(this.create.bind(this), user); | ||
return (0, _authSignup3.default)(this.create.bind(this), this.find.bind(this), user); | ||
} | ||
@@ -133,2 +133,2 @@ }, { | ||
exports.default = Store; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUNBOztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7Ozs7O0lBRXFCLEs7QUFDbkIsbUJBQXlDO0FBQUEsUUFBN0IsT0FBNkIseURBQW5CLEVBQW1CO0FBQUEsUUFBZixRQUFlLHlEQUFKLEVBQUk7O0FBQUE7O0FBQ3ZDLFFBQU0sV0FBVyxFQUFqQjtBQUNBLFFBQU0sUUFBUSxrQkFBSyxPQUFMLENBQWQ7O0FBRUEsUUFBSSxDQUFDLE1BQU0sTUFBWCxFQUFtQjtBQUNqQixjQUFRLElBQVIsQ0FDRSw4Q0FERjtBQUdEOztBQUVELFVBQU0sT0FBTixDQUFjO0FBQUEsYUFBVyxTQUFTLE1BQVQsSUFBbUIsRUFBOUI7QUFBQSxLQUFkOztBQUVBLFNBQUssT0FBTCxHQUFlLE9BQWY7QUFDQSxTQUFLLFFBQUwsZ0JBQXFCLFFBQXJCLEVBQWtDLFFBQWxDO0FBQ0Q7Ozs7K0JBRVUsSSxFQUFNO0FBQ2YsYUFBTywwQkFBVyxLQUFLLE1BQUwsQ0FBWSxJQUFaLENBQWlCLElBQWpCLENBQVgsRUFBbUMsSUFBbkMsQ0FBUDtBQUNEOzs7OEJBRVMsSyxFQUFPLFEsRUFBVTtBQUN6QixhQUFPLHlCQUFVLEtBQUssSUFBTCxDQUFVLElBQVYsQ0FBZSxJQUFmLENBQVYsRUFBZ0MsS0FBaEMsRUFBdUMsUUFBdkMsQ0FBUDtBQUNEOzs7K0JBRVUsSyxFQUFPO0FBQ2hCLGFBQU8sMEJBQVcsS0FBWCxDQUFQO0FBQ0Q7OzsyQkFFTSxJLEVBQU0sTSxFQUFRO0FBQUEsVUFDWCxRQURXLEdBQ1csSUFEWCxDQUNYLFFBRFc7QUFBQSxVQUNELE9BREMsR0FDVyxJQURYLENBQ0QsT0FEQzs7QUFFbkIsYUFBTyxzQkFBTyxFQUFFLGtCQUFGLEVBQVksZ0JBQVosRUFBcUIsVUFBckIsRUFBMkIsY0FBM0IsRUFBUCxDQUFQO0FBQ0Q7Ozt3QkFFRyxJLEVBQU0sRSxFQUFJO0FBQUEsVUFDSixRQURJLEdBQ1MsSUFEVCxDQUNKLFFBREk7O0FBRVosYUFBTyxtQkFBSSxFQUFFLGtCQUFGLEVBQVksVUFBWixFQUFrQixNQUFsQixFQUFKLENBQVA7QUFDRDs7OzBCQUVLLEksRUFBTSxFLEVBQUk7QUFBQSxVQUNOLFFBRE0sR0FDZ0IsSUFEaEIsQ0FDTixRQURNO0FBQUEsVUFDSSxPQURKLEdBQ2dCLElBRGhCLENBQ0ksT0FESjs7QUFFZCxhQUFPLHFCQUFNLEVBQUUsa0JBQUYsRUFBWSxnQkFBWixFQUFxQixVQUFyQixFQUEyQixNQUEzQixFQUFOLENBQVA7QUFDRDs7O3lCQUVJLEksRUFBTSxPLEVBQVM7QUFBQSxVQUNWLFFBRFUsR0FDWSxJQURaLENBQ1YsUUFEVTtBQUFBLFVBQ0EsT0FEQSxHQUNZLElBRFosQ0FDQSxPQURBOztBQUVsQixhQUFPLG9CQUFLLEVBQUUsa0JBQUYsRUFBWSxnQkFBWixFQUFxQixVQUFyQixFQUEyQixnQkFBM0IsRUFBTCxDQUFQO0FBQ0Q7OzsyQkFFTSxJLEVBQU0sRSxFQUFJLEksRUFBTTtBQUFBLFVBQ2IsUUFEYSxHQUNTLElBRFQsQ0FDYixRQURhO0FBQUEsVUFDSCxPQURHLEdBQ1MsSUFEVCxDQUNILE9BREc7O0FBRXJCLGFBQU8sc0JBQU8sRUFBRSxrQkFBRixFQUFZLGdCQUFaLEVBQXFCLFVBQXJCLEVBQTJCLE1BQTNCLEVBQStCLFVBQS9CLEVBQVAsQ0FBUDtBQUNEOzs7Ozs7a0JBcERrQixLIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuaW1wb3J0IHsga2V5cyB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgYXV0aFNpZ251cCBmcm9tICcuL2F1dGhTaWdudXAnO1xuaW1wb3J0IGF1dGhUb2tlbiBmcm9tICcuL2F1dGhUb2tlbic7XG5pbXBvcnQgYXV0aFZlcmlmeSBmcm9tICcuL2F1dGhWZXJpZnknO1xuaW1wb3J0IGNyZWF0ZSBmcm9tICcuL2NyZWF0ZSc7XG5pbXBvcnQgZGVsIGZyb20gJy4vZGVsJztcbmltcG9ydCBmZXRjaCBmcm9tICcuL2ZldGNoJztcbmltcG9ydCBmaW5kIGZyb20gJy4vZmluZCc7XG5pbXBvcnQgdXBkYXRlIGZyb20gJy4vdXBkYXRlJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3RvcmUge1xuICBjb25zdHJ1Y3RvcihzY2hlbWFzID0ge30sIGZpeHR1cmVzID0ge30pIHtcbiAgICBjb25zdCBkYXRhYmFzZSA9IHt9O1xuICAgIGNvbnN0IHR5cGVzID0ga2V5cyhzY2hlbWFzKTtcblxuICAgIGlmICghdHlwZXMubGVuZ3RoKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdZb3UgcGFzc2VkIGluIGEgc2NoZW1hcyBvYmplY3Qgd2l0aCBubyBrZXlzLidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdHlwZXMuZm9yRWFjaChzY2hlbWEgPT4gKGRhdGFiYXNlW3NjaGVtYV0gPSB7fSkpO1xuXG4gICAgdGhpcy5zY2hlbWFzID0gc2NoZW1hcztcbiAgICB0aGlzLmRhdGFiYXNlID0geyAuLi5kYXRhYmFzZSwgLi4uZml4dHVyZXMgfTtcbiAgfVxuXG4gIGF1dGhTaWdudXAodXNlcikge1xuICAgIHJldHVybiBhdXRoU2lnbnVwKHRoaXMuY3JlYXRlLmJpbmQodGhpcyksIHVzZXIpO1xuICB9XG5cbiAgYXV0aFRva2VuKGVtYWlsLCBwYXNzd29yZCkge1xuICAgIHJldHVybiBhdXRoVG9rZW4odGhpcy5maW5kLmJpbmQodGhpcyksIGVtYWlsLCBwYXNzd29yZCk7XG4gIH1cblxuICBhdXRoVmVyaWZ5KHRva2VuKSB7XG4gICAgcmV0dXJuIGF1dGhWZXJpZnkodG9rZW4pO1xuICB9XG5cbiAgY3JlYXRlKHR5cGUsIHJlY29yZCkge1xuICAgIGNvbnN0IHsgZGF0YWJhc2UsIHNjaGVtYXMgfSA9IHRoaXM7XG4gICAgcmV0dXJuIGNyZWF0ZSh7IGRhdGFiYXNlLCBzY2hlbWFzLCB0eXBlLCByZWNvcmQgfSk7XG4gIH1cblxuICBkZWwodHlwZSwgaWQpIHtcbiAgICBjb25zdCB7IGRhdGFiYXNlIH0gPSB0aGlzO1xuICAgIHJldHVybiBkZWwoeyBkYXRhYmFzZSwgdHlwZSwgaWQgfSk7XG4gIH1cblxuICBmZXRjaCh0eXBlLCBpZCkge1xuICAgIGNvbnN0IHsgZGF0YWJhc2UsIHNjaGVtYXMgfSA9IHRoaXM7XG4gICAgcmV0dXJuIGZldGNoKHsgZGF0YWJhc2UsIHNjaGVtYXMsIHR5cGUsIGlkIH0pO1xuICB9XG5cbiAgZmluZCh0eXBlLCBmaWx0ZXJzKSB7XG4gICAgY29uc3QgeyBkYXRhYmFzZSwgc2NoZW1hcyB9ID0gdGhpcztcbiAgICByZXR1cm4gZmluZCh7IGRhdGFiYXNlLCBzY2hlbWFzLCB0eXBlLCBmaWx0ZXJzIH0pO1xuICB9XG5cbiAgdXBkYXRlKHR5cGUsIGlkLCBkYXRhKSB7XG4gICAgY29uc3QgeyBkYXRhYmFzZSwgc2NoZW1hcyB9ID0gdGhpcztcbiAgICByZXR1cm4gdXBkYXRlKHsgZGF0YWJhc2UsIHNjaGVtYXMsIHR5cGUsIGlkLCBkYXRhIH0pO1xuICB9XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUNBOztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7Ozs7O0lBRXFCLEs7QUFDbkIsbUJBQXlDO0FBQUEsUUFBN0IsT0FBNkIseURBQW5CLEVBQW1CO0FBQUEsUUFBZixRQUFlLHlEQUFKLEVBQUk7O0FBQUE7O0FBQ3ZDLFFBQU0sV0FBVyxFQUFqQjtBQUNBLFFBQU0sUUFBUSxrQkFBSyxPQUFMLENBQWQ7O0FBRUEsUUFBSSxDQUFDLE1BQU0sTUFBWCxFQUFtQjtBQUNqQixjQUFRLElBQVIsQ0FDRSw4Q0FERjtBQUdEOztBQUVELFVBQU0sT0FBTixDQUFjO0FBQUEsYUFBVyxTQUFTLE1BQVQsSUFBbUIsRUFBOUI7QUFBQSxLQUFkOztBQUVBLFNBQUssT0FBTCxHQUFlLE9BQWY7QUFDQSxTQUFLLFFBQUwsZ0JBQXFCLFFBQXJCLEVBQWtDLFFBQWxDO0FBQ0Q7Ozs7K0JBRVUsSSxFQUFNO0FBQ2YsYUFBTywwQkFDTCxLQUFLLE1BQUwsQ0FBWSxJQUFaLENBQWlCLElBQWpCLENBREssRUFFTCxLQUFLLElBQUwsQ0FBVSxJQUFWLENBQWUsSUFBZixDQUZLLEVBR0wsSUFISyxDQUFQO0FBS0Q7Ozs4QkFFUyxLLEVBQU8sUSxFQUFVO0FBQ3pCLGFBQU8seUJBQVUsS0FBSyxJQUFMLENBQVUsSUFBVixDQUFlLElBQWYsQ0FBVixFQUFnQyxLQUFoQyxFQUF1QyxRQUF2QyxDQUFQO0FBQ0Q7OzsrQkFFVSxLLEVBQU87QUFDaEIsYUFBTywwQkFBVyxLQUFYLENBQVA7QUFDRDs7OzJCQUVNLEksRUFBTSxNLEVBQVE7QUFBQSxVQUNYLFFBRFcsR0FDVyxJQURYLENBQ1gsUUFEVztBQUFBLFVBQ0QsT0FEQyxHQUNXLElBRFgsQ0FDRCxPQURDOztBQUVuQixhQUFPLHNCQUFPLEVBQUUsa0JBQUYsRUFBWSxnQkFBWixFQUFxQixVQUFyQixFQUEyQixjQUEzQixFQUFQLENBQVA7QUFDRDs7O3dCQUVHLEksRUFBTSxFLEVBQUk7QUFBQSxVQUNKLFFBREksR0FDUyxJQURULENBQ0osUUFESTs7QUFFWixhQUFPLG1CQUFJLEVBQUUsa0JBQUYsRUFBWSxVQUFaLEVBQWtCLE1BQWxCLEVBQUosQ0FBUDtBQUNEOzs7MEJBRUssSSxFQUFNLEUsRUFBSTtBQUFBLFVBQ04sUUFETSxHQUNnQixJQURoQixDQUNOLFFBRE07QUFBQSxVQUNJLE9BREosR0FDZ0IsSUFEaEIsQ0FDSSxPQURKOztBQUVkLGFBQU8scUJBQU0sRUFBRSxrQkFBRixFQUFZLGdCQUFaLEVBQXFCLFVBQXJCLEVBQTJCLE1BQTNCLEVBQU4sQ0FBUDtBQUNEOzs7eUJBRUksSSxFQUFNLE8sRUFBUztBQUFBLFVBQ1YsUUFEVSxHQUNZLElBRFosQ0FDVixRQURVO0FBQUEsVUFDQSxPQURBLEdBQ1ksSUFEWixDQUNBLE9BREE7O0FBRWxCLGFBQU8sb0JBQUssRUFBRSxrQkFBRixFQUFZLGdCQUFaLEVBQXFCLFVBQXJCLEVBQTJCLGdCQUEzQixFQUFMLENBQVA7QUFDRDs7OzJCQUVNLEksRUFBTSxFLEVBQUksSSxFQUFNO0FBQUEsVUFDYixRQURhLEdBQ1MsSUFEVCxDQUNiLFFBRGE7QUFBQSxVQUNILE9BREcsR0FDUyxJQURULENBQ0gsT0FERzs7QUFFckIsYUFBTyxzQkFBTyxFQUFFLGtCQUFGLEVBQVksZ0JBQVosRUFBcUIsVUFBckIsRUFBMkIsTUFBM0IsRUFBK0IsVUFBL0IsRUFBUCxDQUFQO0FBQ0Q7Ozs7OztrQkF4RGtCLEsiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5pbXBvcnQgeyBrZXlzIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBhdXRoU2lnbnVwIGZyb20gJy4vYXV0aFNpZ251cCc7XG5pbXBvcnQgYXV0aFRva2VuIGZyb20gJy4vYXV0aFRva2VuJztcbmltcG9ydCBhdXRoVmVyaWZ5IGZyb20gJy4vYXV0aFZlcmlmeSc7XG5pbXBvcnQgY3JlYXRlIGZyb20gJy4vY3JlYXRlJztcbmltcG9ydCBkZWwgZnJvbSAnLi9kZWwnO1xuaW1wb3J0IGZldGNoIGZyb20gJy4vZmV0Y2gnO1xuaW1wb3J0IGZpbmQgZnJvbSAnLi9maW5kJztcbmltcG9ydCB1cGRhdGUgZnJvbSAnLi91cGRhdGUnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdG9yZSB7XG4gIGNvbnN0cnVjdG9yKHNjaGVtYXMgPSB7fSwgZml4dHVyZXMgPSB7fSkge1xuICAgIGNvbnN0IGRhdGFiYXNlID0ge307XG4gICAgY29uc3QgdHlwZXMgPSBrZXlzKHNjaGVtYXMpO1xuXG4gICAgaWYgKCF0eXBlcy5sZW5ndGgpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgJ1lvdSBwYXNzZWQgaW4gYSBzY2hlbWFzIG9iamVjdCB3aXRoIG5vIGtleXMuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICB0eXBlcy5mb3JFYWNoKHNjaGVtYSA9PiAoZGF0YWJhc2Vbc2NoZW1hXSA9IHt9KSk7XG5cbiAgICB0aGlzLnNjaGVtYXMgPSBzY2hlbWFzO1xuICAgIHRoaXMuZGF0YWJhc2UgPSB7IC4uLmRhdGFiYXNlLCAuLi5maXh0dXJlcyB9O1xuICB9XG5cbiAgYXV0aFNpZ251cCh1c2VyKSB7XG4gICAgcmV0dXJuIGF1dGhTaWdudXAoXG4gICAgICB0aGlzLmNyZWF0ZS5iaW5kKHRoaXMpLFxuICAgICAgdGhpcy5maW5kLmJpbmQodGhpcyksXG4gICAgICB1c2VyLFxuICAgICk7XG4gIH1cblxuICBhdXRoVG9rZW4oZW1haWwsIHBhc3N3b3JkKSB7XG4gICAgcmV0dXJuIGF1dGhUb2tlbih0aGlzLmZpbmQuYmluZCh0aGlzKSwgZW1haWwsIHBhc3N3b3JkKTtcbiAgfVxuXG4gIGF1dGhWZXJpZnkodG9rZW4pIHtcbiAgICByZXR1cm4gYXV0aFZlcmlmeSh0b2tlbik7XG4gIH1cblxuICBjcmVhdGUodHlwZSwgcmVjb3JkKSB7XG4gICAgY29uc3QgeyBkYXRhYmFzZSwgc2NoZW1hcyB9ID0gdGhpcztcbiAgICByZXR1cm4gY3JlYXRlKHsgZGF0YWJhc2UsIHNjaGVtYXMsIHR5cGUsIHJlY29yZCB9KTtcbiAgfVxuXG4gIGRlbCh0eXBlLCBpZCkge1xuICAgIGNvbnN0IHsgZGF0YWJhc2UgfSA9IHRoaXM7XG4gICAgcmV0dXJuIGRlbCh7IGRhdGFiYXNlLCB0eXBlLCBpZCB9KTtcbiAgfVxuXG4gIGZldGNoKHR5cGUsIGlkKSB7XG4gICAgY29uc3QgeyBkYXRhYmFzZSwgc2NoZW1hcyB9ID0gdGhpcztcbiAgICByZXR1cm4gZmV0Y2goeyBkYXRhYmFzZSwgc2NoZW1hcywgdHlwZSwgaWQgfSk7XG4gIH1cblxuICBmaW5kKHR5cGUsIGZpbHRlcnMpIHtcbiAgICBjb25zdCB7IGRhdGFiYXNlLCBzY2hlbWFzIH0gPSB0aGlzO1xuICAgIHJldHVybiBmaW5kKHsgZGF0YWJhc2UsIHNjaGVtYXMsIHR5cGUsIGZpbHRlcnMgfSk7XG4gIH1cblxuICB1cGRhdGUodHlwZSwgaWQsIGRhdGEpIHtcbiAgICBjb25zdCB7IGRhdGFiYXNlLCBzY2hlbWFzIH0gPSB0aGlzO1xuICAgIHJldHVybiB1cGRhdGUoeyBkYXRhYmFzZSwgc2NoZW1hcywgdHlwZSwgaWQsIGRhdGEgfSk7XG4gIH1cbn1cbiJdfQ== |
import { hash } from './utils'; | ||
export default (create, user) => { | ||
const { password } = user; | ||
export default (create, find, user) => { | ||
const { password, email } = user; | ||
const { reject } = Promise; | ||
return create('user', { | ||
const userAlreadyExistsError = () => | ||
new Error('This email address is already taken.'); | ||
const rejectIfExists = (users) => { | ||
if (users.length) return reject(); | ||
return true; | ||
}; | ||
const createUser = () => create('user', { | ||
// merge user fields | ||
@@ -13,2 +22,9 @@ ...user, | ||
}); | ||
return find('user', { email }) | ||
.then(rejectIfExists) | ||
.then(createUser) | ||
.catch(() => { | ||
throw userAlreadyExistsError(); | ||
}); | ||
}; |
@@ -30,3 +30,7 @@ /* eslint-disable no-console */ | ||
authSignup(user) { | ||
return authSignup(this.create.bind(this), user); | ||
return authSignup( | ||
this.create.bind(this), | ||
this.find.bind(this), | ||
user, | ||
); | ||
} | ||
@@ -33,0 +37,0 @@ |
{ | ||
"name": "ephery", | ||
"version": "0.0.4", | ||
"version": "0.0.5", | ||
"description": "Dead simple, in-memory, client-side, fake API service.", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
52625
603