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

33 statements  

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

1from pydantic import BaseModel, Field 

2from typing import Optional, List 

3from datetime import datetime 

4 

5class SchoolBase(BaseModel): 

6 name: str 

7 type: str = "school" 

8 status: str = "active" 

9 address: Optional[str] = None 

10 phone: Optional[str] = None 

11 email: Optional[str] = None 

12 director_name: Optional[str] = None 

13 lat: Optional[float] = None 

14 lon: Optional[float] = None 

15 

16class SchoolCreate(SchoolBase): 

17 initial_plan_code: Optional[str] = None 

18 

19class SchoolUpdate(BaseModel): 

20 name: Optional[str] = None 

21 status: Optional[str] = None 

22 address: Optional[str] = None 

23 phone: Optional[str] = None 

24 email: Optional[str] = None 

25 director_name: Optional[str] = None 

26 lat: Optional[float] = None 

27 lon: Optional[float] = None 

28 

29class School(SchoolBase): 

30 id: str 

31 token: str 

32 last_heartbeat: Optional[datetime] = None 

33 version: int 

34 created_at: datetime 

35 updated_at: datetime 

36 

37 class Config: 

38 from_attributes = True