Skip to content

Commit

Permalink
feat(pydiscordsh): adding lang validation
Browse files Browse the repository at this point in the history
  • Loading branch information
Fudster committed Jan 9, 2025
1 parent fdca0f3 commit ee8ed92
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions apps/pydiscordsh/pydiscordsh/api/schema.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,16 @@ class DiscordServer(SQLModel, table=True):
class Config:
arbitrary_types_allowed = True
validate_assignment = True
@validator("lang", pre=True, always=True)
def validate_lang(cls, value):
if value:
if len(value) > 2:
raise ValueError("Language list cannot have more than two languages.")
valid_languages = {"en", "es", "zh", "hi", "fr", "ar", "de", "ja", "ru", "pt", "it", "ko", "tr", "vi", "pl"}
for lang in value:
if lang not in valid_languages:
raise ValueError(f"Invalid language code: {lang}. Must be one of {', '.join(cls.valid_languages)}.")
return value

@validator("invite", pre=True, always=True)
def validate_invite(cls, value):
Expand Down

0 comments on commit ee8ed92

Please sign in to comment.