|
import datetime
|
|
|
|
import flask
|
|
import src.functions.config
|
|
|
|
configBP = flask.Blueprint("config", __name__)
|
|
|
|
import main
|
|
|
|
|
|
@configBP.route("/api/v1/config", methods=["GET", "POST"])
|
|
async def configFunction():
|
|
secret = flask.request.args.get("secret")
|
|
config = src.functions.config.readConfig()
|
|
|
|
if flask.request.method == "GET":
|
|
if secret == config.get("secret_key"):
|
|
return (
|
|
flask.jsonify(
|
|
{
|
|
"code": 200,
|
|
"content": config,
|
|
"message": "Config authentication completed successfully.",
|
|
"success": True,
|
|
}
|
|
),
|
|
200,
|
|
)
|
|
else:
|
|
return (
|
|
flask.jsonify(
|
|
{
|
|
"code": 401,
|
|
"message": "The secret key provided was incorrect.",
|
|
"success": False,
|
|
}
|
|
),
|
|
401,
|
|
)
|
|
elif flask.request.method == "POST":
|
|
if secret == None:
|
|
secret = ""
|
|
if secret == config.get("secret_key"):
|
|
data = flask.request.json
|
|
data["token_expiry"] = str(datetime.datetime.utcnow())
|
|
if data.get("category_list") != config.get("category_list"):
|
|
src.functions.config.updateConfig(data)
|
|
main.threaded_metadata()
|
|
else:
|
|
src.functions.config.updateConfig(data)
|
|
return (
|
|
flask.jsonify(
|
|
{
|
|
"code": 200,
|
|
"content": None,
|
|
"message": "libDrive is updating your config",
|
|
"success": True,
|
|
}
|
|
),
|
|
200,
|
|
)
|
|
else:
|
|
return (
|
|
flask.jsonify(
|
|
{
|
|
"code": 401,
|
|
"content": None,
|
|
"message": "The secret key provided was incorrect.",
|
|
"success": False,
|
|
}
|
|
),
|
|
401,
|
|
)
|
|
|