Skip to content

Commit fb30118

Browse files
Merge pull request #17 from RustamovAkrom/main
Main
2 parents 37139a3 + 0f761f8 commit fb30118

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+421
-40
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,4 +140,5 @@ GitHub.sublime-settings
140140
# private_key.pem
141141
# public_key.pem
142142

143-
db.sqlite3
143+
db.sqlite3
144+
poetry.lock
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
from rest_framework import routers
2+
3+
from .blog import (
4+
PostViewSet,
5+
PostCommentViewSet,
6+
PostCommentLikeViewSet,
7+
PostLikeViewSet,
8+
PostDislikeViewSet
9+
)
10+
11+
router = routers.DefaultRouter()
12+
router.register("post", PostViewSet, basename="post")
13+
router.register("post_comment", PostCommentViewSet, basename="post-comment")
14+
router.register("post_comment_like", PostCommentLikeViewSet, basename="post-comment-like")
15+
router.register("post_like", PostLikeViewSet, basename="post-like")
16+
router.register("post_dislike", PostDislikeViewSet, basename="post-dislike")
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from .views import * # noqa
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
from rest_framework import serializers
2+
3+
from apps.blog.models import Post
4+
5+
6+
class PostSerializer(serializers.ModelSerializer):
7+
class Meta:
8+
model = Post
9+
fields = [
10+
"id",
11+
"title",
12+
"get_absolute_url",
13+
"status",
14+
"description",
15+
"publisher_at",
16+
"is_active",
17+
"author",
18+
"like_count",
19+
"dislike_count",
20+
"comment_count",
21+
"watching",
22+
"created_at",
23+
"updated_at",
24+
]

apps/blog/api_endpoints/blog/Post/tests.py

Whitespace-only changes.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
from rest_framework import viewsets, permissions
2+
3+
from apps.blog.models import Post
4+
from .serializer import PostSerializer
5+
6+
7+
class PostViewSet(viewsets.ModelViewSet):
8+
queryset = Post.published.all().order_by("-created_at")
9+
serializer_class = PostSerializer
10+
11+
def get_permissions(self):
12+
if self.action in ['list', 'retrieve']:
13+
return [permissions.AllowAny()]
14+
return [permissions.IsAuthenticated()]
15+
16+
__all__ = ("PostViewSet", )
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from .views import * # noqa
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
from rest_framework import serializers
2+
3+
from apps.blog.models import PostComment, Post
4+
from apps.users.models import User
5+
6+
7+
class MiniPostCommentUser(serializers.ModelSerializer):
8+
class Meta:
9+
model = User
10+
fields = ["id", "username", "email", "created_at", "updated_at"]
11+
12+
13+
class MiniPostCommentPost(serializers.ModelSerializer):
14+
class Meta:
15+
model = Post
16+
fields = ["id", "title", "created_at", "updated_at"]
17+
18+
19+
class PostCommentSerializer(serializers.ModelSerializer):
20+
user = MiniPostCommentUser(read_only=True)
21+
comment = MiniPostCommentPost(read_only=True)
22+
23+
class Meta:
24+
model = PostComment
25+
fields = ["id", "user", "comment", "created_at", "updated_at"]

apps/blog/api_endpoints/blog/PostComment/tests.py

Whitespace-only changes.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
from rest_framework import viewsets, permissions
2+
3+
from apps.blog.models import PostComment
4+
from .serializers import PostCommentSerializer
5+
6+
7+
class PostCommentViewSet(viewsets.ModelViewSet):
8+
queryset = PostComment.objects.all().order_by("-created_at")
9+
serializer_class = PostCommentSerializer
10+
11+
def get_permissions(self):
12+
if self.action in ['list', 'retrieve']:
13+
return [permissions.AllowAny()]
14+
return [permissions.IsAuthenticated()]
15+
16+
__all__ = ("PostCommentViewSet", )

0 commit comments

Comments
 (0)