Final RPM nvra compat fix

This commit is contained in:
Mustafa Gezen 2023-02-02 17:35:25 +01:00
parent 77cab63d2f
commit 7234e90b5c
Signed by untrusted user who does not match committer: mustafa
GPG Key ID: DCDF010D946438C1
2 changed files with 8 additions and 15 deletions

View File

@ -72,8 +72,8 @@ class Advisory_Pydantic_V2_Fix(BaseModel):
description: str
class Advisory_Pydantic_V2_RPM(BaseModel):
nevra: str
class Advisory_Pydantic_V2_RPMs(BaseModel):
nvras: list[str]
class Advisory_Pydantic_V2_CVE(BaseModel):
@ -99,7 +99,7 @@ class Advisory_Pydantic_V2(BaseModel):
cves: list[Advisory_Pydantic_V2_CVE]
references: list[str]
publishedAt: str
rpms: dict[str, list[Advisory_Pydantic_V2_RPM]]
rpms: dict[str, Advisory_Pydantic_V2_RPMs]
rebootSuggested: bool
buildReferences: list[str]

View File

@ -20,7 +20,7 @@ from pydantic import BaseModel
from rssgen.feed import RssGenerator
from apollo.db import Advisory, RedHatIndexState
from apollo.db.serialize import Advisory_Pydantic_V2, Advisory_Pydantic_V2_CVE, Advisory_Pydantic_V2_Fix, Advisory_Pydantic_V2_RPM
from apollo.db.serialize import Advisory_Pydantic_V2, Advisory_Pydantic_V2_CVE, Advisory_Pydantic_V2_Fix, Advisory_Pydantic_V2_RPMs
from apollo.server.settings import UI_URL, COMPANY_NAME, MANAGING_EDITOR, get_setting
from common.fastapi import RenderErrorTemplateException
@ -128,16 +128,9 @@ def v3_advisory_to_v2(
for pkg in advisory.packages:
name = f"{pkg.supported_product.variant} {pkg.supported_products_rh_mirror.match_major_version}"
if name not in rpms:
rpms[name] = []
if pkg.nevra not in rpms[name]:
rpms[name].append(pkg.nevra)
rpms_res = {}
if include_rpms:
for product, rpms in rpms.items():
rpms_res[product] = [
Advisory_Pydantic_V2_RPM(nevra=x) for x in rpms
]
rpms[name] = Advisory_Pydantic_V2_RPMs(nvras=[])
if pkg.nevra not in rpms[name].nvras:
rpms[name].nvras.append(pkg.nevra)
published_at = advisory.published_at.isoformat("T"
).replace("+00:00", "") + "Z"
@ -156,7 +149,7 @@ def v3_advisory_to_v2(
shortCode=advisory.name[0:2],
topic=advisory.topic if advisory.topic else "",
solution=None,
rpms=rpms_res,
rpms=rpms,
affectedProducts=affected_products,
references=[],
rebootSuggested=False,