Coverage for polar/login_code/schemas.py: 100%
13 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 12:42 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 12:42 +0000
1from pydantic import field_validator
3from polar.kit.email import EmailStrDNS
4from polar.kit.http import get_safe_return_url
5from polar.kit.schemas import Schema
6from polar.user.schemas import UserSignupAttribution
9class LoginCodeRequest(Schema):
10 email: EmailStrDNS
11 return_to: str | None = None
12 attribution: UserSignupAttribution | None = None
14 @field_validator("return_to")
15 @classmethod
16 def validate_return_to(cls, v: str | None) -> str:
17 return get_safe_return_url(v)
20class LoginCodeAuthenticate(Schema):
21 code: str