2025-01-24 22:35:44 +00:00
|
|
|
from snek.system.model import BaseModel, ModelField
|
|
|
|
|
2025-01-24 02:28:43 +00:00
|
|
|
|
2025-01-24 13:00:10 +00:00
|
|
|
class UserModel(BaseModel):
|
2025-01-24 22:35:44 +00:00
|
|
|
|
2025-01-24 02:28:43 +00:00
|
|
|
username = ModelField(
|
2025-01-24 22:35:44 +00:00
|
|
|
name="username",
|
2025-01-24 02:28:43 +00:00
|
|
|
required=True,
|
|
|
|
min_length=2,
|
|
|
|
max_length=20,
|
|
|
|
regex=r"^[a-zA-Z0-9_]+$",
|
|
|
|
)
|
2025-01-25 21:24:44 +00:00
|
|
|
nick = ModelField(
|
|
|
|
name="nick",
|
2025-01-28 23:33:00 +00:00
|
|
|
required=True,
|
2025-01-25 21:24:44 +00:00
|
|
|
min_length=2,
|
|
|
|
max_length=20,
|
|
|
|
regex=r"^[a-zA-Z0-9_]+$",
|
|
|
|
)
|
2025-01-28 23:33:00 +00:00
|
|
|
color = ModelField(
|
|
|
|
name ="color",
|
|
|
|
required=True,
|
|
|
|
regex=r"^#[0-9a-fA-F]{6}$",
|
|
|
|
kind=str
|
|
|
|
)
|
2025-01-24 02:28:43 +00:00
|
|
|
email = ModelField(
|
|
|
|
name="email",
|
2025-01-24 13:00:10 +00:00
|
|
|
required=False,
|
2025-01-24 22:35:44 +00:00
|
|
|
regex=r"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$",
|
2025-01-24 02:28:43 +00:00
|
|
|
)
|
2025-01-24 22:35:44 +00:00
|
|
|
password = ModelField(name="password", required=True, regex=r"^[a-zA-Z0-9_.+-]{6,}")
|