From da56acd469aa3dc07f9316f8543f7b32fe29deda Mon Sep 17 00:00:00 2001 From: lonkaars Date: Tue, 9 Mar 2021 15:04:42 +0100 Subject: search function working :tada: --- api/social/search.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 api/social/search.py (limited to 'api/social') diff --git a/api/social/search.py b/api/social/search.py new file mode 100644 index 0000000..712d0b8 --- /dev/null +++ b/api/social/search.py @@ -0,0 +1,26 @@ +from flask import Blueprint, request +from db import cursor +from user.info import format_user +import json + +search = Blueprint('search', __name__) + +@search.route('/search', methods = ['GET', 'POST']) +def index(): + data_string = request.data or "{}" + data = json.loads(data_string) + query = data.get("query") or "" + if not query: return "", 400 + if len(query) < 3: return "", 403 + + results = cursor.execute("select user_id from users where levenshtein(username, ?, 3)", [query]).fetchmany(20); + + formatted = { "results": [] } + + for user in results: + formatted["results"].append(format_user(user[0])) + + return formatted, 200 + +dynamic_route = ["/social", search] + -- cgit v1.2.3