@@ -1058,10 +1058,13 @@ sub find_download_url {
1058
1058
bool => {
1059
1059
must => [
1060
1060
{ term => { $prefix . ' authorized' => 1 } },
1061
- { term => { $prefix . ' indexed' => 1 } },
1062
1061
(
1063
- $module_filter ? { term => { $prefix . ' name' => $name } }
1064
- : { term => { ' release' => $name } },
1062
+ $module_filter
1063
+ ? (
1064
+ { term => { $prefix . ' indexed' => 1 } },
1065
+ { term => { $prefix . ' name' => $name } }
1066
+ )
1067
+ : { term => { ' distribution' => $name } },
1065
1068
),
1066
1069
(
1067
1070
exists $version_filters -> {must }
@@ -1143,7 +1146,16 @@ sub find_download_url {
1143
1146
query => $query ,
1144
1147
size => 1,
1145
1148
sort => \@sort ,
1146
- _source => [ ' release' , ' download_url' , ' date' , ' status' ],
1149
+ _source => [ qw(
1150
+ checksum_md5
1151
+ checksum_sha256
1152
+ date
1153
+ download_url
1154
+ release
1155
+ status
1156
+ version
1157
+ name
1158
+ ) ],
1147
1159
};
1148
1160
1149
1161
my $res = $self -> es-> search(
@@ -1158,7 +1170,8 @@ sub find_download_url {
1158
1170
my @checksums ;
1159
1171
1160
1172
my $hit = $res -> {hits }{hits }[0];
1161
- my $release = exists $hit -> {_source } ? $hit -> {_source }{release } : undef ;
1173
+ my $source = $hit -> {_source };
1174
+ my $release = $source -> {release };
1162
1175
1163
1176
if ($release ) {
1164
1177
my $checksums = $self -> get_checksums($release );
@@ -1176,10 +1189,17 @@ sub find_download_url {
1176
1189
);
1177
1190
}
1178
1191
1179
- return +{
1180
- %{ $hit -> {_source } },
1181
- %{ $hit -> {inner_hits }{module }{hits }{hits }[0]{_source } }, @checksums ,
1182
- };
1192
+ my $source_name = delete $source -> {name };
1193
+ if ( !$module_filter ) {
1194
+ $source -> {release } = $source_name ;
1195
+ }
1196
+
1197
+ my $module
1198
+ = $hit -> {inner_hits }{module }
1199
+ ? $hit -> {inner_hits }{module }{hits }{hits }[0]{_source }
1200
+ : {};
1201
+
1202
+ return +{ %$source , %$module , @checksums , };
1183
1203
}
1184
1204
1185
1205
sub _version_filters {
0 commit comments