45 lines
815 B
Python
45 lines
815 B
Python
from pydantic import Field
|
|
|
|
from . import BaseSnowflakeModel
|
|
|
|
|
|
class BaseUserModel(BaseSnowflakeModel):
|
|
name: str = Field(alias="username")
|
|
display_name: str | None
|
|
bio: str | None
|
|
|
|
|
|
class UserModel(BaseUserModel):
|
|
members: list["BaseMemberModel"] = Field(default=[])
|
|
|
|
|
|
class BaseMemberModel(BaseSnowflakeModel):
|
|
name: str
|
|
display_name: str | None
|
|
bio: str | None
|
|
|
|
|
|
class SelfUserModel(UserModel):
|
|
pass
|
|
|
|
|
|
def check_username(value):
|
|
if not value:
|
|
return value
|
|
|
|
if value.lower() in (
|
|
"..",
|
|
"admin",
|
|
"administrator",
|
|
"mod",
|
|
"moderator",
|
|
"api",
|
|
"page",
|
|
"pronouns",
|
|
"settings",
|
|
"pronouns.cc",
|
|
"pronounscc",
|
|
):
|
|
raise ValueError("Username is not allowed")
|
|
|
|
return value
|