2023-03-15 13:32:10 +05:30

29 lines
984 B
Python

from fastapi import APIRouter
from fastapi_cache.decorator import cache
from app.dependencies import load_config
from app.controllers.Releases import Releases
import app.models.ResponseModels as ResponseModels
router = APIRouter()
releases = Releases()
config: dict = load_config()
@router.get('/commits/{repository}/{current_version}/{target_tag}', response_model=ResponseModels.ChangelogsResponseModel, tags=['ReVanced Tools'])
@cache(config['cache']['expire'])
async def commits(repository: str, current_version: str, target_tag: str = "latest") -> list:
"""Get commit history from a given repository.
Args:
repository (str): Repository name
current_version (str): current version(vx.x.x) installed
target_tag (str): lateset(default), prerelease, recent, tag_name
Returns:
list: string containing the repository's commits between version
"""
return await releases.get_commits(repository, current_version, target_tag)