Skip to content

Commit 1ce2f5d

Browse files
committed
Add like, unlike url route
1 parent 891b122 commit 1ce2f5d

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

firefly/views/api/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from .category import CategoryApi, CategoryListApi
77
from .comment import ReplyApi
88
from .user import FollowUserApi, BlockUserApi
9+
from .topic import LikePostApi
910

1011
bp = Blueprint('api', __name__, url_prefix='/api')
1112
api = Api(bp)
@@ -14,3 +15,4 @@
1415
api.add_resource(FollowUserApi, '/users/<id>/follow')
1516
api.add_resource(BlockUserApi, '/users/<id>/block')
1617
api.add_resource(ReplyApi, '/posts/<int:id>/replies')
18+
api.add_resource(LikePostApi, '/posts/<int:id>/like', endpoint='like')

firefly/views/api/topic.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# coding: utf-8
2+
3+
from __future__ import absolute_import
4+
5+
from flask_restful import Resource
6+
from flask_security import login_required
7+
from flask_login import current_user
8+
9+
from firefly.models.topic import Post
10+
11+
12+
class LikePostApi(Resource):
13+
14+
method_decorators = [login_required]
15+
16+
def put(self, id):
17+
post = Post.objects.get_or_404(id=id)
18+
if post:
19+
post.likes.add(current_user.id)
20+
return '', 201
21+
22+
def delete(self, id):
23+
post = Post.objects.get_or_404(id=id)
24+
if post:
25+
post.likes.delete(current_user.id)
26+
return '', 201

0 commit comments

Comments
 (0)