diff --git a/src/blog/api/urls.py b/src/blog/api/urls.py index 3cb184b..7a069f4 100644 --- a/src/blog/api/urls.py +++ b/src/blog/api/urls.py @@ -1,7 +1,8 @@ from django.urls import path -from .views import AllPostsView, PostDetailView +from .views import AllPostsView, PostDetailView, RulesPostsView urlpatterns = [ path('', AllPostsView.as_view(), name='blog'), + path('rules', RulesPostsView.as_view(), name='rules'), path('/', PostDetailView.as_view(), name='post_detail'), ] \ No newline at end of file diff --git a/src/blog/api/views.py b/src/blog/api/views.py index 88e1b98..0e4b85e 100644 --- a/src/blog/api/views.py +++ b/src/blog/api/views.py @@ -25,3 +25,11 @@ def get(self, request, slug): post = self.get_object() serializer = self.serializer_class(post) return Response(serializer.data) + +class RulesPostsView(GenericAPIView): + serializer_class = PostSerializer + queryset = Post.objects.filter(type='rule', state='published').order_by('-date_created').first() + def get(self, request, slug): + post = self.get_object() + serializer = self.serializer_class(post) + return Response(serializer.data) \ No newline at end of file diff --git a/src/blog/models.py b/src/blog/models.py index 960de8f..2bf3222 100644 --- a/src/blog/models.py +++ b/src/blog/models.py @@ -17,9 +17,10 @@ class Post(models.Model): max_length=12, choices=( ('no-type', 'No category'), - ('weekly', 'Weekly update'), + ('weekly', 'Progress update'), ('announcement', 'Announcement'), ('community', 'Community Highlight'), + ('rules', 'Rules Update'), ), default='no-type', help_text='Select the type of this post',