Skip to content

Commit

Permalink
Use new /release/all_by_author/PAUSEID API endpoint
Browse files Browse the repository at this point in the history
Replace the Elasticsearch query sending with a call to the new
API endpoint.
  • Loading branch information
mickeyn committed Jun 3, 2017
1 parent 2249933 commit 18d96d6
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 24 deletions.
13 changes: 5 additions & 8 deletions lib/MetaCPAN/Web/Controller/Author.pm
Expand Up @@ -87,32 +87,29 @@ sub releases : Chained('root') PathPart Args(0) {

my $page = $req->page > 0 ? $req->page : 1;
my $author_cv = $c->model('API::Author')->get($id);
my $releases_cv
my $releases
= $c->model('API::Release')->all_by_author( $id, $page_size, $page );

my ( $author, $releases ) = ( $author_cv->recv, $releases_cv->recv );
my $author = $author_cv->recv;
$c->detach('/not_found') unless ( $author->{pauseid} );

my @releases = map { single_valued_arrayref_to_scalar( $_->{fields} ) }
@{ $releases->{hits}->{hits} };

$c->stash(
{
author => $author,
page_size => $page_size,
releases => \@releases,
releases => $releases->{releases},
}
);

return unless $releases->{hits}->{total};
return unless $releases->{total};

my $pageset = Data::Pageset->new(
{
current_page => $page,
entries_per_page => $page_size,
mode => 'slide',
pages_per_set => 10,
total_entries => $releases->{hits}->{total},
total_entries => $releases->{total},
}
);
$c->stash( { pageset => $pageset } );
Expand Down
21 changes: 5 additions & 16 deletions lib/MetaCPAN/Web/Model/API/Release.pm
Expand Up @@ -51,25 +51,14 @@ sub distribution {
sub latest_by_author {
my ( $self, $pauseid ) = @_;
my $data = $self->request("/release/latest_by_author/$pauseid")->recv;
return unless $data;
return +{ releases => $data->{releases}, took => $data->{took} };
return $data;
}

sub all_by_author {
my ( $self, $author, $size, $page ) = @_;

$page = $page > 0 ? $page : 1;

return $self->request(
'/release/_search',
{
query => { term => { author => uc($author) } },
sort => [ { date => 'desc' } ],
fields => [qw(author distribution name status abstract date)],
size => $size,
from => ( $page - 1 ) * $size,
}
);
my ( $self, $pauseid, $page, $page_size ) = @_;
my $data = $self->request( "/release/all_by_author/$pauseid",
undef, { page => $page, page_size => $page_size } )->recv;
return $data;
}

sub recent {
Expand Down

0 comments on commit 18d96d6

Please sign in to comment.