feat: import F95 screenshot galleries with AVIF support
CI / frontend (push) Failing after 19s
CI / backend (push) Failing after 41s

This commit is contained in:
mrleo1nid committed 2026-10-26 17:51:19 +03:00
1 parent 5b911d1e3b
commit 69f71cb836
21 files changed
+513 -33

No files matched your search

+6 -1
View File
@@ -1,8 +1,10 @@
from datetime import datetime
from typing import Any
from typing import Annotated, Any
from pydantic import BaseModel, ConfigDict, Field
GalleryHash = Annotated[str, Field(pattern=r"^[0-9a-f]{64}\.webp$")]
class ORM(BaseModel):
model_config = ConfigDict(from_attributes=True)
@@ -97,6 +99,7 @@ class GameOut(ORM):
tags: list[str]
engine: str
cover_hash: str | None
gallery_hashes: list[str] = []
created_at: datetime
main_version_id: int | None = None
# version counts visible to the requesting user (filled by the list endpoint)
@@ -114,6 +117,7 @@ class GameIn(BaseModel):
description: str = ""
tags: list[str] = []
cover_hash: str | None = Field(default=None, pattern=r"^[0-9a-f]{64}\.webp$")
gallery_hashes: list[GalleryHash] = Field(default_factory=list, max_length=48)
class GameUpdateIn(BaseModel):
@@ -121,6 +125,7 @@ class GameUpdateIn(BaseModel):
description: str | None = None
tags: list[str] | None = None
cover_hash: str | None = Field(default=None, pattern=r"^[0-9a-f]{64}\.webp$")
gallery_hashes: list[GalleryHash] | None = Field(default=None, max_length=48)
class VersionIn(BaseModel):