Skip to content

Instantly share code, notes, and snippets.

@codepunkt
Last active August 29, 2015 14:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save codepunkt/c620f61312f208a64257 to your computer and use it in GitHub Desktop.
Save codepunkt/c620f61312f208a64257 to your computer and use it in GitHub Desktop.
plugin.method('users.validate', function(request, reply) {
User.find({ $or: [
{ email: request.payload.email },
{ username: request.payload.username }
]}, function(err, user) {
if (err || user) {
return reply({ error: 'db error or username/email exists' }).takeover();
}
reply();
});
});
var api = plugin.select('api');
api.route({
method: 'POST',
path: '/users',
config: {
pre: [
{ method: 'users.validate' },
// { method: 'users.create', assign: 'user' }
],
handler: function (request, reply) {
var user = request.pre.user;
reply(user).created('users/' + user._id);
},
validate: {
payload: {
email: Joi.string().email().required(),
password: Joi.string().required(),
username: Joi.string()
}
}
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment