1+ from typing import Dict
12from rest_framework .generics import GenericAPIView
23from rest_framework .views import APIView
34from rest_framework .response import Response
4- from rest_framework import status
5-
65from .models import Mono
76from .serializers import (
87 MonoTokenSerializer ,
98 WebhookSerializer ,
109 MonoPeriodSerializer ,
1110 MonoCurrencySerializer ,
1211)
13- from .exceptions import (
14- MonoTokenExistsException ,
15- MonoTokenDoesNotExistsException ,
16- )
17-
1812from sync_mono .manager import SyncMonoManager
1913
2014
2115class MonoView (GenericAPIView ):
2216 serializer_class = MonoTokenSerializer
2317
24- def post (self , request ):
18+ def post (self , request ) -> Dict :
2519 serializer = self .serializer_class (data = request .data )
2620 serializer .is_valid (raise_exception = True )
2721 _ = serializer .validated_data
2822 mono_obj = Mono .objects .filter (user = self .request .user )
29- if mono_obj .first () is not None :
30- raise MonoTokenExistsException
3123 mono_obj .create (mono_token = _ ["mono_token" ], user = request .user )
32- return Response (
33- { "detail" : "Monobank added successfully." }, status . HTTP_201_CREATED
34- )
24+ mng = SyncMonoManager ()
25+ response = mng . create_success ()
26+ return Response ( response )
3527
36- def put (self , request ):
28+ def put (self , request ) -> Dict :
3729 serializer = self .serializer_class (data = request .data )
3830 serializer .is_valid (raise_exception = True )
3931 _ = serializer .validated_data
4032 mono_obj = Mono .objects .filter (user = request .user )
41- if mono_obj .first () is not None :
42- mono_obj . update ( mono_token = _ [ "mono_token" ] )
43- return Response ({ "detail" : "Monobank changed successfully." } )
44- raise MonoTokenDoesNotExistsException
33+ mono_obj .update ( mono_token = _ [ "mono_token" ])
34+ mng = SyncMonoManager ( )
35+ response = mng . update_success ( )
36+ return Response ( response )
4537
46- def delete (self , request ):
38+ def delete (self , request ) -> Dict :
39+ mng = SyncMonoManager ()
4740 mono_obj = Mono .objects .filter (user = request .user )
4841 if mono_obj .first () is not None :
4942 mono_obj .delete ()
50- return Response (status .HTTP_204_NO_CONTENT )
51- raise MonoTokenDoesNotExistsException
43+ response = mng .delete_success ()
44+ else :
45+ response = mng .does_not_exsists_exception ()
46+ return Response (response )
5247
5348
5449class CurrenciesListView (APIView ):
55- def get (self , request ):
50+ def get (self , request ) -> Dict :
5651 mng = SyncMonoManager ()
5752 response = mng .get_currencies ()
5853 return Response (response )
@@ -61,7 +56,7 @@ def get(self, request):
6156class CurrencyView (GenericAPIView ):
6257 serializer_class = MonoCurrencySerializer
6358
64- def post (self , request ):
59+ def post (self , request ) -> Dict :
6560 serializer = self .serializer_class (data = request .data )
6661 serializer .is_valid (raise_exception = True )
6762 currency = serializer .validated_data
@@ -72,50 +67,58 @@ def post(self, request):
7267
7368
7469class ClientInfoView (APIView ):
75- def get (self , request ):
76- mono_obj = Mono .objects .filter (user = request .user ).first ()
77- if mono_obj is not None :
78- mng = SyncMonoManager (mono_obj .mono_token )
70+ def get (self , request ) -> Dict :
71+ mng = SyncMonoManager ()
72+ mono = Mono .objects .filter (user = request .user ).first ()
73+ if mono is not None :
74+ mng .token = mono .mono_token
7975 response = mng .get_client_info ()
80- return Response (response )
81- raise MonoTokenDoesNotExistsException
76+ else :
77+ response = mng .does_not_exsists_exception ()
78+ return Response (response )
8279
8380
8481class BalanceView (APIView ):
85- def get (self , request ):
86- mono_obj = Mono .objects .filter (user = request .user ).first ()
87- if mono_obj is not None :
88- mng = SyncMonoManager (mono_obj .mono_token )
82+ def get (self , request ) -> Dict :
83+ mng = SyncMonoManager ()
84+ mono = Mono .objects .filter (user = request .user ).first ()
85+ if mono is not None :
86+ mng .token = mono .mono_token
8987 response = mng .get_balance ()
90- return Response (response )
91- raise MonoTokenDoesNotExistsException
88+ else :
89+ response = mng .does_not_exsists_exception ()
90+ return Response (response )
9291
9392
9493class StatementView (GenericAPIView ):
9594 serializer_class = MonoPeriodSerializer
9695
97- def post (self , request ):
96+ def post (self , request ) -> Dict :
9897 serializer = self .serializer_class (data = request .data )
9998 serializer .is_valid (raise_exception = True )
10099 _ = serializer .validated_data
101- mono_obj = Mono .objects .filter (user = request .user ).first ()
102- if mono_obj is not None :
103- mng = SyncMonoManager (mono_obj .mono_token )
100+ mng = SyncMonoManager ()
101+ mono = Mono .objects .filter (user = request .user ).first ()
102+ if mono is not None :
103+ mng .token = mono .mono_token
104104 response = mng .get_statement (_ ["period" ])
105- return Response (response )
106- raise MonoTokenDoesNotExistsException
105+ else :
106+ response = mng .does_not_exsists_exception ()
107+ return Response (response )
107108
108109
109110class CreateWebhook (GenericAPIView ):
110111 serializer_class = WebhookSerializer
111112
112- def post (self , request ):
113+ def post (self , request ) -> Dict :
113114 serializer = self .serializer_class (data = request .data )
114115 serializer .is_valid (raise_exception = True )
115116 _ = serializer .validated_data
116- mono_obj = Mono .objects .filter (user = request .user ).first ()
117- if mono_obj is not None :
118- mng = SyncMonoManager (mono_obj .mono_token )
117+ mng = SyncMonoManager ()
118+ mono = Mono .objects .filter (user = request .user ).first ()
119+ if mono is not None :
120+ mng .token = mono .mono_token
119121 response = mng .create_webhook (_ ["webHookUrl" ])
120- return Response (response )
121- raise MonoTokenDoesNotExistsException
122+ else :
123+ response = mng .does_not_exsists_exception ()
124+ return Response (response )
0 commit comments