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
« prev ^ index » next coverage.py v7.6.4, created at 2024-11-25 16:39 +0300
1# regex patterns
3from enum import Enum
4from typing import Annotated, List
6from pydantic import Field, PositiveInt
8from gib_esu.models.base_model import CustomBaseModel
9from gib_esu.models.request_models import NonEmptyString
11RegEx__Api_Durum_Kodu = r"^\b\d{4}\b$"
13# enums
16class Durum(str, Enum):
17 """Enum for API response status codes."""
19 SUCCESS = "success"
20 FAILURE = "basarisiz"
23# api response model
26class Sonuc(CustomBaseModel):
27 """Api result model."""
29 esu_seri_no: NonEmptyString
30 sira_no: PositiveInt
31 kod: str = Field(pattern=RegEx__Api_Durum_Kodu)
32 mesaj: str
35class Yanit(CustomBaseModel):
36 """Api response model."""
38 durum: Durum
39 sonuc: Annotated[List[Sonuc], Field(default_factory=list, min_length=1)]