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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
from flask import Blueprint, request
from db import cursor, connection
from hierarchy import auth_required
from user.info import format_user
import time
def format_user_list(user_ids, viewer=None):
formatted_request_list = []
for user_1_id in user_ids:
formatted_request_list.append(format_user(user_1_id, viewer))
return formatted_request_list
requests = Blueprint('requests', __name__)
@requests.route("/requests")
@auth_required("user")
def route(user_2_id):
# get a list of friend requests
request_list = cursor.execute(
"select user_1_id from social where user_2_id = ? and type = \"outgoing\"",
[user_2_id]
).fetchall()
return {"requests": format_user_list([q[0] for q in request_list])}, 200
friends = Blueprint('friends', __name__)
@friends.route("/friends")
@auth_required("user")
def route(user_id):
# get a list of friend requests
request_list = cursor.execute(
"select user_1_id, user_2_id from social where (user_1_id = ? or user_2_id = ?) and type = \"friendship\"",
[user_id, user_id]
).fetchall()
friend_id_list = [q[0] if q[1] == user_id else q[1] for q in request_list]
return {"friends": format_user_list(friend_id_list)}, 200
blocked = Blueprint('blocked', __name__)
@blocked.route("/blocked")
@auth_required("user")
def route(user_id):
# get a list of friend requests
request_list = cursor.execute(
"select user_2_id from social where user_1_id = ? and type = \"block\"",
[user_id]
).fetchall()
return {"blocked": format_user_list([q[0] for q in request_list])}, 200
dynamic_routes = [
["/social/list", requests], ["/social/list", friends],
["/social/list", blocked]
]
|