import json
from flask_restful import Resource
from flask import current_app as app
from flask import request

class KF3_Friends(Resource):
    def get(self):
        from ..database import Database
        db : Database = app.databases["KF3"]

        result = []
        for value in db.processed_friends.values():
            result.append({"id": value["id"], "name": value["nameEn"], "startTime" : value["startTime"], "startTimeRaw" : value["startTimeRaw"]})

        sort_arg = request.args["sort"] if "sort" in request.args and request.args["sort"] in result[0] else "id"
        if sort_arg == "startTime":
            sort_arg = "startTimeRaw"

        result = sorted(result, key=lambda f: f[sort_arg])

        response = app.response_class(
            response=json.dumps(result, ensure_ascii=False, indent=1),
            status=200,
            mimetype='application/json'
        )
        response.headers.add("Access-Control-Allow-Origin", "*")

        return response