38 lines
910 B
Python

from pydantic import BaseModel
from typing import Optional, List
class AppMetadata(BaseModel):
"""Represents a single app in the repository."""
id: str
package_name: str
version_name: str
version_code: str
name: str
description: str = ""
icon: Optional[str] = None
size: int = 0
screenshots: List[str] = []
min_sdk: Optional[str] = None
target_sdk: Optional[str] = None
permissions: List[str] = []
class AppListResponse(BaseModel):
"""Response for listing apps."""
apps: List[AppMetadata]
total: int
class UpdateCheckRequest(BaseModel):
"""Request to check for updates."""
package_name: str
current_version_code: str
class UpdateCheckResponse(BaseModel):
"""Response for update check."""
has_update: bool
app: Optional[AppMetadata] = None
current_version_code: str
latest_version_code: Optional[str] = None