32 lines
756 B
Python
Raw Normal View History

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,}")