Ado
view release on metacpan or search on metacpan
lib/Ado/Control.pm view on Meta::CPAN
return $c->respond_to(
json => $c->list_for_json(\@range, [$dbix->query($SQL,@range)->hashes])
);
=head2 require_formats
Checks for a list of accepted formats or renders "415 - Unsupported Media
Type" with a text/html type and links to the preferred formats, and returns
false. If the URL is in the required format, returns true. Adds a header C
<Content-Location> pointing to the first URL of the required formats.
#in an action serving only json
sub list {
my $c = shift;
$c->require_formats('json') || return;
$c->debug('rendering json only');
#your stuff here...
return;
}
This method exists only to show more descriptive message with available
formats to the end user and to give a chance to user agents to go to the
preferred resource URL.
=head2 validate_input
Uses L<Mojolicious::Controller/validation> to validate all input parameters at
once given a validation template. The template consists of keys matching the
input parameters to be validated. The values are HASH references describing
the rules. Each rule name corresponds to a method/check in
L<Mojolicious::Validator/CHECKS>. You can use your own checks if you add them
using L<Mojolicious::Validator/add_check>.
Returns a HASH reference. In case of errors it contains C<errors> and C<json>
HASH references. In case of success contains only C<output> HASH reference
from L<Mojolicious::Validator::Validation/output>.
my $rules = {
to_uid => {
'required' => 1, like => qr/^\d{1,20}$/
},
subject => {
'required' => 1, like => qr/^.{1,255}$/
},
#...
}
my $result = $c->validate_input($rules);
#400 Bad Request
return $c->render(
status => 400,
json => $result->{json}
) if $result->{errors};
=head2 user
Returns the current user. This is the user C<guest> for not authenticated
users. Note that this instance is not meant for manipulation and some fields
are not available for security reasons. The fields are: C<login_password
created_by changed_by disabled start_date>. TODO: move as much as possible
checks and fields retrieval in SQL, not in Perl.
$c->user(Ado::Model::Users->by_login_name($login_name));
my $names = $c->user->name;
=head1 SEE ALSO
L<Mojolicious::Controller>, L<Ado::Manual::Controllers>,
L<Ado::Manual::RESTAPI>, L<DBIx::Simple>
=head1 AUTHOR
ÐÑаÑÐ¸Ð¼Ð¸Ñ ÐеÑов (Krasimir Berov)
=head1 COPYRIGHT AND LICENSE
Copyright 2013-2014 ÐÑаÑÐ¸Ð¼Ð¸Ñ ÐеÑов (Krasimir Berov).
This program is free software, you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License v3 (LGPL-3.0). You may
copy, distribute and modify the software provided that modifications are open
source. However, software that includes the license may release under a
different license.
See http://opensource.org/licenses/lgpl-3.0.html for more information.
=cut
( run in 0.552 second using v1.01-cache-2.11-cpan-39bf76dae61 )