mirror of
https://github.com/revanced/revanced-releases-api.git
synced 2025-05-23 18:16:24 +02:00
adds version to tools endpoint and fixes patches JSON
This commit is contained in:
parent
ecd4432400
commit
452c4e8008
@ -28,7 +28,7 @@ The team also have a [Discord Server](https://revanced.app/discord) if you need
|
||||
Godspeed 💀
|
||||
|
||||
"""
|
||||
version = "0.2 alpha"
|
||||
version = "0.3 alpha"
|
||||
|
||||
[license]
|
||||
|
||||
@ -54,7 +54,7 @@ database = 1
|
||||
|
||||
[app]
|
||||
|
||||
repositories = ["TeamVanced/VancedMicroG", "revanced/revanced-cli", "revanced/revanced-patches", "revanced/revanced-integrations", "revanced/revanced-manager"]
|
||||
repositories = ["TeamVanced/VancedMicroG", "revanced/revanced-cli", "revanced/revanced-patcher", "revanced/revanced-patches", "revanced/revanced-integrations", "revanced/revanced-manager"]
|
||||
|
||||
[logging]
|
||||
|
||||
|
@ -36,20 +36,30 @@ class Releases:
|
||||
# Returns:
|
||||
# dict: dictionary of filename and download url
|
||||
|
||||
assets = []
|
||||
assets: list = []
|
||||
response = await self.httpx_client.get(f"https://api.github.com/repos/{repository}/releases/latest")
|
||||
|
||||
if response.status_code == 200:
|
||||
release_assets = response.json()['assets']
|
||||
|
||||
for asset in release_assets:
|
||||
assets.append({ 'repository': repository,
|
||||
'name': asset['name'],
|
||||
'size': asset['size'],
|
||||
'browser_download_url': asset['browser_download_url'],
|
||||
'content_type': asset['content_type']
|
||||
})
|
||||
release_assets: dict = response.json()['assets']
|
||||
release_version: str = response.json()['tag_name']
|
||||
release_tarball: str = response.json()['tarball_url']
|
||||
|
||||
if release_assets:
|
||||
for asset in release_assets:
|
||||
assets.append({ 'repository': repository,
|
||||
'version': release_version,
|
||||
'name': asset['name'],
|
||||
'size': asset['size'],
|
||||
'browser_download_url': asset['browser_download_url'],
|
||||
'content_type': asset['content_type']
|
||||
})
|
||||
else:
|
||||
assets.append({ 'repository': repository,
|
||||
'version': release_version,
|
||||
'name': f"{repository.split('/')[1]}-{release_version}.tar.gz",
|
||||
'browser_download_url': release_tarball,
|
||||
'content_type': 'application/gzip'
|
||||
})
|
||||
return assets
|
||||
|
||||
async def get_latest_releases(self, repositories: list) -> dict:
|
||||
|
@ -1,3 +1,4 @@
|
||||
from typing import Any
|
||||
from pydantic import BaseModel
|
||||
|
||||
class ToolsResponseFields(BaseModel):
|
||||
@ -7,8 +8,9 @@ class ToolsResponseFields(BaseModel):
|
||||
BaseModel (pydantic.BaseModel): BaseModel from pydantic
|
||||
"""
|
||||
repository: str
|
||||
version: str
|
||||
name: str
|
||||
size: str
|
||||
size: str | None = None
|
||||
browser_download_url: str
|
||||
content_type: str
|
||||
class CompatiblePackagesResponseFields(BaseModel):
|
||||
@ -19,6 +21,14 @@ class CompatiblePackagesResponseFields(BaseModel):
|
||||
"""
|
||||
name: str
|
||||
versions: list[ str ] | None
|
||||
|
||||
class PatchesOptionsResponseFields(BaseModel):
|
||||
key: str
|
||||
title: str
|
||||
description: str
|
||||
required: bool
|
||||
choices: list[ Any ] | None
|
||||
|
||||
class PatchesResponseFields(BaseModel):
|
||||
"""Implements the fields for the /patches endpoint.
|
||||
|
||||
@ -29,7 +39,9 @@ class PatchesResponseFields(BaseModel):
|
||||
description: str
|
||||
version: str
|
||||
excluded: bool
|
||||
deprecated: bool
|
||||
dependencies: list[ str ] | None
|
||||
options: list[ PatchesOptionsResponseFields ] | None
|
||||
compatiblePackages: list[ CompatiblePackagesResponseFields ]
|
||||
|
||||
class ContributorFields(BaseModel):
|
||||
|
Loading…
x
Reference in New Issue
Block a user