Files
py-ailbl-user-email/apps/schemas.py
QuangMinh_123 590492fffa
Some checks failed
K8S Fission Deployment / Deployment fission functions (push) Failing after 21s
EmailCRUD
2025-12-06 14:35:57 +00:00

37 lines
1.3 KiB
Python

from pydantic import BaseModel, Field, EmailStr, root_validator
from typing import Optional
# Validate dau vao email
class UserEmailRequest(BaseModel): #Pased luu gia tri validate email
email: EmailStr = Field(..., description="Email address")
provider: Optional[str] = Field(None, description="Email service provider")
is_primary: Optional[bool] = Field(None, description= "is primary email ")
@root_validator(pre=True)
def auto_detect_provider(cls, values):
email = values.get("email")
provider = values.get("provider")
if not provider and email:
domain_part = email.split('@')[-1]
values["provider"] = domain_part.split('.')[0]
return values
class UserEmailUpdateRequest(BaseModel):
email: Optional[EmailStr] = Field(None, description="Email address")
provider: Optional[str] = Field(None, description="Email service provider")
is_primary: Optional[bool] = Field(None, description= "is primary email ")
@root_validator(pre=True)
def auto_detect_provider(cls, values):
email = values.get("email")
provider = values.get("provider")
if not provider and email:
domain_part = email.split('@')[-1]
values["provider"] = domain_part.split('.')[0]
return values