diff --git a/apps/users/serializers.py b/apps/users/serializers.py index fceb786..7284523 100644 --- a/apps/users/serializers.py +++ b/apps/users/serializers.py @@ -55,7 +55,6 @@ class RequestOTPSerializer(serializers.ModelSerializer): ) read_only_fields = ['otp_expire', 'ttl'] - write_only_fields = [] def save(self, **kwargs): # TODO: move it to query set @@ -85,15 +84,16 @@ class RequestOTPSerializer(serializers.ModelSerializer): class RequestOTTSerializer(serializers.ModelSerializer): + application = serializers.CharField(required=True, write_only=True) class Meta: model = User fields = ( + 'application', 'ott', 'ott_expire', ) - read_only_fields = ['ott', 'otp_expire'] - write_only_fields = [] + read_only_fields = ['ott', 'ott_expire'] class UserInquirySerializer(serializers.ModelSerializer): diff --git a/apps/users/views.py b/apps/users/views.py index 4f9aeac..5aafa37 100644 --- a/apps/users/views.py +++ b/apps/users/views.py @@ -63,7 +63,7 @@ class RequestOTPView(generics.CreateAPIView): required_scopes = [] -class RequestOTTView(generics.RetrieveAPIView): +class RequestOTTView(generics.UpdateAPIView): permission_classes = [IsAuthenticatedOrTokenHasScope] required_scopes = ['accounts.account:request_ott'] serializer_class = RequestOTTSerializer @@ -71,12 +71,12 @@ class RequestOTTView(generics.RetrieveAPIView): def get_object(self): return self.request.user - def get(self, request, *args, **kwargs): + def update(self, request, *args, **kwargs): # TODO: move it to query set user = self.get_object() user.set_ott() user.save() - return super().get(request, *args, **kwargs) + return super().update(request, *args, **kwargs) class UserInquiryView(generics.CreateAPIView):