Coverage for polar/login_code/schemas.py: 93%

15 statements  

« prev     ^ index     » next       coverage.py v7.10.6, created at 2025-12-05 17:15 +0000

1from pydantic import field_validator 1a

2 

3from polar.kit.email import EmailStrDNS 1a

4from polar.kit.http import get_safe_return_url 1a

5from polar.kit.schemas import Schema 1a

6from polar.user.schemas import UserSignupAttribution 1a

7 

8 

9class LoginCodeRequest(Schema): 1a

10 email: EmailStrDNS 1a

11 return_to: str | None = None 1a

12 attribution: UserSignupAttribution | None = None 1a

13 

14 @field_validator("return_to") 1a

15 @classmethod 1a

16 def validate_return_to(cls, v: str | None) -> str: 1a

17 return get_safe_return_url(v) 

18 

19 

20class LoginCodeAuthenticate(Schema): 1a

21 code: str 1a