Skip to content

Instantly share code, notes, and snippets.

@pon
Last active August 29, 2015 13:57
Show Gist options
  • Save pon/9415651 to your computer and use it in GitHub Desktop.
Save pon/9415651 to your computer and use it in GitHub Desktop.
create = {
handler: function(request, reply) {
return new Address().save({
name: request.payload.name,
address_line1: request.payload.address_line1
}).then(function(model) {
return new Address({
'id': model.id
}).fetch().then(function(model) {
return reply(model);
});
}, function(error) {
return reply(error);
});
}
};
Address = Db.Model.extend({
tableName: 'addresses',
validate: function() {
var basicValidation, payload, schema;
payload = this.clone();
schema = {
name: Joi.string().max(50).required(),
address_line1: Joi.string().required()
};
basicValidation = Joi.validate(payload.toJSON(), schema, {
stripUnknown: true
});
if(basicValidation) {
throw new Error(basicValidation.message);
} else {
return;
}
}
});
db.Model.prototype.initialize = function() {
this.on('saving', this.validate, this);
};
Possibly unhandled Error: the value of name is not allowed to be undefined
at Db.Model.extend.validate (/Users/peternagel/workspace/lob/lob-api/build/app/models/addressesModel.js:66:13)
@bendrucker
Copy link

@PeteOtto An unhandled error is definitely not something to ignore. Can you try it again with the extraneous code cut from the controller? (https://gist.github.com/bendrucker/9417825#file-addresscontroller-js)

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