@@ -135,6 +135,10 @@ async fn get_product_statuses_for_purl<C: ConnectionTrait>(
135
135
. join ( JoinType :: LeftJoin , product:: Relation :: ProductVersion . def ( ) )
136
136
. join ( JoinType :: Join , product_status:: Relation :: Status . def ( ) )
137
137
. join ( JoinType :: Join , product_status:: Relation :: Advisory . def ( ) )
138
+ . join (
139
+ JoinType :: Join ,
140
+ product_status:: Relation :: Vulnerability . def ( ) ,
141
+ )
138
142
. filter ( product_version:: Column :: SbomId . in_subquery ( sbom_ids_query) )
139
143
. filter ( Expr :: col ( product_status:: Column :: Package ) . eq ( purl_name) . or (
140
144
namespace_name. map_or ( Expr :: value ( false ) , |ns| {
@@ -220,17 +224,8 @@ impl PurlAdvisory {
220
224
}
221
225
222
226
for product_status in product_statuses {
223
- let vuln = vulnerability:: Model {
224
- id : product_status. product_status . vulnerability_id . clone ( ) ,
225
- title : None ,
226
- reserved : None ,
227
- published : None ,
228
- modified : None ,
229
- withdrawn : None ,
230
- cwes : None ,
231
- } ;
232
227
let purl_status = PurlStatus :: new (
233
- & vuln ,
228
+ & product_status . vulnerability ,
234
229
product_status. status . slug ,
235
230
Some ( product_status. cpe . to_string ( ) ) ,
236
231
tx,
@@ -387,7 +382,7 @@ impl FromQueryResultMultiModel for LicenseCatcher {
387
382
#[ derive( Debug ) ]
388
383
pub struct ProductStatusCatcher {
389
384
advisory : advisory:: Model ,
390
- product_status : product_status :: Model ,
385
+ vulnerability : vulnerability :: Model ,
391
386
cpe : trustify_entity:: cpe:: Model ,
392
387
status : status:: Model ,
393
388
}
@@ -396,7 +391,7 @@ impl FromQueryResult for ProductStatusCatcher {
396
391
fn from_query_result ( res : & QueryResult , _pre : & str ) -> Result < Self , DbErr > {
397
392
Ok ( Self {
398
393
advisory : Self :: from_query_result_multi_model ( res, "" , advisory:: Entity ) ?,
399
- product_status : Self :: from_query_result_multi_model ( res, "" , product_status :: Entity ) ?,
394
+ vulnerability : Self :: from_query_result_multi_model ( res, "" , vulnerability :: Entity ) ?,
400
395
cpe : Self :: from_query_result_multi_model ( res, "" , trustify_entity:: cpe:: Entity ) ?,
401
396
status : Self :: from_query_result_multi_model ( res, "" , status:: Entity ) ?,
402
397
} )
@@ -407,7 +402,7 @@ impl FromQueryResultMultiModel for ProductStatusCatcher {
407
402
fn try_into_multi_model < E : EntityTrait > ( select : Select < E > ) -> Result < Select < E > , DbErr > {
408
403
select
409
404
. try_model_columns ( advisory:: Entity ) ?
410
- . try_model_columns ( product_status :: Entity ) ?
405
+ . try_model_columns ( vulnerability :: Entity ) ?
411
406
. try_model_columns ( trustify_entity:: cpe:: Entity ) ?
412
407
. try_model_columns ( status:: Entity )
413
408
}
0 commit comments