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

* 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
90 lines
2.2 KiB
Python
90 lines
2.2 KiB
Python
from pydantic import BaseModel
|
|
import src.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 |