Exemplo n.º 1
0
def blog_comment(request):
    if request.user.is_authenticated:
        if 'blog_id' in request.POST and 'text' in request.POST and len(
                request.POST['text'].strip()) > 2:
            ref = None
            if 'ref_comment_id' in request.POST:
                ref_id = request.POST['ref_comment_id']
                try:
                    ref = Comment.get_by_id(ref_id)
                except:
                    return apiRespond(400, msg='Reference comment not found')
            try:
                b = Blog.get_by_id(request.POST['blog_id'])
            except:
                return apiRespond(400, msg='Target blog not found')
            else:
                comment = request.user.comment(
                    blog=b, text=request.POST['text'].strip(), reference=ref)
                Alert.create_alert(
                    ref_user=request.user,
                    type=Alert.COMMENT_REPLY if ref else Alert.COMMENT,
                    blog=b)
                return apiRespond(201, comment=comment.get_obj())
        else:
            return apiRespond(400, msg='Required fields missing')
    else:
        return apiRespond(401, msg='User not logged in')
Exemplo n.º 2
0
def get_new_alerts(request):
    if request.user.is_authenticated:
        try:
            new_alerts = Alert.get_new_alerts(request.user)
            old_alerts = Alert.get_old_alerts(request.user)
        except:
            return apiRespond(400, msg=f'Something went wrong.')
        else:
            return apiRespond(201, new_alerts=new_alerts, old_alerts=old_alerts)
    else:
        return apiRespond(401, msg='User not logged in')
Exemplo n.º 3
0
def pingback(request):
    if 'view_key' in request.POST:
        try:
            view = View.get_by_key(request.POST['view_key'])
        except:
            return apiRespond(400, msg='View not found')
        else:
            pingbacks = view.pingback()
            return apiRespond(201, pingbacks=pingbacks)
    else:
        return apiRespond(400, msg='Pingback: Required fields missing')
Exemplo n.º 4
0
def set_alerts_seen(request):
    if request.user.is_authenticated:
        if 'alerts_id' in request.POST:
            try:
                is_success = Alert.mark_group_seen(request.POST['alerts_id'].split(','))
            except:
                return apiRespond(400, msg=f'Something went wrong.')
            else:
                if is_success:
                    return apiRespond(201, msg='Success')
        else:
            return apiRespond(400, msg='Required fields missing')
    else:
        return apiRespond(401, msg='User not logged in')
Exemplo n.º 5
0
def add_blog_topic(request):
    if request.user.is_authenticated:
        if 'blog_id' in request.POST and 'topic' in request.POST:
            try:
                b = Blog.get_by_id(request.POST['blog_id'])
            except:
                return apiRespond(400, msg='Blog not found')
            else:
                if b.author == request.user:
                    topic = request.POST['topic'].strip(
                    ).lower().replace(" ", "")
                    if len(topic) > 1:
                        if topic not in Topic.BANNED:
                            if not b.has_topic(topic):
                                b.add_topic(topic)
                                return apiRespond(201, topic=topic)
                            else:
                                return apiRespond(400, msg='Topic already tagged')
                        else:
                            return apiRespond(400, msg='This topic is disabled')
                    else:
                        return apiRespond(400, msg='Topic name too short')
                else:
                    return apiRespond(400, msg='Access denied')
        else:
            return apiRespond(400, msg='Required fields missing')
    else:
        return apiRespond(401, msg='User not logged in')
Exemplo n.º 6
0
def blog_unreact(request):
    if request.user.is_authenticated:
        if 'blog_id' in request.POST:
            try:
                b = Blog.get_by_id(request.POST['blog_id'])
            except:
                return apiRespond(400, msg='Target blog not found')
            else:
                res = request.user.unreact(blog=b)
                return apiRespond(201, result=res)
        else:
            return apiRespond(400, msg='Required fields missing')
    else:
        return apiRespond(401, msg='User not logged in')
Exemplo n.º 7
0
def unfollow_user(request):
    if request.user.is_authenticated:
        if 'user_id' in request.POST:
            try:
                target = User.get_by_id(request.POST['user_id'])
            except:
                return apiRespond(400, msg='Target user not found')
            else:
                result = request.user.unfollow(target)
                return apiRespond(201, result=result)
        else:
            return apiRespond(400, msg='Required fields missing')
    else:
        return apiRespond(401, msg='User not logged in')
Exemplo n.º 8
0
def blog_uncomment(request):
    if request.user.is_authenticated:
        if 'comment_id' in request.POST:
            try:
                comment = Comment.get_by_id(request.POST['comment_id'])
            except:
                return apiRespond(400, msg='Target comment not found')
            else:
                if comment.user == request.user:
                    comment.delete()
                return apiRespond(201, result=True)
        else:
            return apiRespond(400, msg='Required fields missing')
    else:
        return apiRespond(401, msg='User not logged in')
Exemplo n.º 9
0
def follow_user(request):
    if request.user.is_authenticated:
        if 'user_id' in request.POST:
            try:
                target = User.get_by_id(request.POST['user_id'])
            except:
                return apiRespond(400, msg='Target user not found')
            else:
                result, obj = request.user.follow(target)
                Alert.create_alert(user=target, ref_user=request.user, type=Alert.FOLLOW, follow=obj)
                return apiRespond(201, result=result)
        else:
            return apiRespond(400, msg='Required fields missing')
    else:
        return apiRespond(401, msg='User not logged in')
Exemplo n.º 10
0
def blog_react(request):
    if request.user.is_authenticated:
        if 'blog_id' in request.POST and 'reaction' in request.POST and request.POST['reaction'] in Reaction.CODES:
            reaction = request.POST['reaction']
            try:
                b = Blog.get_by_id(request.POST['blog_id'])
            except:
                return apiRespond(400, msg='Target blog not found')
            else:
                obj = request.user.react(blog=b, reaction=reaction)
                return apiRespond(201, result=True)
        else:
            return apiRespond(400, msg='Required fields missing')
    else:
        return apiRespond(401, msg='User not logged in')
Exemplo n.º 11
0
def delete_blog(request):
    if request.user.is_authenticated:
        if 'blog_id' in request.POST:
            try:
                b = Blog.get_by_id(request.POST['blog_id'])
            except:
                return apiRespond(400, msg='Blog not found')
            else:
                if b.author == request.user:
                    b.remove()
                    return apiRespond(201, removed=True)
                else:
                    return apiRespond(400, msg='Access denied')
        else:
            return apiRespond(400, msg='Required fields missing')
    else:
        return apiRespond(401, msg='User not logged in')
Exemplo n.º 12
0
def set_blog_content(request):
    if request.user.is_authenticated:
        if 'blog_id' in request.POST and 'content' in request.POST:
            try:
                b = Blog.get_by_id(request.POST['blog_id'])
            except:
                return apiRespond(400, msg='Blog not found')
            else:
                if b.author == request.user:
                    content = request.POST['content']
                    b.update_content(content)
                    return apiRespond(201)
                else:
                    return apiRespond(400, msg='Access denied')
        else:
            return apiRespond(400, msg='Required fields missing')
    else:
        return apiRespond(401, msg='User not logged in')
Exemplo n.º 13
0
def unpublish_blog(request):
    if request.user.is_authenticated:
        if 'blog_id' in request.POST:
            try:
                b = Blog.get_by_id(request.POST['blog_id'])
            except:
                return apiRespond(400, msg='Blog not found')
            else:
                if b.author == request.user:
                    b.unpublish()
                    Alert.alerts_for_new_blog(blog=b, delete=True)
                    return apiRespond(201, is_published=b.is_published)
                else:
                    return apiRespond(400, msg='Access denied')
        else:
            return apiRespond(400, msg='Required fields missing')
    else:
        return apiRespond(401, msg='User not logged in')
Exemplo n.º 14
0
def set_blog_img(request):
    if request.user.is_authenticated:
        if 'blog_id' in request.POST and 'img_url' in request.POST:
            try:
                b = Blog.get_by_id(request.POST['blog_id'])
            except:
                return apiRespond(400, msg='Blog not found')
            else:
                if b.author == request.user:
                    img_url = request.POST['img_url'].strip()
                    if len(img_url) > 2:
                        b.update_img(img_url)
                        return apiRespond(201, img_url=img_url)
                    else:
                        return apiRespond(400, msg='img_url too short')
                else:
                    return apiRespond(400, msg='Access denied')
        else:
            return apiRespond(400, msg='Required fields missing')
    else:
        return apiRespond(401, msg='User not logged in')
Exemplo n.º 15
0
def remove_blog_topic(request):
    if request.user.is_authenticated:
        if 'blog_id' in request.POST and 'topic' in request.POST:
            try:
                b = Blog.get_by_id(request.POST['blog_id'])
            except:
                return apiRespond(400, msg='Blog not found')
            else:
                if b.author == request.user:
                    topic = request.POST['topic'].strip(
                    ).lower().replace(" ", "")
                    if b.remove_topic(topic):
                        return apiRespond(201, topic=topic)
                    else:
                        return apiRespond(400, msg='Could not remove the topic')
                else:
                    return apiRespond(400, msg='Access denied')
        else:
            return apiRespond(400, msg='Required fields missing')
    else:
        return apiRespond(401, msg='User not logged in')
Exemplo n.º 16
0
def set_blog_title(request):
    if request.user.is_authenticated:
        if 'blog_id' in request.POST and 'title' in request.POST:
            try:
                b = Blog.get_by_id(request.POST['blog_id'])
            except:
                return apiRespond(400, msg='Blog not found')
            else:
                if b.author == request.user:
                    title = request.POST['title'].strip()
                    if len(title) > 2:
                        b.update_title(title)
                        return apiRespond(201, title=title)
                    else:
                        return apiRespond(400, msg='Title too short')
                else:
                    return apiRespond(400, msg='Access denied')
        else:
            return apiRespond(400, msg='Required fields missing')
    else:
        return apiRespond(401, msg='User not logged in')