From 76d7a5e62140bf4400d7cee2812a17f5721ad40e Mon Sep 17 00:00:00 2001 From: jingrow Date: Fri, 25 Jul 2025 22:22:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0Jsite=20Server?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jcloud/pagetype/jsite_server/__init__.py | 0 .../pagetype/jsite_server/jsite_server.js | 8 + .../pagetype/jsite_server/jsite_server.json | 191 ++++++++++++++++++ .../pagetype/jsite_server/jsite_server.py | 33 +++ .../jsite_server/test_jsite_server.py | 9 + 5 files changed, 241 insertions(+) create mode 100644 jcloud/jcloud/pagetype/jsite_server/__init__.py create mode 100644 jcloud/jcloud/pagetype/jsite_server/jsite_server.js create mode 100644 jcloud/jcloud/pagetype/jsite_server/jsite_server.json create mode 100644 jcloud/jcloud/pagetype/jsite_server/jsite_server.py create mode 100644 jcloud/jcloud/pagetype/jsite_server/test_jsite_server.py diff --git a/jcloud/jcloud/pagetype/jsite_server/__init__.py b/jcloud/jcloud/pagetype/jsite_server/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/jcloud/jcloud/pagetype/jsite_server/jsite_server.js b/jcloud/jcloud/pagetype/jsite_server/jsite_server.js new file mode 100644 index 0000000..1a8274d --- /dev/null +++ b/jcloud/jcloud/pagetype/jsite_server/jsite_server.js @@ -0,0 +1,8 @@ +// Copyright (c) 2025, Jingrow and contributors +// For license information, please see license.txt + +// jingrow.ui.form.on("Jsite Server", { +// refresh(frm) { + +// }, +// }); diff --git a/jcloud/jcloud/pagetype/jsite_server/jsite_server.json b/jcloud/jcloud/pagetype/jsite_server/jsite_server.json new file mode 100644 index 0000000..3324471 --- /dev/null +++ b/jcloud/jcloud/pagetype/jsite_server/jsite_server.json @@ -0,0 +1,191 @@ +{ + "actions": [], + "allow_rename": 1, + "creation": "2025-01-27 10:00:00", + "editable_grid": 1, + "engine": "InnoDB", + "field_order": [ + "title", + "team", + "column_break_4", + "status", + "plan", + "server_section", + "instance_id", + "cpu", + "disk_size", + "region", + "column_break_aliyun", + "end_date", + "memory", + "bandwidth", + "ip", + "ssh_section", + "ssh_user", + "ssh_port", + "column_break_20", + "root_public_key" + ], + "fields": [ + { + "default": "Pending", + "fieldname": "status", + "fieldtype": "Select", + "in_list_view": 1, + "in_standard_filter": 1, + "label": "状态", + "options": "Pending\nInstalling\nActive\nBroken\nArchived", + "read_only": 1, + "reqd": 1 + }, + { + "fieldname": "title", + "fieldtype": "Data", + "label": "标题", + "reqd": 1 + }, + { + "fieldname": "column_break_4", + "fieldtype": "Column Break" + }, + { + "fieldname": "team", + "fieldtype": "Link", + "label": "团队", + "options": "Team" + }, + { + "fieldname": "plan", + "fieldtype": "Link", + "label": "计划", + "options": "Server Plan" + }, + { + "fetch_from": "virtual_machine.public_ip_address", + "fieldname": "ip", + "fieldtype": "Data", + "in_list_view": 1, + "label": "公网IP", + "set_only_once": 1 + }, + { + "collapsible": 1, + "fieldname": "ssh_section", + "fieldtype": "Section Break", + "label": "SSH" + }, + { + "default": "root", + "fieldname": "ssh_user", + "fieldtype": "Data", + "label": "SSH用户" + }, + { + "default": "22", + "fieldname": "ssh_port", + "fieldtype": "Int", + "label": "SSH端口" + }, + { + "fieldname": "column_break_20", + "fieldtype": "Column Break" + }, + { + "fieldname": "root_public_key", + "fieldtype": "Code", + "label": "Root公钥" + }, + { + "fieldname": "column_break_aliyun", + "fieldtype": "Column Break" + }, + { + "fieldname": "instance_id", + "fieldtype": "Data", + "label": "实例ID", + "read_only": 1 + }, + { + "fieldname": "end_date", + "fieldtype": "Date", + "label": "到期时间" + }, + { + "fieldname": "region", + "fieldtype": "Data", + "label": "地域", + "read_only": 1 + }, + { + "collapsible": 1, + "fieldname": "server_section", + "fieldtype": "Section Break", + "label": "服务器信息" + }, + { + "fieldname": "bandwidth", + "fieldtype": "Data", + "label": "带宽(Mbps)", + "read_only": 1 + }, + { + "fieldname": "cpu", + "fieldtype": "Data", + "label": "CPU", + "read_only": 1 + }, + { + "fieldname": "memory", + "fieldtype": "Data", + "label": "内存", + "read_only": 1 + }, + { + "fieldname": "disk_size", + "fieldtype": "Data", + "label": "硬盘容量", + "read_only": 1 + } + ], + "index_web_pages_for_search": 1, + "links": [], + "modified": "2025-07-25 22:37:43.914945", + "modified_by": "Administrator", + "module": "Jcloud", + "name": "Jsite Server", + "naming_rule": "Set by user", + "owner": "Administrator", + "pagetype": "PageType", + "permissions": [ + { + "create": 1, + "delete": 1, + "email": 1, + "export": 1, + "print": 1, + "read": 1, + "report": 1, + "role": "System Manager", + "share": 1, + "write": 1 + }, + { + "create": 1, + "read": 1, + "role": "Jcloud Admin", + "write": 1 + }, + { + "create": 1, + "read": 1, + "role": "Jcloud Member", + "write": 1 + } + ], + "quick_entry": 1, + "row_format": "Dynamic", + "sort_field": "modified", + "sort_order": "DESC", + "states": [], + "title_field": "title" +} \ No newline at end of file diff --git a/jcloud/jcloud/pagetype/jsite_server/jsite_server.py b/jcloud/jcloud/pagetype/jsite_server/jsite_server.py new file mode 100644 index 0000000..0f5013c --- /dev/null +++ b/jcloud/jcloud/pagetype/jsite_server/jsite_server.py @@ -0,0 +1,33 @@ +# Copyright (c) 2025, Jingrow and contributors +# For license information, please see license.txt + +# import jingrow +from jingrow.model.document import Document + + +class JsiteServer(Document): + # begin: auto-generated types + # This code is auto-generated. Do not modify anything in this block. + + from typing import TYPE_CHECKING + + if TYPE_CHECKING: + from jingrow.types import DF + + bandwidth: DF.Data | None + cpu: DF.Data | None + disk_size: DF.Data | None + end_date: DF.Date | None + instance_id: DF.Data | None + ip: DF.Data | None + memory: DF.Data | None + plan: DF.Link | None + region: DF.Data | None + root_public_key: DF.Code | None + ssh_port: DF.Int + ssh_user: DF.Data | None + status: DF.Literal["Pending", "Installing", "Active", "Broken", "Archived"] + team: DF.Link | None + title: DF.Data + # end: auto-generated types + pass diff --git a/jcloud/jcloud/pagetype/jsite_server/test_jsite_server.py b/jcloud/jcloud/pagetype/jsite_server/test_jsite_server.py new file mode 100644 index 0000000..fba309e --- /dev/null +++ b/jcloud/jcloud/pagetype/jsite_server/test_jsite_server.py @@ -0,0 +1,9 @@ +# Copyright (c) 2025, Jingrow and Contributors +# See license.txt + +# import jingrow +from jingrow.tests.utils import JingrowTestCase + + +class TestJsiteServer(JingrowTestCase): + pass