Added feed api url
This commit is contained in:
parent
65f05ea0ef
commit
4990c983d7
|
@ -0,0 +1,12 @@
|
|||
# coding: utf-8
|
||||
|
||||
# django
|
||||
|
||||
# third party
|
||||
from rest_framework import serializers
|
||||
|
||||
# own
|
||||
|
||||
|
||||
class FeedSerializer(serializers.Serializer):
|
||||
pass
|
|
@ -0,0 +1,12 @@
|
|||
# coding: utf-8
|
||||
|
||||
# third
|
||||
from rest_framework.routers import DefaultRouter
|
||||
|
||||
# own
|
||||
from .views import FeedViewSet
|
||||
|
||||
|
||||
router = DefaultRouter(trailing_slash=False)
|
||||
router.register(r'feed', FeedViewSet, base_name='feed')
|
||||
urlpatterns = router.urls
|
|
@ -0,0 +1,43 @@
|
|||
# coding: utf-8
|
||||
|
||||
# python
|
||||
from itertools import chain
|
||||
import json
|
||||
|
||||
# third
|
||||
from rest_framework import viewsets
|
||||
from rest_framework.response import Response
|
||||
from rest_framework.permissions import IsAuthenticated
|
||||
|
||||
# own
|
||||
from shelfzilla.apps.manga.models import (
|
||||
UserReadVolume, UserHaveVolume, UserWishlistVolume
|
||||
)
|
||||
|
||||
|
||||
class FeedViewSet(viewsets.ViewSet):
|
||||
"""
|
||||
"""
|
||||
permission_classes = (IsAuthenticated,)
|
||||
|
||||
def list(self, request):
|
||||
owned_list = UserHaveVolume.objects.filter(user=request.user)
|
||||
wishlisted_list = UserWishlistVolume.objects.filter(user=request.user)
|
||||
read_list = UserReadVolume.objects.filter(user=request.user)
|
||||
|
||||
timeline = sorted(
|
||||
chain(owned_list, wishlisted_list, read_list),
|
||||
key=lambda model: model.date,
|
||||
reverse=True
|
||||
)[:20]
|
||||
|
||||
result = []
|
||||
for item in timeline:
|
||||
event = {
|
||||
'date': item.date,
|
||||
'message': item.timeline_message,
|
||||
'type': item.event_type,
|
||||
}
|
||||
result.append(event)
|
||||
|
||||
return Response(result)
|
|
@ -2,7 +2,7 @@ from django.conf.urls import patterns, include, url
|
|||
from django.conf import settings
|
||||
from django.contrib import admin
|
||||
|
||||
from .views import MessagesView, BlockedView
|
||||
from .views import MessagesView
|
||||
|
||||
|
||||
admin.autodiscover()
|
||||
|
@ -28,8 +28,7 @@ urlpatterns = patterns(
|
|||
# API
|
||||
urlpatterns += patterns(
|
||||
'',
|
||||
url(r'^api/v1/auth/register/', BlockedView.as_view()),
|
||||
url(r'^api/v1/auth/', include('djoser.urls', namespace='api')),
|
||||
url(r'^api/v1/', include('shelfzilla.urls_api', namespace='api')),
|
||||
)
|
||||
|
||||
if settings.DEBUG:
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
# coding: utf-8
|
||||
|
||||
# django
|
||||
from django.conf.urls import patterns, include, url
|
||||
|
||||
# app
|
||||
from .views import BlockedView
|
||||
|
||||
|
||||
# API
|
||||
urlpatterns = patterns(
|
||||
'',
|
||||
# Manually blocked API endpoints
|
||||
url(r'^auth/register/', BlockedView.as_view()),
|
||||
# /auth
|
||||
url(r'^auth/', include('djoser.urls')),
|
||||
# /feed
|
||||
url(r'^', include('shelfzilla.apps.account.api.urls')),
|
||||
)
|
Reference in New Issue