From f8c958752626b20b57cab94d1dfb49fa137b3aa6 Mon Sep 17 00:00:00 2001 From: Mickey Nasriachi Date: Wed, 28 Sep 2016 13:36:20 +0100 Subject: [PATCH] use /author/by_user endpoint instead of ES query --- lib/MetaCPAN/Web/Controller/Favorite.pm | 5 ++--- lib/MetaCPAN/Web/Model/API/Author.pm | 14 +++----------- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/lib/MetaCPAN/Web/Controller/Favorite.pm b/lib/MetaCPAN/Web/Controller/Favorite.pm index 7438ae57cbb..409ba7f7539 100644 --- a/lib/MetaCPAN/Web/Controller/Favorite.pm +++ b/lib/MetaCPAN/Web/Controller/Favorite.pm @@ -13,11 +13,10 @@ sub recent : Local : Args(0) { my @user_ids = map { $_->{user} } @faves; my $authors - = $c->model('API::Author')->by_user( \@user_ids )->recv->{hits} - ->{hits}; + = $c->model('API::Author')->by_user( \@user_ids )->recv->{hits}; my %author_for_user_id - = map { $_->{fields}->{user} => $_->{fields}->{pauseid} } @{$authors}; + = map { $_->{user} => $_->{pauseid} } @{$authors}; foreach my $fave (@faves) { if ( exists $author_for_user_id{ $fave->{user} } ) { diff --git a/lib/MetaCPAN/Web/Model/API/Author.pm b/lib/MetaCPAN/Web/Model/API/Author.pm index c5b3c8d8236..2b9b199e8aa 100644 --- a/lib/MetaCPAN/Web/Model/API/Author.pm +++ b/lib/MetaCPAN/Web/Model/API/Author.pm @@ -94,17 +94,9 @@ sub search { sub by_user { my ( $self, $users ) = @_; - - my $query = return $self->request( - '/author/_search', - { - query => { match_all => {} }, - filter => - { or => [ map { { term => { user => $_ } } } @{$users} ] }, - fields => [qw(user pauseid)], - size => 100 - } - ); + return $self->request( + '/author/by_user?fields=user,pauseid&users=' . join ',', + @{$users} ); } __PACKAGE__->meta->make_immutable;