From a69b5df8beddb4a9b492e29ba32747c368666239 Mon Sep 17 00:00:00 2001 From: lonkaars Date: Fri, 12 Mar 2021 15:24:25 +0100 Subject: friend request api endpoints --- api/social/create_relation.py | 49 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 api/social/create_relation.py (limited to 'api/social/create_relation.py') diff --git a/api/social/create_relation.py b/api/social/create_relation.py new file mode 100644 index 0000000..7451b6d --- /dev/null +++ b/api/social/create_relation.py @@ -0,0 +1,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] + ] + + -- cgit v1.2.3