Files
MyManagingTools/src/components/admin/AdminApp.py

75 lines
2.9 KiB
Python

import json
import logging
from fasthtml.fastapp import fast_app
from components.admin.constants import Routes
from core.instance_manager import debug_session, InstanceManager
admin_app, rt = fast_app()
logger = logging.getLogger("admin")
@rt(Routes.AiBuddy)
def get(session, _id: str, boundaries: str):
logger.debug(f"Entering {Routes.AiBuddy} - GET with args {debug_session(session)}, {_id=}, {boundaries=}")
instance = InstanceManager.get(session, _id)
return instance.show_ai_buddy_form(json.loads(boundaries) if boundaries else None)
@rt(Routes.AiBuddy)
def post(session, _id: str, args: dict):
logger.debug(f"Entering {Routes.AiBuddy} - POST with args {debug_session(session)}, {_id=}, {args=}")
instance = InstanceManager.get(session, _id)
return instance.update_ai_buddy_settings(args)
@rt(Routes.AiBuddyCancel)
def post(session, _id: str):
logger.debug(f"Entering {Routes.AiBuddyCancel} with args {debug_session(session)}, {_id=}")
instance = InstanceManager.get(session, _id)
return instance.cancel_ai_buddy_settings()
@rt(Routes.ImportHolidays)
def get(session, _id: str, boundaries: str):
logger.debug(f"Entering {Routes.ImportHolidays} - GET with args {debug_session(session)}, {_id=}, {boundaries=}")
instance = InstanceManager.get(session, _id)
return instance.show_import_holidays_form(json.loads(boundaries) if boundaries else None)
@rt(Routes.PasteHolidays)
def post(session, _id: str, content: str):
logger.debug(f"Entering {Routes.PasteHolidays} with args {debug_session(session)}, {_id=}")
instance = InstanceManager.get(session, _id)
return instance.on_paste(content)
@rt(Routes.ImportHolidays)
def post(session, _id: str):
logger.debug(f"Entering {Routes.ImportHolidays} with args {debug_session(session)}, {_id=}")
instance = InstanceManager.get(session, _id)
return instance.import_holidays()
@rt(Routes.ConfigureJira)
def get(session, _id: str, boundaries: str):
logger.debug(f"Entering {Routes.ConfigureJira} - GET with args {debug_session(session)}, {_id=}, {boundaries=}")
instance = InstanceManager.get(session, _id)
return instance.show_configure_jira(json.loads(boundaries) if boundaries else None)
@rt(Routes.ConfigureJira)
def post(session, _id: str, args: dict):
logger.debug(f"Entering {Routes.ConfigureJira} - POST with args {debug_session(session)}, {_id=}, {args=}")
instance = InstanceManager.get(session, _id)
return instance.update_jira_settings(args)
@rt(Routes.ConfigureJiraCancel)
def post(session, _id: str):
logger.debug(f"Entering {Routes.ConfigureJiraCancel} with args {debug_session(session)}, {_id=}")
instance = InstanceManager.get(session, _id)
return instance.cancel_jira_settings()
@rt(Routes.ConfigureJiraTest)
def post(session, _id: str, args: dict):
logger.debug(f"Entering {Routes.ConfigureJiraTest} with args {debug_session(session)}, {_id=}, {args=}")
instance = InstanceManager.get(session, _id)
return instance.test_jira_settings(args)