Files
py-ailbl-user-email/apps/schemas.py
QuangMinh_123 c871216ae0
Some checks failed
K8S Fission Deployment / Deployment fission functions (push) Failing after 22s
EmailDone1
2025-12-06 05:58:48 +07: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):
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