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
« 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
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
13class GlobalUserCreate(GlobalUserBase):
14 pass
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
22class GlobalUser(GlobalUserBase):
23 id: str
24 created_at: datetime
25 class Config:
26 from_attributes = True