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