This commit is contained in:
2025-10-12 15:00:23 +03:00
parent a2aadc82b7
commit a4f9af3e2d
8 changed files with 59 additions and 17 deletions

View File

@@ -1,4 +1,4 @@
from pydantic import BaseModel, Field, EmailStr, constr,validator
from pydantic import BaseModel, Field, EmailStr, constr, field_validator
from typing import List, Optional
from enum import IntEnum
@@ -22,7 +22,7 @@ class UsersInfo(BaseModel):
description: str = Field(..., description="description of the user")
activated:bool = Field(..., description="Has the user activated their account")
password:constr(min_length=8) = Field(..., description="Password with min 8 chars, letters and digits")
@validator('password')
@field_validator('password')
def password_validator(cls, password):
return check_password_complexity(cls, password)
class CreateUser(UsersInfo):
@@ -34,8 +34,8 @@ class UserUpdate(BaseModel):
password:Optional[constr(min_length=8)] = Field(None, description="Password with min 8 chars, letters and digits")
can_edit:Optional[bool] = Field(None, description="The user can edit something")
can_delete:Optional[bool] = Field(None, description="The user can delete something")
can_view:Optional[bool]=Field(None, descriptiopn="The user can view something")
@validator('password')
can_view:Optional[bool]=Field(None, description="The user can view something")
@field_validator('password')
def password_validator(cls, password):
return check_password_complexity(cls, password)
class UserLogin(BaseModel):
@@ -44,7 +44,7 @@ class UserLogin(BaseModel):
class UserReset(BaseModel):
email:EmailStr = Field(..., min_length=6, max_length=254, description="user's email")
new_password:constr(min_length=8) = Field(None,description="New_password")
@validator('new_password')
@field_validator('new_password')
def password_validator(cls, new_password):
return check_password_complexity(cls, new_password)
class UserOut(BaseModel):