KemoFureApi/modules/Archive/endpoints/query.py

28 lines
827 B
Python

from __future__ import annotations
import json
from flask_restful import Resource
from flask import current_app as app, jsonify, request
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from modules.Archive.database import Database
class Archive_Query(Resource):
def post(self):
query = request.data.decode("utf-8")
db : Database = app.databases["Archive"]
result = db.db.run_query(query)
if result is None:
response = app.response_class(status=400)
else:
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