Skip to content

Instantly share code, notes, and snippets.

@tj
Last active January 3, 2016 15:49
Show Gist options
  • Save tj/8485653 to your computer and use it in GitHub Desktop.
Save tj/8485653 to your computer and use it in GitHub Desktop.
/**
* POST to create a new user.
*/
exports.create = function *(){
var body = yield parse(this);
// password
var pass = body.password;
assert(pass, 400, 'password is required');
delete body.password;
let {salt, hash} = yield password(pass);
body.password_salt = salt;
body.password_hash = hash;
// validate
users.schema.validate(body);
// see if the user exists
var exists = yield users.findOne({ username: body.username }, 'name');
assert(!exists, 400, 'username is taken');
// save
yield users.insert(body);
this.status = 201;
};
@jeffmo
Copy link

jeffmo commented Jan 19, 2014

What would idiomatic client code using this generator look like?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment