示例#1
0
def fetchUserBlogs():
    if request.method == 'GET':
        token = request.headers['Authorization'].split(' ')[1]
        userId = decode_token(token)['id']
        cursor = mysql.connection.cursor()
        cursor.execute('''select * from blogs where user_id=%s''', (userId, ))
        results = cursor.fetchall()
        items = []
        for item in results:
            items.append(item)
        mysql.connection.commit()
        cursor.close()
        return json.dumps({'data': items, 'error': False})
    elif request.method == 'POST':
        cursor = mysql.connection.cursor()
        content = request.json['content']
        categoryId = request.json['category_id']
        title = request.json['title']
        token = request.headers.get('Authorization').split(' ')[1]
        userId = decode_token(token)['id']
        cursor.execute(
            '''insert into blogs(content, category_id, user_id, title) values(%s, %s, %s, %s)''',
            (content, categoryId, userId, title))
        mysql.connection.commit()
        cursor.close()
        return json.dumps({
            'message': 'Blog added successfully',
            'error': False
        })
示例#2
0
def manipulateComments(commentId):
    if request.method == 'PUT':
        cursor = mysql.connection.cursor()
        comment = request.json['comment']
        token = request.headers['Authorization'].split(' ')[1]
        userId = decode_token(token)['id']
        cursor.execute(
            '''update comments set comment=%s where id=%s and user_id=%s''', (
                comment,
                commentId,
                userId,
            ))
        mysql.connection.commit()
        cursor.close()
        return json.dumps({
            'message': 'Comment Edited Successfully',
            'error': False
        })
    elif request.method == 'DELETE':
        token = request.headers['Authorization'].split(' ')[1]
        userId = decode_token(token)['id']
        cursor = mysql.connection.cursor()
        cursor.execute('''delete from comments where id=%s and user_id=%s''', (
            commentId,
            userId,
        ))
        mysql.connection.commit()
        cursor.close()
        return json.dumps({
            'message': 'Comment Deleted Successfully',
            'error': False
        })
示例#3
0
def fetchBlog(blogId):
    if request.method == 'GET':
        cursor = mysql.connection.cursor()
        cursor.execute('''select * from blogs where id=%s''', (blogId, ))
        results = cursor.fetchall()
        items = []
        for item in results:
            items.append(item)
        mysql.connection.commit()
        cursor.close()
        if items:
            items = items[0]
            return json.dumps({'data': items, 'error': False})
        else:
            return json.dumps({'message': 'Invalid Blog ID', 'error': True})
    elif request.method == 'PUT':
        cursor = mysql.connection.cursor()
        content = request.json['content']
        title = request.json['title']
        token = request.headers.get('Authorization').split(' ')[1]
        userId = decode_token(token)['id']
        cursor.execute(
            '''update blogs set content=%s, title=%s where id=%s and user_id=%s''',
            (
                content,
                title,
                blogId,
                userId,
            ))
        mysql.connection.commit()
        cursor.close()
        return json.dumps({
            'message': 'Blog Edited Successfully',
            'error': False
        })
    elif request.method == 'DELETE':
        token = request.headers.get('Authorization').split(' ')[1]
        userId = decode_token(token)['id']
        cursor = mysql.connection.cursor()
        cursor.execute('''delete from comments where blog_id=%s''', (blogId, ))
        cursor.execute('''delete from blogs where id=%s and user_id=%s''', (
            blogId,
            userId,
        ))
        mysql.connection.commit()
        cursor.close()
        return json.dumps({
            'message': 'Blog Deleted Successfully',
            'error': False
        })
示例#4
0
def fetchBlogs():
    try:
        token = request.headers.get('Authorization').split(' ')[1]
        userId = decode_token(token)['id']
        cursor = mysql.connection.cursor()
        cursor.execute('''select * from blogs where user_id != %s''',
                       (userId, ))
        blogs = []
        for item in cursor.fetchall():
            blogs.append(item)
        cursor.execute('''select * from users where id!=%s''', (userId, ))
        names = []
        for item in cursor.fetchall():
            names.append(item)
        for i, blog in enumerate(blogs):
            user_name = ''
            for name in names:
                if blog['user_id'] == name['id']:
                    user_name = name['name']
                    break
            blogs[i]['author'] = user_name
        mysql.connection.commit()
        cursor.close()
        return json.dumps({'data': blogs, 'error': False})
    except:
        return json.dumps({'message': 'Some Error Occured', 'error': True})
示例#5
0
def manipulateList():
    token = request.headers.get('Authorization').split(' ')[1]
    userId = decode_token(token)['id']
    if request.method == 'GET':
        cursor = mysql.connection.cursor()
        cursor.execute(
            '''select task_list.id as tasklistId, tlname, count(tasks.id) as task_cnt from task_list left join tasks on tasklist_id = task_list.id where user_id=%s group by tasklistId;''',
            (userId, ))
        lists = []
        for l in cursor.fetchall():
            lists.append(l)
        mysql.connection.commit()
        cursor.close()
        return json.dumps({'data': lists, 'error': False})
    elif request.method == 'POST':
        cursor = mysql.connection.cursor()
        tlname = request.json['tlname']
        cursor.execute(
            '''insert into task_list(tlname, user_id) values(%s, %s)''', (
                tlname,
                userId,
            ))
        mysql.connection.commit()
        cursor.close()
        return json.dumps({
            'message': 'List Added Successfully',
            'error': False
        })
示例#6
0
def manipulateIndList(tasklist_id):
    token = request.headers.get('Authorization').split(' ')[1]
    userId = decode_token(token)['id']
    if request.method == 'GET':
        cursor = mysql.connection.cursor()
        cursor.execute(
            '''select tasks.id as task_id, taskspec from tasks join task_list on tasklist_id = task_list.id where tasklist_id = %s and user_id=%s''',
            (
                tasklist_id,
                userId,
            ))
        tasks = []
        for task in cursor.fetchall():
            tasks.append(task)
        mysql.connection.commit()
        cursor.close()
        return json.dumps({'data': tasks, 'error': False})
    elif request.method == 'DELETE':
        cursor = mysql.connection.cursor()
        cursor.execute('''delete from tasks where tasklist_id=%s''',
                       (tasklist_id, ))
        cursor.execute('''delete from task_list where id=%s and user_id=%s''',
                       (
                           tasklist_id,
                           userId,
                       ))
        mysql.connection.commit()
        cursor.close()
        return json.dumps({
            'message': 'TaskList Deleted Successfully',
            'error': False
        })
示例#7
0
def fetchAndPostcomments(blogId):
    if request.method == 'GET':
        token = request.headers['Authorization'].split(' ')[1]
        userId = decode_token(token)['id']
        cursor = mysql.connection.cursor()
        cursor.execute('''select * from comments where blog_id=%s''',
                       (blogId, ))
        results = cursor.fetchall()
        comments = []
        for item in results:
            if item['user_id'] == userId:
                item['current'] = True
            else:
                item['current'] = False
            comments.append(item)
        cursor.execute('''select * from users''')
        names = []
        for item in cursor.fetchall():
            names.append(item)
        for i, comment in enumerate(comments):
            user_name = ''
            for name in names:
                if comment['user_id'] == name['id']:
                    user_name = name['name']
                    break
            comments[i]['author'] = user_name
        mysql.connection.commit()
        cursor.close()
        return json.dumps({'data': comments, 'error': False})
    elif request.method == 'POST':
        cursor = mysql.connection.cursor()
        comment = request.json['comment']
        token = request.headers['Authorization'].split(' ')[1]
        userId = decode_token(token)['id']
        cursor.execute(
            '''insert into comments(comment, blog_id, user_id) values(%s, %s, %s)''',
            (
                comment,
                blogId,
                userId,
            ))
        mysql.connection.commit()
        cursor.close()
        return json.dumps({
            'message': 'Comment Added Successfully',
            'error': False
        })
示例#8
0
def fetchDetails():
    token = request.headers['Authorization'].split(' ')[1]
    userId = decode_token(token)['id']
    cursor = mysql.connection.cursor()
    cursor.execute('''select name, email from users where id=%s''', (userId, ))
    user = []
    for a in cursor.fetchall():
        user.append(a)
    user = user[0]
    mysql.connection.commit()
    cursor.close()
    return json.dumps({'data': user, 'error': False})
示例#9
0
def getUserDetails():
    try:
        token = request.headers.get('Authorization').split(' ')[1]
        userId = decode_token(token)['id']
        cursor = mysql.connection.cursor()
        cursor.execute('''select * from users where id = %s''', (userId, ))
        results = cursor.fetchall()
        items = []
        for item in results:
            items.append(item)
        items = items[0]
        return json.dumps({'data': items, 'error': False})
    except jwt.exceptions.InvalidSignatureError:
        return json.dumps({'message': 'Invalid Token', 'error': True})
示例#10
0
def editAndDelete(task_id):
    token = request.headers['Authorization'].split(' ')[1]
    userId = decode_token(token)['id']
    if request.method == 'PUT':
        taskspec = request.json['taskspec']
        cursor = mysql.connection.cursor()
        cursor.execute(
            '''select tasks.id as task_id, user_id from tasks join task_list on tasklist_id=task_list.id where tasks.id=%s''',
            (task_id, ))
        taskData = []
        for item in cursor.fetchall():
            taskData.append(item)
        taskData = taskData[0]
        if taskData['user_id'] == userId:
            cursor.execute('''update tasks set taskspec=%s where id=%s''', (
                taskspec,
                task_id,
            ))
            mysql.connection.commit()
            cursor.close()
            return json.dumps({
                'message': 'Task Updated Successfully',
                'error': False
            })
        else:
            mysql.connection.commit()
            cursor.close()
            return json.dumps({'error': True})
    elif request.method == 'DELETE':
        cursor = mysql.connection.cursor()
        cursor.execute(
            '''select tasks.id as task_id, user_id from tasks join task_list on tasklist_id=task_list.id where tasks.id=%s''',
            (task_id, ))
        taskData = []
        for item in cursor.fetchall():
            taskData.append(item)
        taskData = taskData[0]
        if taskData['user_id'] == userId:
            cursor.execute('''delete from tasks where id=%s''', (task_id, ))
            mysql.connection.commit()
            cursor.close()
            return json.dumps({
                'message': 'Task Deleted Successfully',
                'error': False
            })
        else:
            mysql.connection.commit()
            cursor.close()
            return json.dumps({'error': True})
示例#11
0
def fetchBlogCategory(categoryId):
    token = request.headers['Authorization'].split(' ')[1]
    userId = decode_token(token)['id']
    cursor = mysql.connection.cursor()
    cursor.execute(
        '''select * from blogs where category_id=%s and user_id!=%s''', (
            categoryId,
            userId,
        ))
    results = cursor.fetchall()
    mysql.connection.commit()
    cursor.close()
    blogs = []
    for item in results:
        blogs.append(item)
    return json.dumps({'data': blogs, 'error': False})
示例#12
0
def editUserDetails():
    try:
        token = request.headers.get('Authorization').split(' ')[1]
        userId = decode_token(token)['id']
        cursor = mysql.connection.cursor()
        name = request.json['name']
        email = request.json['email']
        cursor.execute('''update users set name=%s, email=%s where id=%s''', (
            name,
            email,
            userId,
        ))
        mysql.connection.commit()
        cursor.close()
        return json.dumps({
            'message': 'User Details Edited Successfully',
            'error': False
        })
    except:
        return json.dumps({'message': 'Some Error Occured', 'error': True})