Check all the things
sub update_blog_post {
my ($self, $req, $ident) = @_;
my $post = $self->blog_model->load( $ident );
unless ($post) {
return $req->new_response(
status => 404,
content => 'Cannot find blog post ' . $ident,
);
}
my $user = $self->user_model->load( $req->userid );
unless ($user) {
return $req->new_response(
status => 404,
content => 'Cannot find user ' . $req->userid,
);
}
my $payload = $req->get_json_payload;
return $req->new_response(
status => 400,
content => 'Payload missing!',
);
my $rv = $self->blog_model->update( $user, $post, $payload );
if ( $rv->{status} eq 'ok') {
return $req->json_response( $self->blog_model->for_edit( $post ) );
}
else {
return $req->new_response(
status => 500,
content => 'We could not handle your request: ' . $rv->{error};
);
}
}