Added first graphene models
This commit is contained in:
@@ -12,6 +12,7 @@ from eventlet import wsgi
|
||||
from flask import Flask, request, jsonify, Response
|
||||
from flask_cors import CORS
|
||||
from flask_socketio import SocketIO
|
||||
from graphql_server.flask import GraphQLView
|
||||
from werkzeug.exceptions import NotFound
|
||||
|
||||
from bot_api.configuration.api_settings import ApiSettings
|
||||
@@ -22,6 +23,7 @@ from bot_api.exception.service_exception import ServiceException
|
||||
from bot_api.logging.api_logger import ApiLogger
|
||||
from bot_api.model.error_dto import ErrorDTO
|
||||
from bot_api.route.route import Route
|
||||
from bot_data.graphql.schema import schema
|
||||
|
||||
|
||||
class Api(Flask):
|
||||
@@ -62,6 +64,15 @@ class Api(Flask):
|
||||
|
||||
self._requests = {}
|
||||
|
||||
self.add_url_rule(
|
||||
'/api/graphql',
|
||||
view_func=GraphQLView.as_view(
|
||||
'graphql',
|
||||
schema=schema,
|
||||
graphiql=True # for having the GraphiQL interface
|
||||
)
|
||||
)
|
||||
|
||||
@staticmethod
|
||||
def _get_methods_from_registered_route() -> Union[list[str], str]:
|
||||
methods = ['Unknown']
|
||||
|
@@ -47,6 +47,7 @@ class ApiModule(ModuleABC):
|
||||
services.add_transient(GuiController)
|
||||
services.add_transient(DiscordService)
|
||||
services.add_transient(ServerController)
|
||||
#services.add_transient(GraphQLController)
|
||||
|
||||
# cpl-discord
|
||||
self._dc.add_event(DiscordEventTypesEnum.on_ready.value, BotApiOnReadyEvent)
|
||||
|
32
kdb-bot/src/bot_api/controller/graphql_controller.py
Normal file
32
kdb-bot/src/bot_api/controller/graphql_controller.py
Normal file
@@ -0,0 +1,32 @@
|
||||
import os
|
||||
|
||||
from cpl_core.configuration import ConfigurationABC
|
||||
from cpl_core.environment import ApplicationEnvironmentABC
|
||||
from cpl_core.mailing import EMail, EMailClientABC, EMailClientSettings
|
||||
from cpl_translation import TranslatePipe
|
||||
from flask import jsonify, request
|
||||
|
||||
from bot_api.api import Api
|
||||
from bot_api.configuration.authentication_settings import AuthenticationSettings
|
||||
from bot_api.logging.api_logger import ApiLogger
|
||||
from bot_api.model.settings_dto import SettingsDTO
|
||||
from bot_api.model.version_dto import VersionDTO
|
||||
from bot_api.route.route import Route
|
||||
|
||||
|
||||
class GraphQLController:
|
||||
BasePath = f'/api/graphql'
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
config: ConfigurationABC,
|
||||
env: ApplicationEnvironmentABC,
|
||||
logger: ApiLogger,
|
||||
):
|
||||
self._config = config
|
||||
self._env = env
|
||||
self._logger = logger
|
||||
|
||||
@Route.get(f'{BasePath}')
|
||||
async def graphql(self):
|
||||
return '', 200
|
Reference in New Issue
Block a user