api/v0: predefined searchs for Random controller
This commit is contained in:
parent
4c476dfd3e
commit
ce6635f1d9
3 changed files with 22 additions and 8 deletions
|
@ -1,15 +1,9 @@
|
||||||
package Pooru::API::V0::Controller::Random;
|
package Pooru::API::V0::Controller::Random;
|
||||||
use Mojo::Base "Mojolicious::Controller", -signatures;
|
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)
|
sub media ($self)
|
||||||
{
|
{
|
||||||
my $media = $self->_random_entry("Media");
|
my $media = $self->schema->resultset("Media")->random->single;
|
||||||
|
|
||||||
return $self->render(
|
return $self->render(
|
||||||
json => {error => "Media not found."},
|
json => {error => "Media not found."},
|
||||||
|
@ -21,7 +15,7 @@ sub media ($self)
|
||||||
|
|
||||||
sub tag ($self)
|
sub tag ($self)
|
||||||
{
|
{
|
||||||
my $tag = $self->_random_entry("Tag");
|
my $tag = $self->schema->resultset("Tag")->random->single;
|
||||||
|
|
||||||
return $self->render(
|
return $self->render(
|
||||||
json => {error => "Tag not found."},
|
json => {error => "Tag not found."},
|
||||||
|
|
10
lib/Pooru/Schema/ResultSet/Media.pm
Normal file
10
lib/Pooru/Schema/ResultSet/Media.pm
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
package Pooru::Schema::ResultSet::Media;
|
||||||
|
use v5.40;
|
||||||
|
use base "DBIx::Class::ResultSet";
|
||||||
|
|
||||||
|
sub random ($self, $rows = 1)
|
||||||
|
{
|
||||||
|
return $self->search(undef, {order_by => "random()", rows => $rows});
|
||||||
|
}
|
||||||
|
|
||||||
|
1;
|
10
lib/Pooru/Schema/ResultSet/Tag.pm
Normal file
10
lib/Pooru/Schema/ResultSet/Tag.pm
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
package Pooru::Schema::ResultSet::Tag;
|
||||||
|
use v5.40;
|
||||||
|
use base "DBIx::Class::ResultSet";
|
||||||
|
|
||||||
|
sub random ($self, $rows = 1)
|
||||||
|
{
|
||||||
|
return $self->search(undef, {order_by => "random()", rows => $rows});
|
||||||
|
}
|
||||||
|
|
||||||
|
1;
|
Loading…
Add table
Add a link
Reference in a new issue