Compare View

switch
from
...
to
 
Commits (2)

Diff

Showing 2 changed files Side-by-side Diff

flashcards/views.py View file @ 14c702e
... ... @@ -245,6 +245,18 @@ def subscribe(request, format=None):
245 245 request.user.set_registration_id(serializer.validated_data['registration_id'])
246 246 return Response(status=HTTP_204_NO_CONTENT)
247 247  
  248 +@api_view(['POST'])
  249 +def unsubscribe(request, format=None):
  250 + """
  251 + Remove the user with the passed in registration token
  252 + ---
  253 + request_serializer: SubscribeViewSerializer
  254 + """
  255 + serializer = SubscribeViewSerializer(data=request.data)
  256 + serializer.is_valid(raise_exception=True)
  257 + request.user.set_registration_id(None)
  258 + return Response(status=HTTP_204_NO_CONTENT)
  259 +
248 260  
249 261 @api_view(['POST'])
250 262 def login(request):
flashy/urls.py View file @ 14c702e
... ... @@ -2,7 +2,7 @@ from django.conf.urls import include, url
2 2 from django.contrib import admin
3 3 from flashcards.views import SectionViewSet, UserDetail, FlashcardViewSet, UserSectionListView, request_password_reset, \
4 4 reset_password, logout, login, register, UserFlashcardQuizViewSet, \
5   - resend_confirmation_email, verify_email, subscribe
  5 + resend_confirmation_email, verify_email, subscribe, unsubscribe
6 6 from flashy.frontend_serve import serve_with_default
7 7 from flashy.settings import DEBUG, IN_PRODUCTION
8 8 from rest_framework.routers import DefaultRouter
... ... @@ -20,6 +20,7 @@ urlpatterns = [
20 20 url(r'^api/login/$', login),
21 21 url(r'^api/logout/$', logout),
22 22 url(r'^api/subscribe/$', subscribe),
  23 + url(r'^api/unsubscribe/$', unsubscribe),
23 24 url(r'^api/me/sections/', UserSectionListView.as_view()),
24 25 url(r'^api/resend_confirmation_email/', resend_confirmation_email),
25 26 url(r'^api/verify_email/', verify_email),