|
import json
|
|
from aiohttp import web
|
|
|
|
from server import PromptServer
|
|
|
|
from .utils_server import is_param_truthy
|
|
from ..config import get_config, set_user_config, refresh_config
|
|
|
|
routes = PromptServer.instance.routes
|
|
|
|
@routes.get('/rgthree/config.js')
|
|
def api_get_user_config_file(request):
|
|
""" Returns the user configuration as a jsavascript file. """
|
|
data_str = json.dumps(get_config(), sort_keys=True, indent=2, separators=(",", ": "))
|
|
text = f'export const rgthreeConfig = {data_str}'
|
|
return web.Response(text=text, content_type='application/javascript')
|
|
|
|
|
|
@routes.get('/rgthree/api/config')
|
|
def api_get_user_config(request):
|
|
""" Returns the user configuration. """
|
|
if is_param_truthy(request, 'refresh'):
|
|
refresh_config()
|
|
return web.json_response(get_config())
|
|
|
|
|
|
@routes.post('/rgthree/api/config')
|
|
async def api_set_user_config(request):
|
|
""" Returns the user configuration. """
|
|
post = await request.post()
|
|
data = json.loads(post.get("json"))
|
|
set_user_config(data)
|
|
return web.json_response({"status": "ok"}) |