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

1from enum import Enum 

2from typing import List, Optional 

3 

4from pydantic import HttpUrl 

5 

6from gib_esu.models.base_model import CustomBaseModel 

7from gib_esu.models.request_models import ( 

8 ESUSeriNo, 

9 NonEmptyString, 

10 TaxNumber, 

11 TaxNumberOrEmpty, 

12) 

13 

14# enums 

15 

16 

17class EvetVeyaHayir(str, Enum): 

18 """Enum for boolean config parameters.""" 

19 

20 EVET = "1" 

21 HAYIR = "0" 

22 

23 

24# service config models 

25 

26 

27class APIParametreleri(CustomBaseModel): 

28 """Service model for API parameters.""" 

29 

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 

36 

37 

38class ESUServisKonfigurasyonu(CustomBaseModel): 

39 """Service configuration model.""" 

40 

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 

50 

51 

52# service output models 

53 

54 

55class ESUKayitSonucu(CustomBaseModel): 

56 """Charge point registration output model.""" 

57 

58 esu_kayit_sonucu: str 

59 

60 

61class MukellefKayitSonucu(CustomBaseModel): 

62 """Charge point tax payer registration model.""" 

63 

64 mukellef_kayit_sonucu: str 

65 

66 

67class ESUTopluKayitSonucu(ESUSeriNo, ESUKayitSonucu, MukellefKayitSonucu): 

68 """Batch registration output model for single charge point.""" 

69 

70 pass 

71 

72 

73class TopluKayitSonuc(CustomBaseModel): 

74 """Charge point batch registration output model.""" 

75 

76 sonuclar: List[ESUTopluKayitSonucu] 

77 toplam: int 

78 

79 

80class ESUTopluGuncellemeSonucu(ESUSeriNo): 

81 """Batch update output model for single charge point.""" 

82 

83 guncelleme_kayit_sonucu: str 

84 

85 

86class TopluGuncellemeSonuc(CustomBaseModel): 

87 """Charge point batch update output model.""" 

88 

89 sonuclar: List[ESUTopluGuncellemeSonucu] 

90 toplam: int