Exemplo n.º 1
0
def unfollow_user(data):
    code = 1

    keys = []
    values = []
    resp_dict = {'code': code, 'response': []}

    email_1 = data['follower']
    email_2 = data['followee']

    sql_scheme_usr1 = {
        'columns_names': ['email'],
        'columns_values': [email_1],
        'table': 'User'
    }

    sql_scheme_usr2 = {
        'columns_names': ['email'],
        'columns_values': [email_2],
        'table': 'User'
    }

    sql_scheme_follow = {
        'columns_names': ['follower', 'followee'],
        'columns_values': [email_1, email_2],
        'table': 'Followers'
    }

    sql_check_usr1 = build_sql_select_all_query(sql_scheme_usr1)
    sql_check_usr2 = build_sql_select_all_query(sql_scheme_usr2)
    sql_check_follow = build_sql_select_all_query(sql_scheme_follow)

    res_usr1 = open_sql(sql_check_usr1)  # check if exists
    res_usr2 = open_sql(sql_check_usr2)
    res_follow = open_sql(sql_check_follow)

    if res_usr1 and res_usr2 and res_follow:

        sql_scheme_follow = {
            'columns_names': ['isDeleted'],
            'columns_values': [1],
            'table': 'Followers',
            'condition': {'id': res_follow['id']}
        }

        sql = build_sql_update_query(sql_scheme_follow)
        exec_message = exec_sql(sql)

        if exec_message != 0:
            code = 4

        usr_details = get_details_user({'user': [res_usr1['email'], ]})
        usr_details = usr_details['response']

        resp_dict = {'code': code, 'response': usr_details}
    else:
        code = 2
    #resp_dict = make_response(keys, values, code)

    return flask.jsonify(resp_dict)
Exemplo n.º 2
0
def remove_thread(data):
    code = 0
    thread = data['thread']

    sql_scheme = {
        'columns_names': ['id'],
        'columns_values': [thread],
        'table': 'Thread'
    }

    sql_check = build_sql_select_all_query(sql_scheme)
    res = open_sql(sql_check)
    if res:
        sql_scheme_posts_count = {
            'columns_names': ['thread'],
            'columns_values': [thread],
            'table': 'Post'
        }

        sql_posts_count = build_sql_select_all_query(sql_scheme_posts_count)
        res_posts = open_sql(sql_posts_count)

        posts_count = 0
        if res_posts:
            posts_count = len([res_posts])
        """
        TODO
        sql_scheme_thread_up = {
            'columns_names': ['isDeleted', 'posts'],
            'columns_values': [1, 'posts-'+str(posts_count)],
            'condition': {'id': thread},
            'table': 'Thread'
        }
        """

        sql_thread_up = 'update Thread set  posts=0 , isDeleted=1  where  id = %s' % thread
        exec_sql(sql_thread_up)

        sql_scheme_post_rm = {
            'columns_names': ['isDeleted'],
            'columns_values': [1],
            'condition': {
                'thread': thread
            },
            'table': 'Post'
        }
        sql_post_rm = build_sql_update_query(sql_scheme_post_rm)
        exec_sql(sql_post_rm)

        sql_check = build_sql_select_all_query(sql_scheme)
        res = open_sql(sql_check)

    if not res:
        code = 1

    keys = ['thread']
    values = [thread]

    resp_dict = make_response(keys, values, code)
    return flask.jsonify(resp_dict)
Exemplo n.º 3
0
def update_user(data):
    code = 0
    keys = []
    values = []

    about = data['about']
    user_email = data['user']
    name = data['name']

    sql_scheme = {
        'columns_names': ['email'],
        'columns_values': [user_email],
        'table': 'User'
    }

    sql_check = build_sql_select_all_query(sql_scheme)
    res = open_sql(sql_check)

    if res:
        sql_scheme = {
            'columns_names': ['name', 'about'],
            'columns_values': [name, about],
            'condition': {'email': user_email},
            'table': 'User'
        }
        exec_sql(build_sql_update_query(sql_scheme))

        user_data = {'user': [res['email'], ]}
        user_resp = get_details_user(user_data)['response']

    else:
        code = 1

    resp_dict = {'code': code, 'response': user_resp}
    return flask.jsonify(resp_dict)
Exemplo n.º 4
0
def restore_post(data):
    code = 0
    post = data['post']

    sql_scheme = {
        'columns_names': ['id'],
        'columns_values': [post],
        'table': 'Post'
    }

    sql_check = build_sql_select_all_query(sql_scheme)
    res = open_sql(sql_check)
    if res:
        sql_scheme = {
            'columns_names': ['isDeleted'],
            'columns_values': [0],
            'condition': {'id': post},
            'table': 'Post'
        }
        sql1 = build_sql_update_query(sql_scheme)
        sql2 = " update Thread set posts=posts+1 where id= %s ;" % res['thread']

        exec_sql([sql1, sql2], multi=True)

    if not res:
        code = 1

    keys = ['post']
    values = [post]

    resp_dict = make_response(keys=keys, values=values, code=code)
    return flask.jsonify(resp_dict)
Exemplo n.º 5
0
def close_thread(data):
    code = 0
    thread_id = data['thread']

    sql_scheme = {
        'columns_names': ['id'],
        'columns_values': [thread_id],
        'table': 'Thread'
    }

    sql_check = build_sql_select_all_query(sql_scheme)
    res = open_sql(sql_check)

    if res:
        sql_scheme = {
            'columns_names': ['isClosed'],
            'columns_values': [1],
            'condition': {'id': thread_id},
            'table': 'Thread'
        }
        exec_message = exec_sql(build_sql_update_query(sql_scheme))
        if exec_message != 0:
            code = 4

    else:
        code = 1

    keys = ['thread']
    values = [thread_id]

    resp_dict = make_response(keys, values, code)
    return flask.jsonify(resp_dict)
Exemplo n.º 6
0
def remove_thread(data):
    code = 0
    thread = data['thread']

    sql_scheme = {
        'columns_names': ['id'],
        'columns_values': [thread],
        'table': 'Thread'
    }

    sql_check = build_sql_select_all_query(sql_scheme)
    res = open_sql(sql_check)
    if res:
        sql_scheme_posts_count = {
            'columns_names': ['thread'],
            'columns_values': [thread],
            'table': 'Post'
        }

        sql_posts_count = build_sql_select_all_query(sql_scheme_posts_count)
        res_posts = open_sql(sql_posts_count)

        posts_count = 0
        if res_posts:
            posts_count = len([res_posts])

        """
        TODO
        sql_scheme_thread_up = {
            'columns_names': ['isDeleted', 'posts'],
            'columns_values': [1, 'posts-'+str(posts_count)],
            'condition': {'id': thread},
            'table': 'Thread'
        }
        """

        sql_thread_up = 'update Thread set  posts=0 , isDeleted=1  where  id = %s' % thread
        exec_sql(sql_thread_up)

        sql_scheme_post_rm = {
            'columns_names': ['isDeleted'],
            'columns_values': [1],
            'condition': {'thread': thread},
            'table': 'Post'
        }
        sql_post_rm = build_sql_update_query(sql_scheme_post_rm)
        exec_sql(sql_post_rm)

        sql_check = build_sql_select_all_query(sql_scheme)
        res = open_sql(sql_check)

    if not res:
        code = 1

    keys = ['thread']
    values = [thread]

    resp_dict = make_response(keys, values, code)
    return flask.jsonify(resp_dict)
Exemplo n.º 7
0
def unsubscribe_thread(data):
    code = 0
    keys = []
    values = []

    thread_id = data['thread']
    email = data['user']

    sql_scheme = {
        'columns_names': ['thread', 'user'],
        'columns_values': [thread_id, email],
        'table': 'Subscribe'
    }

    sql_check = build_sql_select_all_query(sql_scheme)

    res_dict = open_sql_all(sql_check, first=True,
                            is_closing=False)  # check if exists
    res = res_dict['result'][0]
    if res == -1 or not res:
        return make_response([], [], code=4)
    db = res_dict['db']
    crs = res_dict['cursor']

    if res:
        sql_scheme = {
            'columns_names': ['isDeleted'],
            'columns_values': [1],
            'condition': {
                'id': res['id']
            },
            'table': 'Subscribe'
        }
        exec_sql(build_sql_update_query(sql_scheme),
                 first=False,
                 cursor=crs,
                 is_closing=False)

        keys = ['thread', 'user']
        values = [res['thread'], res['user']]

    else:
        code = 1

    db.close()
    resp_dict = make_response(keys=keys, values=values, code=code)
    return flask.jsonify(resp_dict)
Exemplo n.º 8
0
def update_post(data):
    code = 0
    keys = []
    values = []

    post_id = data['post']
    message = data['message']

    sql_scheme = {
        'columns_names': ['id'],
        'columns_values': [post_id],
        'table': 'Post'
    }

    sql_check = build_sql_select_all_query(sql_scheme)
    res = open_sql(sql_check)

    if res:
        sql_scheme = {
            'columns_names': ['message'],
            'columns_values': [message],
            'condition': {
                'id': post_id
            },
            'table': 'Post'
        }
        exec_sql(build_sql_update_query(sql_scheme))
        keys = [
            'date', 'dislikes', 'forum', 'id', 'isApproved', 'isDeleted',
            'isEdited', 'isHighlighted', 'isSpam', 'likes', 'message',
            'parent', 'points', 'thread', 'user'
        ]

        values = [
            res['date'], res['dislikes'], res['forum'], res['id'],
            res['isApproved'], res['isDeleted'], res['isEdited'],
            res['isHighlighted'], res['isSpam'], res['likes'], message,
            res['parent'], res['points'], res['thread'], res['user']
        ]
        values = [str(x) for x in values]
    else:
        code = 1

    resp_dict = make_response(keys=keys, values=values, code=code)
    return flask.jsonify(resp_dict)
Exemplo n.º 9
0
def unsubscribe_thread(data):
    code = 0
    keys = []
    values = []

    thread_id = data['thread']
    email = data['user']

    sql_scheme = {
        'columns_names': ['thread', 'user'],
        'columns_values': [thread_id, email],
        'table': 'Subscribe'
    }

    sql_check = build_sql_select_all_query(sql_scheme)

    res_dict = open_sql_all(sql_check, first=True, is_closing=False)  # check if exists
    res = res_dict['result'][0]
    if res == -1 or not res:
        return make_response([], [], code=4)
    db = res_dict['db']
    crs = res_dict['cursor']

    if res:
        sql_scheme = {
            'columns_names': ['isDeleted'],
            'columns_values': [1],
            'condition': {'id': res['id']},
            'table': 'Subscribe'
        }
        exec_sql(build_sql_update_query(sql_scheme), first=False, cursor=crs, is_closing=False)

        keys = ['thread', 'user']
        values = [res['thread'], res['user']]

    else:
        code = 1

    db.close()
    resp_dict = make_response(keys=keys, values=values, code=code)
    return flask.jsonify(resp_dict)
Exemplo n.º 10
0
def update_user(data):
    code = 0
    keys = []
    values = []

    about = data['about']
    user_email = data['user']
    name = data['name']

    sql_scheme = {
        'columns_names': ['email'],
        'columns_values': [user_email],
        'table': 'User'
    }

    sql_check = build_sql_select_all_query(sql_scheme)
    res = open_sql(sql_check)

    if res:
        sql_scheme = {
            'columns_names': ['name', 'about'],
            'columns_values': [name, about],
            'condition': {
                'email': user_email
            },
            'table': 'User'
        }
        exec_sql(build_sql_update_query(sql_scheme))

        user_data = {
            'user': [
                res['email'],
            ]
        }
        user_resp = get_details_user(user_data)['response']

    else:
        code = 1

    resp_dict = {'code': code, 'response': user_resp}
    return flask.jsonify(resp_dict)
Exemplo n.º 11
0
def update_thread(data):
    code = 0
    keys = []
    values = []

    thread_id = data['thread']
    message = data['message']
    slug = data['slug']

    sql_scheme = {
        'columns_names': ['id'],
        'columns_values': [thread_id],
        'table': 'Thread'
    }

    sql_check = build_sql_select_all_query(sql_scheme)
    res = open_sql(sql_check)

    if res:
        sql_scheme = {
            'columns_names': ['message', 'slug'],
            'columns_values': [message, slug],
            'condition': {'id': thread_id},
            'table': 'Thread'
        }
        sql_update = build_sql_update_query(sql_scheme)
        exec_sql(sql_update)

        keys = ['id', 'date', 'dislikes', 'forum', 'isClosed', 'isDeleted', 'likes', 'message', 'points', 'posts',
                'slug', 'title', 'user']

        values = [res['id'], str(res['date']), res['dislikes'], res['forum'], bool(res['isClosed']),
                  bool(res['isDeleted']), res['likes'], res['message'], res['points'], res['posts'], res['slug'],
                  res['title'], res['user']]
    else:
        code = 1

    resp_dict = make_response(keys=keys, values=values, code=code)
    return flask.jsonify(resp_dict)
Exemplo n.º 12
0
def remove_post(data):
    code = 0
    post = data['post']

    sql_scheme = {
        'columns_names': ['id'],
        'columns_values': [post],
        'table': 'Post'
    }

    sql_check = build_sql_select_all_query(sql_scheme)
    res = open_sql(sql_check)

    if res:
        sql_scheme = {
            'columns_names': ['isDeleted'],
            'columns_values': [1],
            'condition': {
                'id': post
            },
            'table': 'Post'
        }

        sql_update = build_sql_update_query(sql_scheme)
        sql = " update Thread set posts=posts-1 where id= %s " % res['thread']
        #return sql
        exec_message = exec_sql([sql_update, sql], multi=True)

        if exec_message != 0:
            code = 4

    if not res:
        code = 1

    keys = ['post']
    values = [post]

    resp_dict = make_response(keys, values, code)
    return flask.jsonify(resp_dict)
Exemplo n.º 13
0
def update_post(data):
    code = 0
    keys = []
    values = []

    post_id = data['post']
    message = data['message']

    sql_scheme = {
        'columns_names': ['id'],
        'columns_values': [post_id],
        'table': 'Post'
    }

    sql_check = build_sql_select_all_query(sql_scheme)
    res = open_sql(sql_check)

    if res:
        sql_scheme = {
            'columns_names': ['message'],
            'columns_values': [message],
            'condition': {'id': post_id},
            'table': 'Post'
        }
        exec_sql(build_sql_update_query(sql_scheme))
        keys = ['date', 'dislikes', 'forum', 'id', 'isApproved', 'isDeleted', 'isEdited', 'isHighlighted', 'isSpam',
                'likes', 'message', 'parent', 'points', 'thread', 'user']

        values = [res['date'], res['dislikes'], res['forum'], res['id'], res['isApproved'], res['isDeleted'],
                  res['isEdited'], res['isHighlighted'], res['isSpam'], res['likes'], message, res['parent'],
                  res['points'], res['thread'], res['user']]
        values = [str(x) for x in values]
    else:
        code = 1

    resp_dict = make_response(keys=keys, values=values, code=code)
    return flask.jsonify(resp_dict)
Exemplo n.º 14
0
def remove_post(data):
    code = 0
    post = data['post']

    sql_scheme = {
        'columns_names': ['id'],
        'columns_values': [post],
        'table': 'Post'
    }

    sql_check = build_sql_select_all_query(sql_scheme)
    res = open_sql(sql_check)

    if res:
        sql_scheme = {
            'columns_names': ['isDeleted'],
            'columns_values': [1],
            'condition': {'id': post},
            'table': 'Post'
        }

        sql_update = build_sql_update_query(sql_scheme)
        sql = " update Thread set posts=posts-1 where id= %s " % res['thread']
        #return sql
        exec_message = exec_sql([sql_update, sql], multi=True)

        if exec_message != 0:
            code = 4

    if not res:
        code = 1

    keys = ['post']
    values = [post]

    resp_dict = make_response(keys, values, code)
    return flask.jsonify(resp_dict)
Exemplo n.º 15
0
def unfollow_user(data):
    code = 1

    keys = []
    values = []
    resp_dict = {'code': code, 'response': []}

    email_1 = data['follower']
    email_2 = data['followee']

    sql_scheme_usr1 = {
        'columns_names': ['email'],
        'columns_values': [email_1],
        'table': 'User'
    }

    sql_scheme_usr2 = {
        'columns_names': ['email'],
        'columns_values': [email_2],
        'table': 'User'
    }

    sql_scheme_follow = {
        'columns_names': ['follower', 'followee'],
        'columns_values': [email_1, email_2],
        'table': 'Followers'
    }

    sql_check_usr1 = build_sql_select_all_query(sql_scheme_usr1)
    sql_check_usr2 = build_sql_select_all_query(sql_scheme_usr2)
    sql_check_follow = build_sql_select_all_query(sql_scheme_follow)

    res_usr1 = open_sql(sql_check_usr1)  # check if exists
    res_usr2 = open_sql(sql_check_usr2)
    res_follow = open_sql(sql_check_follow)

    if res_usr1 and res_usr2 and res_follow:

        sql_scheme_follow = {
            'columns_names': ['isDeleted'],
            'columns_values': [1],
            'table': 'Followers',
            'condition': {
                'id': res_follow['id']
            }
        }

        sql = build_sql_update_query(sql_scheme_follow)
        exec_message = exec_sql(sql)

        if exec_message != 0:
            code = 4

        usr_details = get_details_user({'user': [
            res_usr1['email'],
        ]})
        usr_details = usr_details['response']

        resp_dict = {'code': code, 'response': usr_details}
    else:
        code = 2
    #resp_dict = make_response(keys, values, code)

    return flask.jsonify(resp_dict)
Exemplo n.º 16
0
def restore_thread(data):
    code = 0
    if not data:
        resp_dict = make_response(keys=[], values=[], code=4)
        return flask.jsonify(resp_dict)

    thread = data['thread']

    sql_scheme = {
        'columns_names': ['id', 'isDeleted'],
        'columns_values': [thread, 1],
        'table': 'Thread'
    }

    #sql_check = build_sql_select_all_query(sql_scheme)
    #res = open_sql(sql_check)
    res = True
    if res:

        sql_scheme_post_cont = {
            'columns_names': ['thread'],
            'columns_values': [thread],
            'table': 'Post'
        }

        sql_post_count = build_sql_select_all_query(sql_scheme_post_cont, what='COUNT(*)')
        res_count_dict = open_sql_all(sql_post_count, first=True, is_closing=False)

        res_count = res_count_dict['result'][0]
        db = res_count_dict['db']
        crs = res_count_dict['cursor']

        posts_count = 0

        if res_count:
            posts_count = res_count['COUNT(*)']
        """
        TODO
        sql_scheme_thread_up = {
            'columns_names': ['isDeleted', 'posts'],
            'columns_values': [0, 'posts+'+str(posts_count)],
            'condition': {'id': thread},
            'table': 'Thread'
        }"""

        sql1 = 'update Thread set  posts=%s , isDeleted=0  where  id = %s' % (posts_count, thread)
        exec_sql(sql1, first=False, cursor=crs, is_closing=False)
        sql_scheme_post_up = {
            'columns_names': ['isDeleted'],
            'columns_values': [0],
            'condition': {'thread': thread},
            'table': 'Post'
        }
        sql2 = build_sql_update_query(sql_scheme_post_up)
        exec_sql(sql2, first=False, cursor=crs, is_closing=False)

        #if (exec_message1 == exec_message2) != 0:
        #    code = 4
    if not res:
        code = 1

    db.close()

    keys = ['thread']
    values = [thread]

    resp_dict = make_response(keys, values, code)
    return flask.jsonify(resp_dict)