KemoFureApi/modules/Archive/endpoints/query.py

20 lines
616 B
Python

from __future__ import annotations
from flask_restful import Resource
from flask import current_app as app, request
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from modules.Archive.database import Database
class Query(Resource):
def post(self):
query = request.data.decode("utf-8")
db : Database = app.databases["Archive"]
status, result = db.db.run_query(query)
if status:
result = [list(d.values()) for d in result]
return db.wrap_query_response(result)
else:
return db.wrap_query_response(None, error = result)