masstack-python-client 0.1.2__py3-none-any.whl → 0.1.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- __version__ = "0.1.2"
1
+ __version__ = "0.1.4"
2
2
  __homepage__ = "https://somconnexio.coop/"
3
3
  __author__ = "Borja Gimeno <borja.gimeno@somconnexio.coop>"
4
4
  __license__ = "GPL-3.0-only"
@@ -8,7 +8,7 @@ class MasstackClientException(Exception):
8
8
  _message: Optional[str] = None
9
9
 
10
10
  def __init__(self, status_code: int, message: str):
11
- super(MasstackClientException, self).__init__(message)
11
+ super().__init__(status_code, message)
12
12
  self._message = message
13
13
  self._status_code = status_code
14
14
 
@@ -41,11 +41,7 @@ class SignupsResource(CustomersResource):
41
41
  data=payload,
42
42
  )
43
43
 
44
- return SignupsResponseData(
45
- sell_id=result["sell_id"],
46
- customer_id=result["customer_id"],
47
- work_order_id=[result["work_order_id"]],
48
- )
44
+ return SignupsResponseData.from_dict(result)
49
45
 
50
46
 
51
47
  class Users(CustomersResource):
@@ -75,7 +75,7 @@ class PortabilityCheck(Portability):
75
75
  "technology": technology.value,
76
76
  },
77
77
  )
78
- return PortabilityData.from_dict(**portability)
78
+ return PortabilityData.from_dict(fixedPhoneNumber=number, **portability)
79
79
 
80
80
 
81
81
  class Coverage(FeasibilityResource):
@@ -23,6 +23,7 @@ class PortabilityData:
23
23
  internalPortability: bool
24
24
  isPortable: bool
25
25
  installationRequired: bool
26
+ fixedPhoneNumber: str
26
27
  operator: OperatorData
27
28
  installationInfo: Optional[InstallationInfoData] = None
28
29
 
@@ -71,8 +71,48 @@ class SignupRequestData:
71
71
  )
72
72
 
73
73
 
74
+ @dataclass(frozen=True)
75
+ class Subscription:
76
+ type: int
77
+ subscription_id: int
78
+ user_info_id: int
79
+ msisdn: str
80
+ fixed_number: str
81
+ associated_number: str
82
+ subscription_terminal_id: int
83
+
84
+
85
+ @dataclass(frozen=True)
86
+ class AccountInfo:
87
+ account_id: int
88
+ account_number: str
89
+ bundle_id: int
90
+ subscriptions: List["Subscription"]
91
+
92
+ @classmethod
93
+ def from_dict(cls, data: Dict[str, Any]) -> "AccountInfo":
94
+ return cls(
95
+ account_id=data["account_id"],
96
+ account_number=data["account_number"],
97
+ bundle_id=data["bundle_id"],
98
+ subscriptions=[Subscription(**s) for s in data["subscriptions"]],
99
+ )
100
+
101
+
74
102
  @dataclass(frozen=True)
75
103
  class SignupsResponseData:
76
104
  sell_id: int
77
105
  customer_id: int
78
106
  work_order_id: str
107
+ account_info: AccountInfo
108
+ risk_decision: str
109
+
110
+ @classmethod
111
+ def from_dict(cls, data: Dict[str, Any]) -> "SignupsResponseData":
112
+ return cls(
113
+ sell_id=data["sell_id"],
114
+ customer_id=data["customer_id"],
115
+ work_order_id=data["work_order_id"],
116
+ account_info=AccountInfo.from_dict(data["account_info"]),
117
+ risk_decision=data["risk_decision"],
118
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: masstack-python-client
3
- Version: 0.1.2
3
+ Version: 0.1.4
4
4
  Summary: This Python API client provides access to masmovil core API domains
5
5
  Author-email: Borja Gimeno <borja.gimeno@somconnexio.coop>
6
6
  License: GPL-3.0-only
@@ -1,6 +1,6 @@
1
- masstack_python_client/__init__.py,sha256=ZTmTs1xo1drUCH491ojJ_oneDGg4yoG7uhE4M140zVE,154
1
+ masstack_python_client/__init__.py,sha256=KceV9emiPi9coFM50J_b9dURbRXf5LsiS6Mptuw1680,154
2
2
  masstack_python_client/client.py,sha256=5b52Q2ekABi7DlZPsNobcmaJXOKzZfhKE_kHvNEqE9Q,2496
3
- masstack_python_client/exceptions.py,sha256=HkX1cP4Ryeas59CzIVW8N5gmnRE1x0yQUQwS3tm9QZQ,2115
3
+ masstack_python_client/exceptions.py,sha256=_bHtuBpUX--B1_FraHFLxeMqiO_9_rXk2FQh9qdI3Mg,2099
4
4
  masstack_python_client/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  masstack_python_client/auth/token.py,sha256=cNpV8lwfme1E9XBpGAtMj2ZFh2C_NgGVlIuXswE-eBE,306
6
6
  masstack_python_client/auth/token_manager.py,sha256=Vz6lgKExTIj9bl7qZg3da55fMOuQq9hQAqalePpM-YE,2756
@@ -12,8 +12,8 @@ masstack_python_client/data/unit_translation.csv,sha256=34FPfaCC1eSmBfV0BbHSHJ-t
12
12
  masstack_python_client/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  masstack_python_client/resources/base.py,sha256=yCzYXBjjyelWOF7lQsabtib662Goebx0h1OHJVv4OMs,1508
14
14
  masstack_python_client/resources/catalogue.py,sha256=-9Jn_en0REEN-yknuzhrY4LsSeErxN89tPPIQpTIax0,3397
15
- masstack_python_client/resources/customers.py,sha256=fSI1SN8U4uiyYEvJQtzpUgUTtqhx7fKjYKt6bfLrOvE,2397
16
- masstack_python_client/resources/feasibility.py,sha256=eYGIUwMIkDIfrbgR69Um284UJh5KlR0HLOUp-0FcYKE,8425
15
+ masstack_python_client/resources/customers.py,sha256=cKlZulq9RnOZhiFz347bOejig0GDvp4LdZL-QWtCHfQ,2265
16
+ masstack_python_client/resources/feasibility.py,sha256=NelHLSaDCZjwqo32nZ4wpglspoHZ9zoXvGrveWIOUfQ,8450
17
17
  masstack_python_client/resources/provision.py,sha256=SfMly7_19-yxXZRuqXaxRzpHUSVIjcxO_Oq7g_K5d2A,997
18
18
  masstack_python_client/resources/enums/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  masstack_python_client/resources/enums/bundled_product_category.py,sha256=0rEsOud4kyDVX07DQ15C_DPcw8hZy84bAVj8j7nT22k,388
@@ -32,13 +32,13 @@ masstack_python_client/resources/models/client_address.py,sha256=7WBiPTce2X6uZUV
32
32
  masstack_python_client/resources/models/client_attribute.py,sha256=rZlLjJeBVD6IpXbSEucujTqcmHhqoJGRTOV1wqyStak,697
33
33
  masstack_python_client/resources/models/client_payment.py,sha256=yMGMTuk_07-TzXWO89sCaaZv8soTO9cT0TzfV3xQa1o,262
34
34
  masstack_python_client/resources/models/fixed_phone.py,sha256=ihF-iICz89eVhkeyRsX3pXYkODlXRpYPGJLiFiTBilM,98
35
- masstack_python_client/resources/models/portability.py,sha256=64WjYLyxDCNgwzmqiDgMHnfouwIyxPmQKcaBZGT50L0,926
35
+ masstack_python_client/resources/models/portability.py,sha256=AcM3ZZuTn_w1QGpchqtEIvqPl1KdqNhhs2673QAVs7w,952
36
36
  masstack_python_client/resources/models/products.py,sha256=dSFZ2Cdn1xbEXlklcUr9qHfTj9tnTJcdYIcsTlHgmoc,2657
37
- masstack_python_client/resources/models/signup.py,sha256=Hvo5nZce1ikpUUMEoLt_2g2HipHwh4XRIz344X8_IJk,2018
37
+ masstack_python_client/resources/models/signup.py,sha256=EkMP-fAT4zdmdWjBPxFP7X6k7rAUCLF7Q9JpWjH21fg,3118
38
38
  masstack_python_client/resources/models/user.py,sha256=N5mwuZN0Saxiro2UXYcCxLL6jrpIU83crHhmrdAcgE8,1080
39
39
  masstack_python_client/resources/utils/normalize.py,sha256=3XXrh4WxujpoxouKoTP1WZQomQhuirk6KW_3ZYsvBGQ,901
40
- masstack_python_client-0.1.2.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
41
- masstack_python_client-0.1.2.dist-info/METADATA,sha256=4FA2sxsycclHWOxNcvfe3mVLkF_4niF2BAYiH2ScDTs,4215
42
- masstack_python_client-0.1.2.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
43
- masstack_python_client-0.1.2.dist-info/top_level.txt,sha256=q_iYlqJq22lhg_2O2iktARr7Mzz3QfjaW4l6J4vwyE8,23
44
- masstack_python_client-0.1.2.dist-info/RECORD,,
40
+ masstack_python_client-0.1.4.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
41
+ masstack_python_client-0.1.4.dist-info/METADATA,sha256=CxrWqpmz1KJ1kAvRNi6krh_nKIAQyGt35-WgsUjMzbk,4215
42
+ masstack_python_client-0.1.4.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
43
+ masstack_python_client-0.1.4.dist-info/top_level.txt,sha256=q_iYlqJq22lhg_2O2iktARr7Mzz3QfjaW4l6J4vwyE8,23
44
+ masstack_python_client-0.1.4.dist-info/RECORD,,