diff --git a/apps/jingrow/jingrow/core/pagetype/user/__init__.py b/apps/jingrow/jingrow/core/pagetype/user/__init__.py new file mode 100644 index 0000000..8f76c59 --- /dev/null +++ b/apps/jingrow/jingrow/core/pagetype/user/__init__.py @@ -0,0 +1 @@ +# Core pagetype user package diff --git a/apps/jingrow/jingrow/core/pagetype/user/user.py b/apps/jingrow/jingrow/core/pagetype/user/user.py new file mode 100644 index 0000000..9a30c5f --- /dev/null +++ b/apps/jingrow/jingrow/core/pagetype/user/user.py @@ -0,0 +1,31 @@ +# Copyright (c) 2025, JINGROW and contributors +# For license information, please see license.txt + +""" +User 相关白名单函数 - 转发到 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 get_all_roles(**kwargs): + """获取所有角色 - 转发到 SaaS 端""" + url = f"{Config.jingrow_server_url}/api/action/jingrow.core.pagetype.user.user.get_all_roles" + 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"[user.get_all_roles] SaaS error: {resp.status_code}") + return [] diff --git a/apps/jingrow/jingrow/desk/__init__.py b/apps/jingrow/jingrow/desk/__init__.py new file mode 100644 index 0000000..883c749 --- /dev/null +++ b/apps/jingrow/jingrow/desk/__init__.py @@ -0,0 +1 @@ +# Desk package diff --git a/apps/jingrow/jingrow/desk/form/__init__.py b/apps/jingrow/jingrow/desk/form/__init__.py new file mode 100644 index 0000000..41ab610 --- /dev/null +++ b/apps/jingrow/jingrow/desk/form/__init__.py @@ -0,0 +1 @@ +# Desk form package diff --git a/apps/jingrow/jingrow/desk/form/load.py b/apps/jingrow/jingrow/desk/form/load.py new file mode 100644 index 0000000..2971f12 --- /dev/null +++ b/apps/jingrow/jingrow/desk/form/load.py @@ -0,0 +1,31 @@ +# Copyright (c) 2025, JINGROW and contributors +# For license information, please see license.txt + +""" +Form load 相关白名单函数 - 转发到 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 getdoc(**kwargs): + """获取文档 - 转发到 SaaS 端""" + url = f"{Config.jingrow_server_url}/api/action/jingrow.desk.form.load.getdoc" + 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"[form.load.getdoc] SaaS error: {resp.status_code}") + return {} diff --git a/apps/jingrow/jingrow/desk/pagetype/__init__.py b/apps/jingrow/jingrow/desk/pagetype/__init__.py new file mode 100644 index 0000000..3dd8811 --- /dev/null +++ b/apps/jingrow/jingrow/desk/pagetype/__init__.py @@ -0,0 +1 @@ +# Desk pagetype package diff --git a/apps/jingrow/jingrow/desk/pagetype/dashboard_chart/__init__.py b/apps/jingrow/jingrow/desk/pagetype/dashboard_chart/__init__.py new file mode 100644 index 0000000..79d7111 --- /dev/null +++ b/apps/jingrow/jingrow/desk/pagetype/dashboard_chart/__init__.py @@ -0,0 +1 @@ +# Dashboard chart package diff --git a/apps/jingrow/jingrow/desk/pagetype/dashboard_chart/dashboard_chart.py b/apps/jingrow/jingrow/desk/pagetype/dashboard_chart/dashboard_chart.py new file mode 100644 index 0000000..443294a --- /dev/null +++ b/apps/jingrow/jingrow/desk/pagetype/dashboard_chart/dashboard_chart.py @@ -0,0 +1,31 @@ +# Copyright (c) 2025, JINGROW and contributors +# For license information, please see license.txt + +""" +Dashboard Chart 相关白名单函数 - 转发到 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 get(**kwargs): + """获取 Dashboard Chart - 转发到 SaaS 端""" + url = f"{Config.jingrow_server_url}/api/action/jingrow.desk.pagetype.dashboard_chart.dashboard_chart.get" + 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"[dashboard_chart.get] SaaS error: {resp.status_code}") + return {} diff --git a/apps/jingrow/jingrow/desk/pagetype/dashboard_chart_source/__init__.py b/apps/jingrow/jingrow/desk/pagetype/dashboard_chart_source/__init__.py new file mode 100644 index 0000000..48adaf3 --- /dev/null +++ b/apps/jingrow/jingrow/desk/pagetype/dashboard_chart_source/__init__.py @@ -0,0 +1 @@ +# Dashboard chart source package diff --git a/apps/jingrow/jingrow/desk/pagetype/dashboard_chart_source/dashboard_chart_source.py b/apps/jingrow/jingrow/desk/pagetype/dashboard_chart_source/dashboard_chart_source.py new file mode 100644 index 0000000..fd2b0a2 --- /dev/null +++ b/apps/jingrow/jingrow/desk/pagetype/dashboard_chart_source/dashboard_chart_source.py @@ -0,0 +1,31 @@ +# Copyright (c) 2025, JINGROW and contributors +# For license information, please see license.txt + +""" +Dashboard Chart Source 相关白名单函数 - 转发到 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 get_config(**kwargs): + """获取 Chart Source 配置 - 转发到 SaaS 端""" + url = f"{Config.jingrow_server_url}/api/action/jingrow.desk.pagetype.dashboard_chart_source.dashboard_chart_source.get_config" + 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"[dashboard_chart_source.get_config] SaaS error: {resp.status_code}") + return {}