From 8078941bd11f517b6a95e8c69c62b17069271bd1 Mon Sep 17 00:00:00 2001 From: Georges-Antoine Assi Date: Sat, 3 Jan 2026 12:38:26 -0500 Subject: [PATCH] [ROMM-2856] Use platform slug to fetch feed games --- backend/endpoints/feeds.py | 12 ++++++------ backend/handler/database/platforms_handler.py | 10 ++++++++++ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/backend/endpoints/feeds.py b/backend/endpoints/feeds.py index c5acf8241..8b1224307 100644 --- a/backend/endpoints/feeds.py +++ b/backend/endpoints/feeds.py @@ -162,7 +162,7 @@ async def tinfoil_index_feed( Returns: TinfoilFeedSchema: Tinfoil feed object schema """ - switch = db_platform_handler.get_platform_by_fs_slug(slug) + switch = db_platform_handler.get_platform_by_slug(slug) if not switch: return TinfoilFeedSchema( files=[], @@ -282,7 +282,7 @@ def pkgi_ps3_feed( Returns: Response: txt file with PKGi PS3 database format """ - ps3_platform = db_platform_handler.get_platform_by_fs_slug(UPS.PS3) + ps3_platform = db_platform_handler.get_platform_by_slug(UPS.PS3) if not ps3_platform: raise HTTPException(status_code=404, detail="PlayStation 3 platform not found") @@ -352,7 +352,7 @@ def pkgi_psvita_feed( Returns: Response: txt file with PKGi PS Vita database format """ - psvita_platform = db_platform_handler.get_platform_by_fs_slug(UPS.PSVITA) + psvita_platform = db_platform_handler.get_platform_by_slug(UPS.PSVITA) if not psvita_platform: raise HTTPException( status_code=404, detail="PlayStation Vita platform not found" @@ -422,7 +422,7 @@ def pkgi_psp_feed( Returns: Response: txt file with PKGi PSP database format """ - psp_platform = db_platform_handler.get_platform_by_fs_slug(UPS.PSP) + psp_platform = db_platform_handler.get_platform_by_slug(UPS.PSP) if not psp_platform: raise HTTPException( status_code=404, detail="PlayStation Portable platform not found" @@ -499,7 +499,7 @@ def fpkgi_feed(request: Request, platform_slug: str) -> Response: Returns: Response: JSON file in FPKGi format """ - platform = db_platform_handler.get_platform_by_fs_slug(platform_slug) + platform = db_platform_handler.get_platform_by_slug(platform_slug) if not platform: raise HTTPException( status_code=404, detail=f"Platform {platform_slug} not found" @@ -545,7 +545,7 @@ def kekatsu_ds_feed(request: Request, platform_slug: str) -> Response: Returns: Response: Text file with Kekatsu DS database format """ - platform = db_platform_handler.get_platform_by_fs_slug(platform_slug) + platform = db_platform_handler.get_platform_by_slug(platform_slug) if not platform: raise HTTPException( status_code=404, detail=f"Platform {platform_slug} not found" diff --git a/backend/handler/database/platforms_handler.py b/backend/handler/database/platforms_handler.py index f2057cab8..16709413c 100644 --- a/backend/handler/database/platforms_handler.py +++ b/backend/handler/database/platforms_handler.py @@ -80,6 +80,16 @@ class DBPlatformsHandler(DBBaseHandler): ) -> Platform | None: return session.scalar(query.filter_by(fs_slug=fs_slug).limit(1)) + @begin_session + @with_firmware + def get_platform_by_slug( + self, + slug: str, + query: Query = None, # type: ignore + session: Session = None, # type: ignore + ) -> Platform | None: + return session.scalar(query.filter_by(slug=slug).limit(1)) + @begin_session def delete_platform( self,