Browse Source

feat(api): add AuthenticatedTouchDomainUserActionView and route

Peter Thomassen 5 năm trước cách đây
mục cha
commit
ebea7fee00
2 tập tin đã thay đổi với 10 bổ sung1 xóa
  1. 1 0
      api/desecapi/urls/version_1.py
  2. 9 1
      api/desecapi/views.py

+ 1 - 0
api/desecapi/urls/version_1.py

@@ -52,6 +52,7 @@ api_urls = [
     path('v/change-email/<code>/', views.AuthenticatedChangeEmailUserActionView.as_view(), name='confirm-change-email'),
     path('v/reset-password/<code>/', views.AuthenticatedResetPasswordUserActionView.as_view(), name='confirm-reset-password'),
     path('v/delete-account/<code>/', views.AuthenticatedDeleteUserActionView.as_view(), name='confirm-delete-account'),
+    path('v/renew-domain/<code>/', views.AuthenticatedRenewDomainBasicUserActionView.as_view(), name='confirm-renew-domain'),
 
     # CAPTCHA
     path('captcha/', views.CaptchaView.as_view(), name='captcha'),

+ 9 - 1
api/desecapi/views.py

@@ -579,7 +579,7 @@ class AuthenticatedActionView(generics.GenericAPIView):
     """
     action = None
     authentication_classes = (auth.AuthenticatedBasicUserActionAuthentication,)
-    html_url = None
+    html_url = None  # Redirect GET requests to this webapp GUI URL
     http_method_names = ['get', 'post']  # GET is for redirect only
     renderer_classes = [JSONRenderer, StaticHTMLRenderer]
 
@@ -714,6 +714,14 @@ class AuthenticatedDeleteUserActionView(AuthenticatedActionView):
         return Response({'detail': 'All your data has been deleted. Bye bye, see you soon! <3'})
 
 
+class AuthenticatedRenewDomainBasicUserActionView(AuthenticatedActionView):
+    html_url = '/confirm/renew-domain/{code}/'
+    serializer_class = serializers.AuthenticatedRenewDomainBasicUserActionSerializer
+
+    def finalize(self):
+        return Response({'detail': f'We recorded that your domain {self.action.domain} is still in use.'})
+
+
 class CaptchaView(generics.CreateAPIView):
     serializer_class = serializers.CaptchaSerializer
     throttle_scope = 'account_management_passive'