Skip to content

Commit c8f19a3

Browse files
authored
Merge pull request #1902 from metacpan/mickey/release_all_by_author_endpoint
Use new /release/all_by_author/PAUSEID API endpoint
2 parents 2249933 + 18d96d6 commit c8f19a3

File tree

2 files changed

+10
-24
lines changed

2 files changed

+10
-24
lines changed

lib/MetaCPAN/Web/Controller/Author.pm

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -87,32 +87,29 @@ sub releases : Chained('root') PathPart Args(0) {
8787

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

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

96-
my @releases = map { single_valued_arrayref_to_scalar( $_->{fields} ) }
97-
@{ $releases->{hits}->{hits} };
98-
9996
$c->stash(
10097
{
10198
author => $author,
10299
page_size => $page_size,
103-
releases => \@releases,
100+
releases => $releases->{releases},
104101
}
105102
);
106103

107-
return unless $releases->{hits}->{total};
104+
return unless $releases->{total};
108105

109106
my $pageset = Data::Pageset->new(
110107
{
111108
current_page => $page,
112109
entries_per_page => $page_size,
113110
mode => 'slide',
114111
pages_per_set => 10,
115-
total_entries => $releases->{hits}->{total},
112+
total_entries => $releases->{total},
116113
}
117114
);
118115
$c->stash( { pageset => $pageset } );

lib/MetaCPAN/Web/Model/API/Release.pm

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -51,25 +51,14 @@ sub distribution {
5151
sub latest_by_author {
5252
my ( $self, $pauseid ) = @_;
5353
my $data = $self->request("/release/latest_by_author/$pauseid")->recv;
54-
return unless $data;
55-
return +{ releases => $data->{releases}, took => $data->{took} };
54+
return $data;
5655
}
5756

5857
sub all_by_author {
59-
my ( $self, $author, $size, $page ) = @_;
60-
61-
$page = $page > 0 ? $page : 1;
62-
63-
return $self->request(
64-
'/release/_search',
65-
{
66-
query => { term => { author => uc($author) } },
67-
sort => [ { date => 'desc' } ],
68-
fields => [qw(author distribution name status abstract date)],
69-
size => $size,
70-
from => ( $page - 1 ) * $size,
71-
}
72-
);
58+
my ( $self, $pauseid, $page, $page_size ) = @_;
59+
my $data = $self->request( "/release/all_by_author/$pauseid",
60+
undef, { page => $page, page_size => $page_size } )->recv;
61+
return $data;
7362
}
7463

7564
sub recent {

0 commit comments

Comments
 (0)