aboutsummaryrefslogtreecommitdiff
path: root/api/social/create_relation.py
blob: 7451b6d0e3a9518cd6c3a44c2208bc57afd3d514 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
from flask import Blueprint, request
from db import cursor, connection
from auth.login_token import token_login
import time

def create_relation(user_1_id, user_2_id, relation_type):
    remove_relation(user_1_id, user_2_id)
    remove_relation(user_2_id, user_1_id)
    timestamp = int( time.time() * 1000 )
    cursor.execute("insert into social values (?, ?, ?, ?)",
            [user_1_id, user_2_id, relation_type, timestamp])
    connection.commit()

def remove_relation(user_1_id, user_2_id):
    cursor.execute("delete from social where user_1_id = ? and user_2_id = ?",
            [user_1_id, user_2_id])
    connection.commit

def create_relation_route(relation_type):
    def route():
        data = request.get_json()

        user_2_id = data.get("id") or ""
        token = request.cookies.get("token") or ""

        if not token: return "", 401
        user_1_id = token_login(token) or ""

        if not user_1_id or \
           not user_2_id:
               return "", 403

        create_relation(user_1_id, user_2_id, relation_type)
        return "", 200
    return route


friend_request = Blueprint('friend_request', __name__)
friend_request.add_url_rule('/request', 'route', create_relation_route("outgoing"), methods = ["POST"])

block = Blueprint('block', __name__)
block.add_url_rule('/block', 'route', create_relation_route("block"), methods = ["POST"])

dynamic_routes = [
        ["/social", friend_request],
        ["/social", block]
        ]