diff --git a/apps/jingrow/jingrow/desk/query_report.py b/apps/jingrow/jingrow/desk/query_report.py new file mode 100644 index 0000000..b12f801 --- /dev/null +++ b/apps/jingrow/jingrow/desk/query_report.py @@ -0,0 +1,48 @@ +# Copyright (c) 2025, JINGROW and contributors +# For license information, please see license.txt + +""" +Query Report 相关白名单函数 - 转发到 SaaS 端 +""" + +import jingrow +import requests +import logging +from jingrow.config import Config +from jingrow.utils.auth import get_request_session_cookie + +logger = logging.getLogger(__name__) + + +@jingrow.whitelist() +def run(**kwargs): + """运行查询报表 - 转发到 SaaS 端""" + url = f"{Config.jingrow_server_url}/api/action/jingrow.desk.query_report.run" + headers = {"Accept": "application/json", "Content-Type": "application/json"} + + session_cookie = get_request_session_cookie() + if session_cookie: + headers["Cookie"] = f"sid={session_cookie}" + + resp = requests.post(url, headers=headers, json=kwargs, timeout=30) + if resp.status_code == 200: + return resp.json().get("message", {}) + logger.error(f"[query_report.run] SaaS error: {resp.status_code}") + return {} + + +@jingrow.whitelist() +def get_script(**kwargs): + """获取报表脚本 - 转发到 SaaS 端""" + url = f"{Config.jingrow_server_url}/api/action/jingrow.desk.query_report.get_script" + headers = {"Accept": "application/json", "Content-Type": "application/json"} + + session_cookie = get_request_session_cookie() + if session_cookie: + headers["Cookie"] = f"sid={session_cookie}" + + resp = requests.post(url, headers=headers, json=kwargs, timeout=30) + if resp.status_code == 200: + return resp.json().get("message", {}) + logger.error(f"[query_report.get_script] SaaS error: {resp.status_code}") + return {} diff --git a/apps/jingrow/jingrow/desk/search/__init__.py b/apps/jingrow/jingrow/desk/search/__init__.py new file mode 100644 index 0000000..92cb004 --- /dev/null +++ b/apps/jingrow/jingrow/desk/search/__init__.py @@ -0,0 +1 @@ +# Desk search package diff --git a/apps/jingrow/jingrow/desk/search/search.py b/apps/jingrow/jingrow/desk/search/search.py new file mode 100644 index 0000000..e930d6e --- /dev/null +++ b/apps/jingrow/jingrow/desk/search/search.py @@ -0,0 +1,31 @@ +# Copyright (c) 2025, JINGROW and contributors +# For license information, please see license.txt + +""" +Search 相关白名单函数 - 转发到 SaaS 端 +""" + +import jingrow +import requests +import logging +from jingrow.config import Config +from jingrow.utils.auth import get_request_session_cookie + +logger = logging.getLogger(__name__) + + +@jingrow.whitelist() +def search_link(**kwargs): + """搜索链接 - 转发到 SaaS 端""" + url = f"{Config.jingrow_server_url}/api/action/jingrow.desk.search.search_link" + headers = {"Accept": "application/json", "Content-Type": "application/json"} + + session_cookie = get_request_session_cookie() + if session_cookie: + headers["Cookie"] = f"sid={session_cookie}" + + resp = requests.post(url, headers=headers, json=kwargs, timeout=30) + if resp.status_code == 200: + return resp.json().get("message", []) + logger.error(f"[search_link] SaaS error: {resp.status_code}") + return []