Coverage for gib_esu/models/response_models.py: 100%

17 statements  

« prev     ^ index     » next       coverage.py v7.6.4, created at 2024-11-25 16:39 +0300

1# regex patterns 

2 

3from enum import Enum 

4from typing import Annotated, List 

5 

6from pydantic import Field, PositiveInt 

7 

8from gib_esu.models.base_model import CustomBaseModel 

9from gib_esu.models.request_models import NonEmptyString 

10 

11RegEx__Api_Durum_Kodu = r"^\b\d{4}\b$" 

12 

13# enums 

14 

15 

16class Durum(str, Enum): 

17 """Enum for API response status codes.""" 

18 

19 SUCCESS = "success" 

20 FAILURE = "basarisiz" 

21 

22 

23# api response model 

24 

25 

26class Sonuc(CustomBaseModel): 

27 """Api result model.""" 

28 

29 esu_seri_no: NonEmptyString 

30 sira_no: PositiveInt 

31 kod: str = Field(pattern=RegEx__Api_Durum_Kodu) 

32 mesaj: str 

33 

34 

35class Yanit(CustomBaseModel): 

36 """Api response model.""" 

37 

38 durum: Durum 

39 sonuc: Annotated[List[Sonuc], Field(default_factory=list, min_length=1)]