From 649ace7e196d43bd952ebbc3970e75de5712a618 Mon Sep 17 00:00:00 2001 From: jingrow Date: Tue, 17 Mar 2026 18:49:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0workspace=E5=90=8E=E7=AB=AFap?= =?UTF-8?q?i=E7=AB=AF=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../desk/pagetype/workspace/workspace.py | 92 +++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 apps/jingrow/jingrow/desk/pagetype/workspace/workspace.py diff --git a/apps/jingrow/jingrow/desk/pagetype/workspace/workspace.py b/apps/jingrow/jingrow/desk/pagetype/workspace/workspace.py new file mode 100644 index 0000000..2bc4d3c --- /dev/null +++ b/apps/jingrow/jingrow/desk/pagetype/workspace/workspace.py @@ -0,0 +1,92 @@ +# Copyright (c) 2025, JINGROW and contributors +# For license information, please see license.txt + +""" +Workspace whitelist functions - Forward to SaaS using unified HTTP client +""" + +import jingrow +import logging +from jingrow.utils.auth import saas_post + +logger = logging.getLogger(__name__) + + +@jingrow.whitelist() +def new_page(**kwargs): + """New workspace page - Forward to SaaS""" + resp = saas_post('/api/action/jingrow.desk.pagetype.workspace.workspace.new_page', json=kwargs) + if resp.status_code == 200: + return resp.json().get("message") + logger.error(f"[new_page] SaaS error: {resp.status_code}") + return None + + +@jingrow.whitelist() +def save_page(**kwargs): + """Save workspace page - Forward to SaaS""" + resp = saas_post('/api/action/jingrow.desk.pagetype.workspace.workspace.save_page', json=kwargs) + if resp.status_code == 200: + return resp.json().get("message") + logger.error(f"[save_page] SaaS error: {resp.status_code}") + return None + + +@jingrow.whitelist() +def update_page(**kwargs): + """Update workspace page - Forward to SaaS""" + resp = saas_post('/api/action/jingrow.desk.pagetype.workspace.workspace.update_page', json=kwargs) + if resp.status_code == 200: + return resp.json().get("message") + logger.error(f"[update_page] SaaS error: {resp.status_code}") + return None + + +@jingrow.whitelist() +def hide_page(**kwargs): + """Hide workspace page - Forward to SaaS""" + resp = saas_post('/api/action/jingrow.desk.pagetype.workspace.workspace.hide_page', json=kwargs) + if resp.status_code == 200: + return resp.json().get("message") + logger.error(f"[hide_page] SaaS error: {resp.status_code}") + return None + + +@jingrow.whitelist() +def unhide_page(**kwargs): + """Unhide workspace page - Forward to SaaS""" + resp = saas_post('/api/action/jingrow.desk.pagetype.workspace.workspace.unhide_page', json=kwargs) + if resp.status_code == 200: + return resp.json().get("message") + logger.error(f"[unhide_page] SaaS error: {resp.status_code}") + return None + + +@jingrow.whitelist() +def duplicate_page(**kwargs): + """Duplicate workspace page - Forward to SaaS""" + resp = saas_post('/api/action/jingrow.desk.pagetype.workspace.workspace.duplicate_page', json=kwargs) + if resp.status_code == 200: + return resp.json().get("message") + logger.error(f"[duplicate_page] SaaS error: {resp.status_code}") + return None + + +@jingrow.whitelist() +def delete_page(**kwargs): + """Delete workspace page - Forward to SaaS""" + resp = saas_post('/api/action/jingrow.desk.pagetype.workspace.workspace.delete_page', json=kwargs) + if resp.status_code == 200: + return resp.json().get("message") + logger.error(f"[delete_page] SaaS error: {resp.status_code}") + return None + + +@jingrow.whitelist() +def sort_pages(**kwargs): + """Sort workspace pages - Forward to SaaS""" + resp = saas_post('/api/action/jingrow.desk.pagetype.workspace.workspace.sort_pages', json=kwargs) + if resp.status_code == 200: + return resp.json().get("message") + logger.error(f"[sort_pages] SaaS error: {resp.status_code}") + return None