Files
2026-01-28 21:55:10 -05:00

57 lines
1.5 KiB
Python

from marshmallow import Schema, fields, validate, EXCLUDE
class LoginSchema(Schema):
"""Validation schema for user login"""
class Meta:
unknown = EXCLUDE
username = fields.Str(
required=True,
validate=validate.Length(min=3, max=100),
error_messages={"required": "Username is required"}
)
password = fields.Str(
required=True,
validate=validate.Length(min=6, max=200),
error_messages={"required": "Password is required"}
)
class RegisterSchema(Schema):
"""Validation schema for user registration"""
class Meta:
unknown = EXCLUDE
username = fields.Str(
required=True,
validate=validate.Length(min=3, max=100),
error_messages={"required": "Username is required"}
)
password = fields.Str(
required=True,
validate=validate.Length(min=6, max=200),
error_messages={"required": "Password is required"}
)
email = fields.Email(
required=True,
error_messages={"required": "Email is required"}
)
class ChangePasswordSchema(Schema):
"""Validation schema for password change"""
class Meta:
unknown = EXCLUDE
new_password = fields.Str(
required=True,
validate=validate.Length(min=6, max=200),
error_messages={"required": "New password is required"}
)
password_confirm = fields.Str(
required=True,
validate=validate.Length(min=6, max=200),
error_messages={"required": "Password confirmation is required"}
)