mirror of
https://github.com/revanced/revanced-api.git
synced 2025-04-29 22:24:31 +02:00

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
129 lines
2.3 KiB
Python
129 lines
2.3 KiB
Python
from typing import Any, Optional
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class MetadataFields(BaseModel):
|
|
"""
|
|
Metadata fields for a GitHub release.
|
|
"""
|
|
|
|
tag_name: str
|
|
name: str
|
|
draft: bool
|
|
prerelease: bool
|
|
created_at: str
|
|
published_at: str
|
|
body: str
|
|
|
|
|
|
class AssetFields(BaseModel):
|
|
"""
|
|
Asset fields for a GitHub release.
|
|
"""
|
|
|
|
name: str
|
|
content_type: str
|
|
browser_download_url: str
|
|
|
|
|
|
class ReleaseResponseModel(BaseModel):
|
|
"""
|
|
Response model for a GitHub release.
|
|
"""
|
|
|
|
metadata: MetadataFields
|
|
assets: list[AssetFields]
|
|
|
|
|
|
class SingleReleaseResponseModel(BaseModel):
|
|
"""
|
|
Response model for a GitHub release.
|
|
"""
|
|
|
|
release: ReleaseResponseModel
|
|
|
|
|
|
class ReleaseListResponseModel(BaseModel):
|
|
"""
|
|
Response model for a list of GitHub releases.
|
|
"""
|
|
|
|
releases: list[ReleaseResponseModel]
|
|
|
|
|
|
class CompatiblePackagesResponseFields(BaseModel):
|
|
"""
|
|
Implements the fields for compatible packages in the PatchesResponseFields class.
|
|
"""
|
|
|
|
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.
|
|
"""
|
|
|
|
name: str
|
|
description: str
|
|
version: str
|
|
excluded: bool
|
|
dependencies: list[str] | None
|
|
options: list[PatchesOptionsResponseFields] | None
|
|
compatiblePackages: list[CompatiblePackagesResponseFields]
|
|
|
|
|
|
class PatchesModel(BaseModel):
|
|
"""
|
|
Response model for a list of GitHub releases.
|
|
"""
|
|
|
|
patches: list[PatchesResponseFields]
|
|
|
|
|
|
class ContributorsFields(BaseModel):
|
|
"""
|
|
Implements the fields for a contributor.
|
|
"""
|
|
|
|
login: str
|
|
avatar_url: str
|
|
html_url: str
|
|
contributions: Optional[int]
|
|
|
|
|
|
class ContributorsModel(BaseModel):
|
|
"""
|
|
Response model for a list of contributors.
|
|
"""
|
|
|
|
contributors: list[ContributorsFields]
|
|
|
|
|
|
class TeamMemberFields(BaseModel):
|
|
"""
|
|
Implements the fields for a team member.
|
|
"""
|
|
|
|
login: str
|
|
avatar_url: str
|
|
html_url: str
|
|
bio: Optional[str]
|
|
|
|
|
|
class TeamMembersModel(BaseModel):
|
|
"""
|
|
Responde model for a list of team members.
|
|
"""
|
|
|
|
members: list[TeamMemberFields]
|