11import requests
2- from typing import Dict , List
2+ from typing import Dict
33from datetime import datetime
44
55from .config import (
@@ -21,39 +21,39 @@ def __init__(self, token=None):
2121 _mono_webhook_uri = MONOBANK_WEBHOOK_URI
2222
2323 @property
24- def token (self ):
24+ def token (self ) -> str :
2525 return self ._token
2626
2727 @token .setter
2828 def token (self , new_token ):
2929 self ._token = new_token
3030
3131 @property
32- def mono_currency_uri (self ):
32+ def mono_currency_uri (self ) -> str :
3333 return self ._mono_currency_uri
3434
3535 @mono_currency_uri .setter
3636 def mono_currency_uri (self , new_uri ):
3737 self ._mono_currency_uri = new_uri
3838
3939 @property
40- def mono_client_info_uri (self ):
40+ def mono_client_info_uri (self ) -> str :
4141 return self ._mono_client_info_uri
4242
4343 @mono_client_info_uri .setter
4444 def mono_client_info_uri (self , new_uri ):
4545 self ._mono_client_info_uri = new_uri
4646
4747 @property
48- def mono_statement_uri (self ):
48+ def mono_statement_uri (self ) -> str :
4949 return self ._mono_statement_uri
5050
5151 @mono_statement_uri .setter
5252 def mono_statement_uri (self , new_uri ):
5353 self ._mono_statement_uri = new_uri
5454
5555 @property
56- def mono_webhook_uri (self ):
56+ def mono_webhook_uri (self ) -> str :
5757 return self ._mono_webhook_uri
5858
5959 @mono_webhook_uri .setter
@@ -65,25 +65,32 @@ def session(cls) -> requests.sessions.Session:
6565 return requests .Session ()
6666
6767 @staticmethod
68- def __date (period : int ) -> int | Dict :
68+ def __date (period : int ) -> Dict :
6969 _day = 86400 # 1 day (UNIX)
7070 try :
71- time_delta = int (datetime .now ().timestamp ()) - (period * _day )
71+ delta = int (datetime .now ().timestamp ()) - (period * _day )
72+ time_delta = {
73+ "time_delta" : delta
74+ }
7275 return time_delta
7376 except Exception as exc :
7477 exception = {
7578 'detail' : str (exc )
7679 }
7780 return exception
7881
79- def get_currency (self ) -> List [ Dict ] | Dict :
82+ def get_currency (self ) -> Dict :
8083 try :
8184 session = self .session ()
8285 uri = self .mono_currency_uri
8386 response = session .get (uri )
8487 code = response .status_code
8588 response .raise_for_status ()
86- return response .json ()
89+ payload = {
90+ "code" : code ,
91+ "detail" : response .json ()
92+ }
93+ return payload
8794 except requests .exceptions .HTTPError as exc :
8895 error_response = {
8996 "code" : code ,
@@ -105,7 +112,11 @@ def get_client_info(self) -> Dict:
105112 response = session .get (uri , headers = headers )
106113 code = response .status_code
107114 response .raise_for_status ()
108- return response .json ()
115+ payload = {
116+ "code" : code ,
117+ "detail" : response .json ()
118+ }
119+ return payload
109120 except requests .exceptions .HTTPError as exc :
110121 error_response = {
111122 "code" : code ,
@@ -120,27 +131,37 @@ def get_client_info(self) -> Dict:
120131
121132 def get_balance (self ) -> Dict :
122133 try :
123- response = self .get_client_info ()
134+ client_info = self .get_client_info ()
135+ code = client_info .get ("code" )
136+ data = client_info .get ("detail" )
124137 balance = {
125- 'balance' : response ["accounts" ][0 ]["balance" ] / 100
138+ 'balance' : data ["accounts" ][0 ]["balance" ] / 100
139+ }
140+ payload = {
141+ "code" : code ,
142+ "detail" : balance
126143 }
127- return balance
144+ return payload
128145 except Exception :
129- return response
146+ return client_info
130147
131- def get_statement (self , period : int ) -> List [ Dict ] | Dict :
148+ def get_statement (self , period : int ) -> Dict :
132149 try :
133150 session = self .session ()
134151 token = self .token
135152 uri = self .mono_statement_uri
136153 headers = {"X-Token" : token }
137- time_delta = self .__date (period )
154+ time_delta = self .__date (period ). get ( "time_delta" )
138155 response = session .get (
139156 f"{ uri } { time_delta } /" , headers = headers
140157 )
141158 code = response .status_code
142159 response .raise_for_status ()
143- return response .json ()
160+ payload = {
161+ "code" : code ,
162+ "detail" : response .json ()
163+ }
164+ return payload
144165 except requests .exceptions .HTTPError as exc :
145166 error_response = {
146167 "code" : code ,
@@ -159,12 +180,14 @@ def create_webhook(self, webhook: str) -> Dict:
159180 token = self .token
160181 uri = self .mono_webhook_uri
161182 headers = {"X-Token" : token }
162- response = session .post (
163- uri , headers = headers , data = webhook
164- )
183+ response = session .post (uri , headers = headers , data = webhook )
165184 code = response .status_code
166185 response .raise_for_status ()
167- return response .json ()
186+ payload = {
187+ "code" : code ,
188+ "detail" : response .json ()
189+ }
190+ return payload
168191 except requests .exceptions .HTTPError as exc :
169192 error_response = {
170193 "code" : code ,
@@ -175,4 +198,4 @@ def create_webhook(self, webhook: str) -> Dict:
175198 exception = {
176199 "detail" : str (exc )
177200 }
178- return exception
201+ return exception
0 commit comments