feat: use objects for /socials and /donations (#51)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
Ushie 2023-08-05 21:45:05 +03:00 committed by GitHub
parent 4d0de6e92e
commit d4eac5c757
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 53 additions and 26 deletions

View File

@ -1,13 +1,31 @@
from pydantic import BaseModel
class WalletFields(BaseModel):
"""
Implements the fields for a crypto wallet.
"""
name: str
address: str
class LinkFields(BaseModel):
"""
Implements the fields for a donation link.
"""
name: str
url: str
class DonationFields(BaseModel):
"""
A Pydantic BaseModel that represents all the donation links and wallets.
"""
wallets: dict[str, str]
links: dict[str, str]
wallets: list[WalletFields]
links: list[LinkFields]
class DonationsResponseModel(BaseModel):

View File

@ -1,12 +1,21 @@
from pydantic import BaseModel
class SocialField(BaseModel):
"""
Implements the fields for a social network link.
"""
name: str
url: str
class SocialsResponseModel(BaseModel):
"""
A Pydantic BaseModel that represents a dictionary of social links.
"""
socials: dict[str, str]
socials: list[SocialField]
"""
A dictionary where the keys are the names of the social networks, and
the values are the links to the profiles or pages.

View File

@ -1,32 +1,32 @@
# Social Links
from email.policy import default
social_links: dict[str, str] = {
"website": "https://revanced.app",
"github": "https://github.com/revanced",
"twitter": "https://twitter.com/revancedapp",
"discord": "https://revanced.app/discord",
"reddit": "https://www.reddit.com/r/revancedapp",
"telegram": "https://t.me/app_revanced",
"youtube": "https://www.youtube.com/@ReVanced",
}
social_links: list[dict[str, str]] = [
{"name": "website", "url": "https://revanced.app"},
{"name": "github", "url": "https://github.com/revanced"},
{"name": "twitter", "url": "https://twitter.com/revancedapp"},
{"name": "discord", "url": "https://revanced.app/discord"},
{"name": "reddit", "url": "https://www.reddit.com/r/revancedapp"},
{"name": "telegram", "url": "https://t.me/app_revanced"},
{"name": "youtube", "url": "https://www.youtube.com/@ReVanced"},
]
# Donation info
wallets: dict[str, str] = {
"btc": "bc1q4x8j6mt27y5gv0q625t8wkr87ruy8fprpy4v3f",
"doge": "D8GH73rNjudgi6bS2krrXWEsU9KShedLXp",
"eth": "0x7ab4091e00363654bf84B34151225742cd92FCE5",
"ltc": "LbJi8EuoDcwaZvykcKmcrM74jpjde23qJ2",
"xmr": "46YwWDbZD6jVptuk5mLHsuAmh1BnUMSjSNYacozQQEraWSQ93nb2yYVRHoMR6PmFYWEHsLHg9tr1cH5M8Rtn7YaaGQPCjSh",
}
wallets: list[dict[str, str]] = [
{"name": "btc", "address": "bc1q4x8j6mt27y5gv0q625t8wkr87ruy8fprpy4v3f"},
{"name": "doge", "address": "D8GH73rNjudgi6bS2krrXWEsU9KShedLXp"},
{"name": "eth", "address": "0x7ab4091e00363654bf84B34151225742cd92FCE5"},
{"name": "ltc", "address": "LbJi8EuoDcwaZvykcKmcrM74jpjde23qJ2"},
{
"name": "xmr",
"address": "46YwWDbZD6jVptuk5mLHsuAmh1BnUMSjSNYacozQQEraWSQ93nb2yYVRHoMR6PmFYWEHsLHg9tr1cH5M8Rtn7YaaGQPCjSh",
},
]
links: dict[str, str] = {
"opencollective": "https://opencollective.com/revanced",
"github": "https://github.com/sponsors/ReVanced",
}
links: list[dict[str, str]] = [
{"name": "Open Collective", "url": "https://opencollective.com/revanced"},
{"name": "Github Sponsors", "url": "https://github.com/sponsors/ReVanced"},
]
# API Configuration