Coverage for app\schemas\identity.py: 100%

22 statements  

« prev     ^ index     » next       coverage.py v7.3.2, created at 2026-01-15 13:39 +0300

1from pydantic import BaseModel, EmailStr 

2from typing import Optional, Dict 

3from datetime import datetime 

4 

5class GlobalUserBase(BaseModel): 

6 email: Optional[EmailStr] = None 

7 phone: Optional[str] = None 

8 full_name: str 

9 global_role: str = "participant" 

10 external_ids: Dict[str, str] = {} 

11 is_active: bool = True 

12 

13class GlobalUserCreate(GlobalUserBase): 

14 pass 

15 

16class GlobalUserUpdate(BaseModel): 

17 full_name: Optional[str] = None 

18 email: Optional[EmailStr] = None 

19 global_role: Optional[str] = None 

20 external_ids: Optional[Dict[str, str]] = None 

21 

22class GlobalUser(GlobalUserBase): 

23 id: str 

24 created_at: datetime 

25 class Config: 

26 from_attributes = True