From 5bb90126556a4867b3824b79555d375815c1eeee Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Wed, 2 Feb 2022 01:11:44 +0000 Subject: [PATCH] Add game support to API --- app/flatpages/help/api.md | 1 + app/models/packages.py | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/app/flatpages/help/api.md b/app/flatpages/help/api.md index e641ba8..af3c5a8 100644 --- a/app/flatpages/help/api.md +++ b/app/flatpages/help/api.md @@ -90,6 +90,7 @@ Tokens can be attained by visiting [Settings > API Tokens](/user/tokens/). * `issue_tracker`: Issue tracker URL. * `forums`: forum topic ID. * `video_url`: URL to a video. + * `game_support`: Array of game support information objects. Not currently documented, as subject to change. * GET `/api/packages///dependencies/` * Returns dependencies, with suggested candidates * If query argument `only_hard` is present, only hard deps will be returned. diff --git a/app/models/packages.py b/app/models/packages.py index d158d62..3d3f9b4 100644 --- a/app/models/packages.py +++ b/app/models/packages.py @@ -354,7 +354,7 @@ class PackageGameSupport(db.Model): game = db.relationship("Package", foreign_keys=[game_id]) supports = db.Column(db.Boolean, nullable=False, default=True) - confidence = db.Column(db.Integer, nullable=False, default=0) + confidence = db.Column(db.Integer, nullable=False, default=1) __table_args__ = (db.UniqueConstraint("game_id", "package_id", name="_package_game_support_uc"),) @@ -580,7 +580,15 @@ class Package(db.Model): "release": release and release.id, "score": round(self.score * 10) / 10, - "downloads": self.downloads + "downloads": self.downloads, + + "game_support": [ + { + "supports": support.supports, + "confidence": support.confidence, + "game": support.game.getAsDictionaryShort(base_url, version) + } for support in self.supported_games.all() + ] } def getThumbnailOrPlaceholder(self, level=2):