Coverage for gib_esu/models/service_models.py: 100%
39 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
1from enum import Enum
2from typing import List, Optional
4from pydantic import HttpUrl
6from gib_esu.models.base_model import CustomBaseModel
7from gib_esu.models.request_models import (
8 ESUSeriNo,
9 NonEmptyString,
10 TaxNumber,
11 TaxNumberOrEmpty,
12)
14# enums
17class EvetVeyaHayir(str, Enum):
18 """Enum for boolean config parameters."""
20 EVET = "1"
21 HAYIR = "0"
24# service config models
27class APIParametreleri(CustomBaseModel):
28 """Service model for API parameters."""
30 api_sifre: str
31 test_firma_vkn: str
32 test_firma: bool
33 prod_api: bool
34 ssl_dogrulama: bool
35 api_url: Optional[HttpUrl] = None
38class ESUServisKonfigurasyonu(CustomBaseModel):
39 """Service configuration model."""
41 FIRMA_UNVAN: NonEmptyString
42 EPDK_LISANS_KODU: NonEmptyString
43 FIRMA_VKN: TaxNumber
44 GIB_FIRMA_KODU: NonEmptyString
45 GIB_API_SIFRE: NonEmptyString
46 PROD_API: EvetVeyaHayir
47 SSL_DOGRULAMA: EvetVeyaHayir
48 TEST_FIRMA_KULLAN: EvetVeyaHayir
49 GIB_TEST_FIRMA_VKN: TaxNumberOrEmpty
52# service output models
55class ESUKayitSonucu(CustomBaseModel):
56 """Charge point registration output model."""
58 esu_kayit_sonucu: str
61class MukellefKayitSonucu(CustomBaseModel):
62 """Charge point tax payer registration model."""
64 mukellef_kayit_sonucu: str
67class ESUTopluKayitSonucu(ESUSeriNo, ESUKayitSonucu, MukellefKayitSonucu):
68 """Batch registration output model for single charge point."""
70 pass
73class TopluKayitSonuc(CustomBaseModel):
74 """Charge point batch registration output model."""
76 sonuclar: List[ESUTopluKayitSonucu]
77 toplam: int
80class ESUTopluGuncellemeSonucu(ESUSeriNo):
81 """Batch update output model for single charge point."""
83 guncelleme_kayit_sonucu: str
86class TopluGuncellemeSonuc(CustomBaseModel):
87 """Charge point batch update output model."""
89 sonuclar: List[ESUTopluGuncellemeSonucu]
90 toplam: int