diff --git a/alws/crud/errata.py b/alws/crud/errata.py index 8c86de2f1..488b710f2 100644 --- a/alws/crud/errata.py +++ b/alws/crud/errata.py @@ -139,6 +139,10 @@ async def get_oval_xml( select(models.Platform).where(models.Platform.name == platform_name) ) platform: models.Platform = platform.scalars().first() + + if not platform: + return + query = query.filter(models.NewErrataRecord.platform_id == platform.id) if only_released: diff --git a/alws/routers/errata.py b/alws/routers/errata.py index 419744a0d..05fd00924 100644 --- a/alws/routers/errata.py +++ b/alws/routers/errata.py @@ -61,7 +61,13 @@ async def get_oval_xml( only_released: bool = False, db: AsyncSession = Depends(get_db), ): - return await errata_crud.get_oval_xml(db, platform_name, only_released) + records = await errata_crud.get_oval_xml(db, platform_name, only_released) + if not records: + raise HTTPException( + status_code=status.HTTP_404_NOT_FOUND, + detail=f"{platform_name} is not a valid platform", + ) + return records @public_router.get("/query/", response_model=errata_schema.ErrataListResponse)