@@ -156,15 +156,20 @@ def get_related_ssvc_trees(self, obj):
156156
157157 def get_curating_advisories (self , obj ):
158158 request = self .context .get ("request" )
159- return [
160- reverse (
161- "advisory_details" ,
162- kwargs = {"avid" : related_advisory .avid },
163- request = request ,
164- )
159+ curating_advisories = {
160+ related_advisory .avid : {
161+ "advisory_uid" : related_advisory .avid ,
162+ "advisory_id" : related_advisory .advisory_id .split ("/" )[- 1 ],
163+ "resource_url" : reverse (
164+ "advisory_details" ,
165+ kwargs = {"avid" : related_advisory .avid },
166+ request = request ,
167+ ),
168+ }
165169 for todo in obj .resolves_todos .all ()
166170 for related_advisory in todo .advisories .all ()
167- ]
171+ }
172+ return list (curating_advisories .values ())
168173
169174 class Meta :
170175 model = AdvisoryV2
@@ -474,7 +479,7 @@ def create(self, request, *args, **kwargs):
474479 queryset = AdvisoryToDoV2 .objects .prefetch_related (
475480 Prefetch (
476481 "advisories" ,
477- queryset = AdvisoryV2 .objects .only ("avid" ),
482+ queryset = AdvisoryV2 .objects .only ("avid" , "advisory_id" ),
478483 )
479484 ),
480485 ),
@@ -512,7 +517,7 @@ def get_queryset(self):
512517 queryset = AdvisoryToDoV2 .objects .prefetch_related (
513518 Prefetch (
514519 "advisories" ,
515- queryset = AdvisoryV2 .objects .only ("avid" ),
520+ queryset = AdvisoryV2 .objects .only ("avid" , "advisory_id" ),
516521 )
517522 ),
518523 ),
@@ -682,7 +687,7 @@ def get_affected_advisories_bulk(packages, max_advisories, base_url, reachabilit
682687 queryset = AdvisoryToDoV2 .objects .prefetch_related (
683688 Prefetch (
684689 "advisories" ,
685- queryset = AdvisoryV2 .objects .only ("avid" ),
690+ queryset = AdvisoryV2 .objects .only ("avid" , "advisory_id" ),
686691 )
687692 ),
688693 ),
@@ -818,11 +823,15 @@ def get_affected_advisories_bulk(packages, max_advisories, base_url, reachabilit
818823
819824 aliases = [a for a in adv ._aliases_cache if a != identifier ]
820825
821- curating_advisories = [
822- f"{ base_url } { related_advisory .get_absolute_url ()} "
826+ curating_advisories = {
827+ related_advisory .avid : {
828+ "advisory_uid" : related_advisory .avid ,
829+ "advisory_id" : related_advisory .advisory_id .split ("/" )[- 1 ],
830+ "resource_url" : f"{ base_url } { related_advisory .get_absolute_url ()} " ,
831+ }
823832 for todo in primary .resolves_todos .all ()
824833 for related_advisory in todo .advisories .all ()
825- ]
834+ }
826835
827836 resource_url = None
828837 advisory_url = primary .get_absolute_url ()
@@ -852,7 +861,7 @@ def get_affected_advisories_bulk(packages, max_advisories, base_url, reachabilit
852861 "resource_url" : resource_url ,
853862 "todo_count" : adv .primary_adv_todo_count ,
854863 "is_curation" : primary .is_curation ,
855- "curating_advisories" : curating_advisories ,
864+ "curating_advisories" : list ( curating_advisories . values ()) ,
856865 }
857866 )
858867
@@ -922,7 +931,7 @@ def get_affected_advisories_bulk(packages, max_advisories, base_url, reachabilit
922931 queryset = AdvisoryToDoV2 .objects .prefetch_related (
923932 Prefetch (
924933 "advisories" ,
925- queryset = AdvisoryV2 .objects .only ("avid" ),
934+ queryset = AdvisoryV2 .objects .only ("avid" , "advisory_id" ),
926935 )
927936 ),
928937 ),
@@ -950,11 +959,15 @@ def get_affected_advisories_bulk(packages, max_advisories, base_url, reachabilit
950959 identifier = advisory .advisory_id .split ("/" )[- 1 ]
951960
952961 aliases = [alias .alias for alias in advisory .aliases .all () if alias .alias != identifier ]
953- curating_advisories = [
954- f"{ base_url } { related_advisory .get_absolute_url ()} "
962+ curating_advisories = {
963+ related_advisory .avid : {
964+ "advisory_uid" : related_advisory .avid ,
965+ "advisory_id" : related_advisory .advisory_id .split ("/" )[- 1 ],
966+ "resource_url" : f"{ base_url } { related_advisory .get_absolute_url ()} " ,
967+ }
955968 for todo in advisory .resolves_todos .all ()
956969 for related_advisory in todo .advisories .all ()
957- ]
970+ }
958971
959972 resource_url = None
960973 advisory_url = advisory .get_absolute_url ()
@@ -986,7 +999,7 @@ def get_affected_advisories_bulk(packages, max_advisories, base_url, reachabilit
986999 "resource_url" : resource_url ,
9871000 "todo_count" : advisory .todo_count ,
9881001 "is_curation" : advisory .is_curation ,
989- "curating_advisories" : curating_advisories ,
1002+ "curating_advisories" : list ( curating_advisories . values ()) ,
9901003 }
9911004 )
9921005
0 commit comments