Pooru/lib/Pooru/API/V0/Controller/Random.pm

35 lines
733 B
Perl

package Pooru::API::V0::Controller::Random;
use Mojo::Base "Mojolicious::Controller", -signatures;
sub _random_entry ($self, $rs)
{
return $self->schema->resultset($rs)
->search(undef, {order_by => 'random()', rows => 1})->single;
}
sub media ($self)
{
my $media = $self->_random_entry("Media");
return $self->render(
json => {error => "Media not found."},
status => 404,
) if !defined($media);
return $self->redirect_to("show_media", media_id => $media->id);
}
sub tag ($self)
{
my $tag = $self->_random_entry("Tag");
return $self->render(
json => {error => "Tag not found."},
status => 404,
) if !defined($tag);
return $self->redirect_to(
$self->url_for("show_tag")->query(id => $tag->id));
}
1;