site: small refactor for promise all handler

This commit is contained in:
Lucas Gabriel Vuotto 2025-05-04 11:02:34 +00:00
parent d97ee5f57c
commit 26c0443999

View file

@ -62,20 +62,16 @@ sub show ($self)
my $media_p = $self->ua->get_p($media_endpoint); my $media_p = $self->ua->get_p($media_endpoint);
my $similar_p = $self->ua->get_p($similar_endpoint); my $similar_p = $self->ua->get_p($similar_endpoint);
Mojo::Promise->all($media_p, $similar_p)->then(sub ($media, $similar) { Mojo::Promise->all($media_p, $similar_p)->then(sub ($media, $similar) {
my ($media_tx, $similar_tx) = ($media->[0], $similar->[0]);
return $self->render( return $self->render(
text => "Backend error.", text => "Backend error.",
status => 500, status => 500,
) if $media->[0]->error; ) if $media_tx->error;
my $json = $media->[0]->res->json; my $json = $media_tx->res->json;
my @tags = map +{
name => $_->{name},
kind_id => $_->{kind_id},
display => $_->{display},
count => $_->{count},
}, $json->{tags}->@*;
if (!$similar->[0]->error) { if (!$similar_tx->error) {
my @similar_media = map +{ my @similar_media = map +{
score => $_->{score}, score => $_->{score},
show_media_url => $self->url_for("show_media", show_media_url => $self->url_for("show_media",
@ -83,7 +79,8 @@ sub show ($self)
->query(tags => $tags), ->query(tags => $tags),
media_src => $self->url_for_file( media_src => $self->url_for_file(
$self->storage->get($_->{id})), $self->storage->get($_->{id})),
}, $similar->[0]->res->json->{media}->@*; }, $similar_tx->res->json->{media}->@*;
$self->stash(similar_media => [@similar_media]); $self->stash(similar_media => [@similar_media]);
} }
@ -98,7 +95,7 @@ sub show ($self)
src => $self->url_for_file( src => $self->url_for_file(
$self->storage->get($json->{id})), $self->storage->get($json->{id})),
}, },
tags => [@tags], tags => $json->{tags},
); );
})->wait; })->wait;
} }