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;
|
||||
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");
|
||||
my $media = $self->schema->resultset("Media")->random->single;
|
||||
|
||||
return $self->render(
|
||||
json => {error => "Media not found."},
|
||||
|
@ -21,7 +15,7 @@ sub media ($self)
|
|||
|
||||
sub tag ($self)
|
||||
{
|
||||
my $tag = $self->_random_entry("Tag");
|
||||
my $tag = $self->schema->resultset("Tag")->random->single;
|
||||
|
||||
return $self->render(
|
||||
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