diff --git a/countdown/serializers.py b/countdown/serializers.py new file mode 100644 index 0000000..9c9439b --- /dev/null +++ b/countdown/serializers.py @@ -0,0 +1,14 @@ +"""REST serializers for countdown items.""" +from rest_framework import serializers + +from countdown.models import CountdownItem + + +class CountdownItemSerializer(serializers.ModelSerializer): + """Countdown item serializer for the REST API.""" + + class Meta: + """Meta options.""" + + model = CountdownItem + fields = '__all__' diff --git a/countdown/urls.py b/countdown/urls.py new file mode 100644 index 0000000..0083170 --- /dev/null +++ b/countdown/urls.py @@ -0,0 +1,12 @@ +"""URL patterns for the countdown views.""" +from django.conf.urls import include, url +from rest_framework.routers import DefaultRouter + +from countdown.views import CountdownItemViewSet + +router = DefaultRouter() +router.register(r'items', CountdownItemViewSet) + +urlpatterns = [ + url(r'^api/', include(router.urls)), +] diff --git a/countdown/views.py b/countdown/views.py new file mode 100644 index 0000000..14d2e31 --- /dev/null +++ b/countdown/views.py @@ -0,0 +1,16 @@ +"""Provide an interface to countdown items.""" +# from rest_framework.decorators import action +# from rest_framework.response import Response +from rest_framework.permissions import IsAuthenticated +from rest_framework.viewsets import ReadOnlyModelViewSet + +from countdown.models import CountdownItem +from countdown.serializers import CountdownItemSerializer + + +class CountdownItemViewSet(ReadOnlyModelViewSet): + """Provide list and detail actions for countdown items.""" + + queryset = CountdownItem.objects.all() + serializer_class = CountdownItemSerializer + permission_classes = [IsAuthenticated] diff --git a/dr_botzo/urls.py b/dr_botzo/urls.py index e9096ce..c63f3f1 100644 --- a/dr_botzo/urls.py +++ b/dr_botzo/urls.py @@ -1,11 +1,9 @@ """General/baselite/site-wide URLs.""" - +from adminplus.sites import AdminSitePlus from django.conf.urls import include, url from django.contrib import admin from django.views.generic import TemplateView -from adminplus.sites import AdminSitePlus - admin.site = AdminSitePlus() admin.sites.site = admin.site admin.autodiscover() @@ -13,6 +11,7 @@ admin.autodiscover() urlpatterns = [ url(r'^$', TemplateView.as_view(template_name='index.html'), name='index'), + url(r'^countdown/', include('countdown.urls')), url(r'^dice/', include('dice.urls')), url(r'^dispatch/', include('dispatch.urls')), url(r'^itemsets/', include('facts.urls')),