mirror of
https://github.com/revanced/revanced-releases-api.git
synced 2025-05-02 23:24:27 +02:00

* feat: resolves #5, resolves #4 (#7) * Implements client generation and management * fix announcements endpoints * change annoucements model * bump deps * sync with main * refactor: adopt some functional standards in Releases.py * feat: add new workflows * chore: remove unused files * refactor: update build badge * refactor: move files around and delete unused ones * feat: add authentication endpoints * refactor: clean up code on Clients.py controller * fix: fix the client secret update endpoint * refactor: clean up authentication code * feat: add authentication to client endpoints * chore: bump deps * feat: add admin user generation * feature: add /changelogs endpoint (#10) * feat: move endpoints into custom routers, resolves #12 (#14) * refactor: import routers from old branch * refactor: import InternalCache removal * refactor: move routes into dedicated routers * fix: fixes entrypoint * refactor: add documentation and bump libs * docs: update description (#16) * feat: implement cdn mirrors endpoints, closes #15 (#17) * feat: add cdn mirror endpoints * refactor: change API version in docs * docs: fix titles on API docs page Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
101 lines
2.5 KiB
Python
101 lines
2.5 KiB
Python
from pydantic import BaseModel
|
|
import app.models.ResponseFields as ResponseFields
|
|
|
|
"""Implements pydantic models and model generator for the API's responses."""
|
|
|
|
class ToolsResponseModel(BaseModel):
|
|
"""Implements the JSON response model for the /tools endpoint.
|
|
|
|
Args:
|
|
BaseModel (pydantic.BaseModel): BaseModel from pydantic
|
|
"""
|
|
|
|
tools: list[ ResponseFields.ToolsResponseFields ]
|
|
|
|
class PatchesResponseModel(BaseModel):
|
|
"""Implements the JSON response model for the /patches endpoint.
|
|
|
|
Args:
|
|
BaseModel (pydantic.BaseModel): BaseModel from pydantic
|
|
"""
|
|
|
|
__root__: list[ ResponseFields.PatchesResponseFields ]
|
|
|
|
class ContributorsResponseModel(BaseModel):
|
|
"""Implements the JSON response model for the /contributors endpoint.
|
|
|
|
Args:
|
|
BaseModel (pydantic.BaseModel): BaseModel from pydantic
|
|
"""
|
|
|
|
repositories: list[ ResponseFields.ContributorsResponseFields ]
|
|
|
|
class PingResponseModel(BaseModel):
|
|
"""Implements the JSON response model for the /heartbeat endpoint.
|
|
|
|
Args:
|
|
BaseModel (pydantic.BaseModel): BaseModel from pydantic
|
|
"""
|
|
|
|
status: int
|
|
detail: str
|
|
|
|
class ClientDeletedResponse(BaseModel):
|
|
"""Implements the response fields for deleted clients.
|
|
|
|
Args:
|
|
BaseModel (pydantic.BaseModel): BaseModel from pydantic
|
|
"""
|
|
|
|
id: str
|
|
deleted: bool
|
|
|
|
class ClientSecretUpdatedResponse(BaseModel):
|
|
"""Implements the response fields for updated client secrets.
|
|
|
|
Args:
|
|
BaseModel (pydantic.BaseModel): BaseModel from pydantic
|
|
"""
|
|
|
|
id: str
|
|
secret: str
|
|
|
|
class ClientAuthTokenResponse(BaseModel):
|
|
"""Implements the response fields for client auth tokens.
|
|
|
|
Args:
|
|
BaseModel (pydantic.BaseModel): BaseModel from pydantic
|
|
"""
|
|
|
|
access_token: str
|
|
refresh_token: str
|
|
|
|
class ClientTokenRefreshResponse(BaseModel):
|
|
"""Implements the response fields for client token refresh.
|
|
|
|
Args:
|
|
BaseModel (pydantic.BaseModel): BaseModel from pydantic
|
|
"""
|
|
|
|
access_token: str
|
|
|
|
class ClientStatusResponse(BaseModel):
|
|
"""Implements the response fields for client status.
|
|
|
|
Args:
|
|
BaseModel (pydantic.BaseModel): BaseModel from pydantic
|
|
"""
|
|
|
|
id: str
|
|
active: bool
|
|
|
|
class ChangelogsResponseModel(BaseModel):
|
|
"""Implements the JSON response model for the /changelogs endpoint.
|
|
|
|
Args:
|
|
BaseModel (pydantic.BaseModel): BaseModel from pydantic
|
|
"""
|
|
|
|
repository: str
|
|
path: str
|
|
commits: list[ ResponseFields.ChangelogsResponseFields ] |