feat(games): support non-steam games

This commit is contained in:
2026-05-25 00:54:38 +02:00
parent c2602dbc02
commit 6a58a0289e
7 changed files with 55 additions and 259 deletions
@@ -0,0 +1,22 @@
# Generated by Django 6.0.5 on 2026-05-24 22:51
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("games", "0003_game_path"),
]
operations = [
migrations.AddField(
model_name="game",
name="image",
field=models.URLField(blank=True, null=True),
),
migrations.AlterField(
model_name="game",
name="steam_app_id",
field=models.PositiveIntegerField(blank=True, null=True),
),
]
+5 -2
View File
@@ -2,9 +2,10 @@ from django.db import models
class Game(models.Model):
steam_app_id = models.PositiveIntegerField(unique=True)
steam_app_id = models.PositiveIntegerField(null=True, blank=True)
name = models.CharField(max_length=255)
path = models.CharField(max_length=100)
image = models.URLField(null=True, blank=True)
enabled = models.BooleanField(default=True)
created_at = models.DateTimeField(auto_now_add=True)
@@ -14,4 +15,6 @@ class Game(models.Model):
ordering = ["name"]
def __str__(self) -> str:
return f"{self.name} ({self.steam_app_id})"
if self.steam_app_id:
return f"{self.name} ({self.steam_app_id})"
return self.name
+5 -1
View File
@@ -1,7 +1,11 @@
from typing import Optional
from ninja import Schema
class GameOut(Schema):
steam_app_id: int
id: int
steam_app_id: Optional[int] = None
name: str
path: str
image: Optional[str] = None