from flask import Flask, request, Response
import threading
import json
import os
import importlib
import sys

app = Flask(__name__)
app.CONFIG = None
app.PACKAGE = None
app.PORT = 18080
app.HOST = "0.0.0.0"


@app.route("/api/config", methods=["POST"])
def set_config():
    config = app.PACKAGE.Api().prefix_config()
    config.deserialize(request.data.decode("utf-8"))
    test = config.h
    if test is not None and isinstance(test, bool) is False:
        return Response(
            status=590,
            response=json.dumps({"detail": "invalid data type"}),
            headers={"Content-Type": "application/json"},
        )
    else:
        app.CONFIG = config
        return Response(status=200)


@app.route("/api/config", methods=["GET"])