feat: settings 基础组件

This commit is contained in:
Junyan Qin
2024-10-15 00:07:40 +08:00
parent cd0a8fb24b
commit 7174742886
9 changed files with 258 additions and 9 deletions

View File

@@ -0,0 +1,41 @@
import quart
from .....core import app
from .. import group
@group.group_class('settings', '/api/v1/settings')
class SettingsRouterGroup(group.RouterGroup):
async def initialize(self) -> None:
@self.route('', methods=['GET'])
async def _() -> str:
return self.success(
data={
"managers": [
{
"name": m.name,
"description": m.description,
}
for m in self.ap.settings_mgr.get_manager_list()
]
}
)
@self.route('/<manager_name>', methods=['GET'])
async def _(manager_name: str) -> str:
manager = self.ap.settings_mgr.get_manager(manager_name)
return self.success(
data={
"manager": {
"name": manager.name,
"description": manager.description,
"schema": manager.schema,
"file": manager.file.config_file_name,
"data": manager.data
}
}
)

View File

@@ -16,4 +16,4 @@ class SystemRouterGroup(group.RouterGroup):
"version": constants.semantic_version,
"debug": constants.debug_mode
}
)
)