30 lines
981 B
Python
30 lines
981 B
Python
from fastapi import APIRouter, Depends
|
|
|
|
from api.v1.schemas.version import GitHubRelease, UpdateCheckResponse, VersionInfo
|
|
from core.dependencies import get_version_service
|
|
from infrastructure.msgspec_fastapi import MsgSpecRoute
|
|
from services.version_service import VersionService
|
|
|
|
router = APIRouter(route_class=MsgSpecRoute, prefix="/version", tags=["version"])
|
|
|
|
|
|
@router.get("", response_model=VersionInfo)
|
|
async def get_version(
|
|
version_service: VersionService = Depends(get_version_service),
|
|
):
|
|
return version_service.get_current_version()
|
|
|
|
|
|
@router.get("/check-update", response_model=UpdateCheckResponse)
|
|
async def check_update(
|
|
version_service: VersionService = Depends(get_version_service),
|
|
):
|
|
return await version_service.check_for_updates()
|
|
|
|
|
|
@router.get("/releases", response_model=list[GitHubRelease])
|
|
async def get_releases(
|
|
version_service: VersionService = Depends(get_version_service),
|
|
):
|
|
return await version_service.get_release_history()
|